如何在 Flopy 中成功为 Modflow 6 的 MAW 创建 Time_Series 输入

问题描述

在 WEL 中,很容易为每个时间段设置不同的泵送速率,在 MAW 中我看不到此功能。可以设置每口井的抽水率,但不能为每个时间段设置。在 MAW 中,需要使用 time_series 来设置不同的泵送速率。不幸的是,软盘手册中对 time_series 的解释仍然很少。我花了一段时间才弄明白,所以我会把它贴在这里。看起来像以下作品。时间序列需要更多的工作,所以也许有人知道如何实际设置每个时间段的抽水率?

我发现带有这些变量的字典可以工作,并且可以作为时间序列提供给 ModflowGwfmaw。时间序列数据以(time,rate)形式给出。

ts_maw_file =   name + '.maw.ts'
ts_maw_pumpingrates = []
ts_maw_pumpingrates.append((0,0))
ts_maw_pumpingrates.append((tper,-1500))
ts_maw_pumpingrates.append((2*tper,0))

ts_dict = dict( [
     ('time_series_namerecord','maw_ts0'),('interpolation_methodrecord','stepwise'),('timeseries',ts_maw_pumpingrates),('filename',ts_maw_file),])

tper 是 1 个周期的持续时间。我现在可以制作一个 2 井系统,一个抽水井 (0) 和一个观察井 (1)。注意'rate'后面引用的time_series_namerecord,它必须与字典中的名称匹配。

maw = flopy.mf6.ModflowGwfmaw(gwf,nmawwells=2,packagedata=[(0,Rwell,minbot,wellhead,'MEAN',welllayers),(1,OBS1welllayers)],connectiondata=connectiondata,perioddata=[(0,'STATUS','ACTIVE'),(0,'rate','ACTIVE')],flowing_wells=False,save_flows=True,mover=True,observations = 'OBS1obs',flow_correction=True,budget_filerecord='OBS1wellbudget',print_flows=True,print_head=True,head_filerecord='OBS1wellhead',timeseries=ts_dict,)

并且观察文件按照我的另一个问题的答案中的描述完成:

obs_file = "{}.maw.obs".format(name)
csv_file = obs_file + ".csv"
obs_dict = {csv_file: [
                ("well1head","head",)),("obs1head",))]}

maw.obs.initialize(filename=obs_file,digits=10,print_input=True,continuous=obs_dict)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)