0

在 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)
4

0 回答 0