0

我知道 Flopy 可以从 MF2005 数据集(例如flopy3_vtk_export.ipynb)导出 VTK 文件,但是我试图让该示例与 MODFLOW 6 数据集和一些代码编辑一起使用,但没有成功。

Flopy 是否真的支持从 MODFLOW 6 数据集导出 VTK,还是该功能尚不可用?

回复 Sarah Leray 的回复:
我尝试使用 vtk.export_heads 函数,发现模型对象似乎期待一些 MF6 公式中不存在的属性。您是否遇到过这个问题,如果遇到过,您是如何解决的?修改源代码?

import os
import sys
try:
    import flopy
except:
    fpth = os.path.abspath(os.path.join('..', '..'))
    sys.path.append(fpth)
    import flopy

from flopy.export import vtk

sim_name = "example_model"
sim_path = os.path.join("data", "flopy_mf6_tutorial")
heads_file_name = sim_name + ".hds"
heads_file = os.path.join(sim_path, heads_file_name)
head_output_folder = os.path.join(sim_path, "heads")

# load the simulation
loaded_sim = flopy.mf6.MFSimulation.load(sim_name, 'mf6', 'mf6', sim_path)

#export VTK heads
vtk.export_heads(loaded_sim, heads_file, head_output_folder, smooth=False, kstpkper=[(0,0)], point_scalars=False, nanval=-999.99)

...我得到一个“属性错误:详细”,因为 mf6.MFSimulation 中不存在详细信息(但在从 MF2005 等导出时使用的等效 modflow.Modflow 中存在)。我强制 verbose 为 False 只是为了让代码继续运行,然后有一个'attribute error: modelGrid',它看起来像是一个更实质和更复杂的缺失属性。

4

2 回答 2

1

我还想以 vtk 格式导出 modflow 6 模型的结果。例程存在(vtk.export_heads、vtk.export_model 等)。您可以查看这些页面: https ://flopy.readthedocs.io/en/3.3.2/source/flopy.export.vtk.html https://flopy.readthedocs.io/en/3.3.2/source/flopy .export.utils.html

不幸的是,我面临着非常长的计算时间。我有一个 200 万个网格模型,需要几个小时。目前,它正在瘫痪

如果您找到减少导出时间的方法,请告诉我!

于 2021-05-26T01:58:35.860 回答
0
# load the simulation
loaded_sim = flopy.mf6.MFSimulation.load(sim_name, 'mf6', 'mf6', sim_path)

#export VTK heads
vtk.export_heads(loaded_sim, heads_file, head_output_folder, smooth=False, kstpkper=[(0,0)], point_scalars=False, nanval=-999.99)

看起来您正在导出模拟,请尝试导出模拟,您可以使用这样的行:

vtk.export_model(loaded_sim.get_model(), head_output_folder)
于 2022-02-23T16:28:52.993 回答