微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决软盘 - 在充值包中分配时间序列

我一直在尝试使用时间序列、边界名称和乘数在 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 举报,一经查实,本站将立刻删除。