在 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, Rwell, minbot, wellhead,'MEAN',OBS1welllayers)],
connectiondata=connectiondata,
perioddata=[(0,'STATUS','ACTIVE'),(0,'rate','maw_ts0'),
(1,'STATUS','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", (0,)),
("obs1head", "head", (1,))]}
maw.obs.initialize(filename=obs_file, digits=10, print_input=True, continuous=obs_dict)