0

如何在 Flopy MF6 的横截面视图中绘制放电矢量?

我知道这个平面图的情节:

quiver = mapview.plot_specific_discharge(spdis[0])

我尝试使用以下代码获得特定放电,但出现错误:

AttributeError: module 'flopy.utils.postprocessing' has no attribute 'get_specific_discharge'

代码:

hds_file = os.path.join(workspace, headfile)
hds = flopy.utils.binaryfile.HeadFile(hds_file)

cbb_file = os.path.join(workspace, budgetfile)
cbb = flopy.utils.CellBudgetFile(fname, precision='double')

q = flopy.utils.postprocessing.get_specific_discharge(gwf,cbb_file, precision='single', kstpkper=(0,1),
                                                  hdsfile=hds_file, position='centers')
4

1 回答 1

0

对我来说(使用 mf6)在横截面上绘制特定放电的工作原理如下:

读取 cbc 输出:

    cbcdobj = flopy.utils.binaryfile.CellBudgetFile(path, precision='double', verbose=True)
    SPDIS = cbcdobj.get_data(kstpkper=kstpkper, text='DATA-SPDIS')[0]

使用 mf2005 时,您可能需要使用 'verbose=False' 和 'precision=single'。

然后是横截面:

    cros_mp=flopy.plot.PlotCrossSection(model=gwf, line={'row': 200})  
    cros_mp.plot_specific_discharge(SPDIS) 

请注意,在不规则横截面(“线”,不是“行”或“列”)上绘制特定放电是不可能的。

于 2021-02-03T14:55:51.903 回答