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

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

如何解决如何在 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 举报,一经查实,本站将立刻删除。