软盘 - 在充值包中分配时间序列

问题描述

我一直在尝试使用时间序列、边界名称和乘数在 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 (将#修改为@)