问题描述
我一直在尝试使用时间序列、边界名称和乘数在 Flopy 中分配瞬态充电,如下所示(请注意,我使用的是顶点离散化 (disV)):
rch_period = {}
rch_bcs = flopy.mf6.ModflowGwfrch.stress_period_data.empty(gwf,maxbound = disv.ncpl.get_data(),aux_vars=['MULTIPLIER'],boundnames='True',timeseries=True)
for ii in range(len(rch_bcs[0])):
if zones[ii] == 4:
rch_zone = 'Rch_bas'
else:
rch_zone = 'Rch_sed'
rch_bcs[0][ii]=((0,ii),'Rainfall',0.5,rch_zone)
rch_period[0] = list(rch_bcs[0])
pack_rch = flopy.mf6.ModflowGwfrch(gwf,fixed_cell=False,pname='Rainfall',auxiliary='MULTPLIER',auxmultname='MULTIPLIER',boundnames=True,stress_period_data = rch_period)
pack_rch.ts.initialize(filename='tseries_rch.ts',timeseries=ts_data_rain,time_series_namerecord='Rainfall',interpolation_methodrecord='stepwise')
这部分代码运行没有任何错误信息, 但是当我使用以下方法查看包装压力期数据时:
pack_rch.stress_period_data.get_data()
我得到以下信息:
{0: rec.array([(((0,0),'Rch_sed'),None,nan,None),(((0,1),'Rch_bas'),2),...,24865),24866),24867),None)],dtype=[('cellid','O'),('recharge',('MULTPLIER','<f8'),('boundname','O')])}
它返回压力期 0 的 rec.array 元组(这是我想要的),但元组被打乱了,如:
(((0,None)
((0,'Rch_sed')
对我在这里出错的地方有什么建议吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)