我如何获得 MODFLOW 6 模拟中的应力周期数?

How would I get the number of stress periods in a MODFLOW 6 simulation?

我可以使用软盘读取现有的 MODFLOW 6 模拟。mf6.MFSimulation.load。现在我想找出它有多少个压力周期,作为整数,由 tdis 包中的 nper 定义。最简单的方法是什么?

所以这就是诀窍,在 MODFLOW 6 的软盘 类 中,所有信息都存储为对象,包括整数、数组、浮点数等。这给了我们一些很好的优势,但它也使一些语法有点困难,尽管我们正在努力改进它。

这是一个非常简单的模型:

import flopy
sim = flopy.mf6.MFSimulation()
tdis = flopy.mf6.ModflowTdis(sim, nper=10)
gwf = flopy.mf6.ModflowGwf(sim)
dis = flopy.mf6.ModflowGwfdis(gwf)

如果我们尝试这样获取 nper:

nper = tdis.nper
print(nper)

然后我们取回 repr,如下所示:

{internal}
(10)

我们获取实际数据的方式是追加数组:

nper = tdis.nper.array
print(nper)
print(type(nper))

在这种情况下我们得到了想要的信息:

10
<class 'int'>

对于标量,我们正在考虑更改此行为,使其表现得像您想象的那样(直接返回值),但我们尚未实现。