Итак, вот хитрость: в классах flopy для 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'>
Для скаляров мы рассматриваем изменение этого поведения, чтобы оно велось так, как вы думаете (возвращая значение напрямую), но мы еще не реализовали это.