文章目录
  1. 1. Modlfow的输入输出文件
    1. 1.1. 输入文件
    2. 1.2. NAM 文件(.nam)
      1. 1.2.1. list文件
      2. 1.2.2. BAS文件
      3. 1.2.3. PCG-求解器文件
      4. 1.2.4. BCF6
        1. 1.2.4.1. 第1行
        2. 1.2.4.2. 第2行
      5. 1.2.5. 第3行
      6. 1.2.6. 其余部分
      7. 1.2.7. RCH补给文件
      8. 1.2.8. RIV 文件
      9. 1.2.9. OC文件(output control)
        1. 1.2.9.1. 数字形式
        2. 1.2.9.2. 文字形式
      10. 1.2.10. CHD文件-水头文件
      11. 1.2.11. DIS离散文件
    3. 1.3. 输出文件
      1. 1.3.1. HDS文件-水头的二进制文件
      2. 1.3.2. DDN文件-降深的二进制文件
      3. 1.3.3. BGT文件-水量平衡文件
      4. 1.3.4. HVT文件-本次没用到

Modlfow的输入输出文件

本文主要是以modflow2005,且以安徽利辛区的文件为案例。

输入文件

NAM 文件(.nam)

这是一个总文件,其中写着该案例里面都包含哪些文件;
文件的后缀是.nam; 下面是一个详细的示例

LIST   53 '.\modflow_in\2018_2019_anhui.LST'
PCG    19 '.\modflow_in\han.pcg
BAS6  10 '.\modflow_in\2018_2019_anhui.BAS'
BCF6  11 '.\modflow_in\2018_2019_anhui.BCF'
RCH  18 '.\modflow_in\2018_2019_anhui.RCH'
OC  22 '.\modflow_in\2018_2019_anhui.OC'
CHD  30 '.\modflow_in\2006_2021_anhui.CHD'
DIS  34 '.\modflow_in\2018_2019_anhui.DIS'
DATA(BINARY) 150 '.\modflow_out\2018_2019_anhui.HDS'
DATA(BINARY) 151 '.\modflow_out\2018_2019_anhui.DDN'
DATA(BINARY) 154 '.\modflow_out\2018_2019_anhui.BGT'
DATA(BINARY) 152 '.\modflow_out\2018_2019_anhui.sig'
DATA(BINARY) 153 '.\modflow_out\2018_2019_anhui.HVT'

示例中的文件路径是采用相对路径,在viusal modflow2011中生成的是绝对路径,两者都可以,其实就是给fortran程序读,想一想只要fortran能读就行。

list文件

List文件是日志文件,记录着程序运行的过程和一些重要的输入输出变量。

BAS文件

模型的基础文件,由于模型的网格已经画好(Rows=”272” Layers=”2” Columns=”94”),所以会以数组的形式,指定每个cell是否激活,以及每个cell的高程,初始水头等。
第一个出现的数组是“Bnd for La 1yer”,是表示每个cell是激活状态,还是处于无效区。本案例中,每行94个值,出现272次;
layer1结束后是layer2

第二个出现的数组是初始水头“Starting Head for Layer 1”,数组的格式和出现顺序与上面是一样的。先layer1,后是layer2

PCG-求解器文件

modflow中有各种各样的方程求解,PCG求解时,需要输入相应的参数。
当不采用PCG求解器时,本文件也可以用其他文件代替,如Strongly Implicit Procedure Package Input(.sip)。

        MXITER ITER1 NPCOND
       hclose rclose        relax    nbpol     iprpcg   mutpcg      damp

        25        10         1
     .0010     1.e-2       1.0         0        10         1         1.

BCF6

Input for the Block-Centered Flow (BCF) Package

第1行

IBCFCB HDRY IWDFLG WETFCT IWETIT IHDWET
154 -1.00e+30 0 1.00e+00 1 0 0
IBCFCB 是fortran程序中的unit号,大于0时是将各cell的水平衡文件写入到该文件中,=0时代表不输出该项
HDRY cell没地下水的时候,水头变为多少,一般是-1.e30
IWDFLG 决定程序中是否启用wetting capability, =0是不采用
WETFCT 一个系数,用于cell从干变湿时计算初始水头
IWETIT 循环间隔,对于外部循环而言
IHDWET 计算cell从干变湿时计算初始水头-采用的方式;=0是5-32a,else 是5-32b

第2行

Ltype(NLAY)
3 3
第二行,模型有几层就有几个数,每个数是contains a combined code for each layer that specifies both the layer type (LAYCON) and the method of computing interblock conductance。
confined/unconfined—Transmissivity of the layer varies and is calculated from the saturated thickness and hydraulic conductivity. The storage coefficient may alternate between confined and unconfined values. Vertical flow from above is limited if the aquifer desaturates。

第3行

感觉是各项异性和各项同性的参数,每层一个数,并不是每一个cell赋值。
1.0代表是各向同性。不等于0时是K_COL/k_ROW

其余部分

之后是按照数组的形式,对每一个cell的以下变量赋值:

(1)primary storage coefficient;感觉是压力储存系数,案例中是6.e-5

(2)Conductivity

X -L0(本案例是0.5,每行第一个值是8.64的意思没看懂,转换单位?);
Vcont-L0 (is the vertical hydraulic conductivity divided by the thickness from a layer to the layer below (also called leakance);

(3) 然后是layer0的第2 storage,一般是给水度

     0     5.e-2 (10G11.4)                  -1 storage 2 Layer - 0

(4) 然后是Layer1的storage1(primary storage coefficient);X-方向传导度和给水度

     0        5. (10G11.4)                  -1 X-Conductivity Layer - 1
     0     1.e-1 (10G11.4)                  -1 storage 2 Layer - 1

RCH补给文件

该文件是地下水的补给文件,一般都会指定补给的位置和补给的大小,本案例中由于是和HYDRUS联合调用,已经在modflow程序中直接赋值;
同样处理的还有RIV输入文件.
NRCHOP 是补给的位置:1是最高那一层;3是水位所在那层;2是指定的层;
IRCHCB 是是一个选项和文件号:>0时会输出各river cell的水量平衡;=0时不输出;

     3       154  (NRCHOP  IRCHCB)
    18
     0        0. (15G11.4)                  -1 Recharge Period - 1
    18
     0        0. (15G11.4)                  -1 Recharge Period - 2
    18

默认的文件是指让每个应力期的各个cell补给均为0。

RIV 文件

modflow中的河流模块输入;
第一行MXACTR是229是指RIV的cell个数;IRIVCB是一个选项和文件号:>0时会输出各river cell的水量平衡;=0时不输出;

第二行开始为每个应力期的循环。229仍是个数;
之后每行数字是:

   layer      Row      Col  Stage     Cond    River_bot_z

   MXACTR-229       IRIVCB-154
   229
     1         3        14 2.70186e1 4.82407e2 2.51676e1
     1         2        14 2.70186e1 2.34609e2 2.51676e1
     1         6        15 2.70186e1 2.97759e2 2.51676e1
     1         5        15 2.70186e1  7.0974e2 2.51676e1
     1         4        15 2.70186e1  7.0974e2 2.51676e1
     1         8        16 2.70186e1  7.0974e2 2.51676e1
     1         7        16 2.70186e1  7.0974e2 2.51676e1
     1         6        16 2.70186e1 4.11981e2 2.51676e1
     1        11        17 2.70186e1 6.38204e2 2.51676e1
     1        10        17 2.70186e1  7.0974e2 2.51676e1
     1         9        17 2.70186e1 5.96629e2 2.51676e1
     1        14        18 2.70186e1 4.53556e2 2.51676e1
     1        13        18 2.70186e1  7.0974e2 2.51676e1
     .......

OC文件(output control)

数字形式

    IHEDFM    IDDNFM   IHENUN   IDDNUN
    然后是每个应力期循环
    INCODE   IHDDFL    IBUDFL   ICBCFL
    HDPR      DDPR      HDSV     DDSV
    然后是下个应力期循环....

     0         0       150       151
     0         1         1         1
     0         0         1         1
     0         1         1         1
     0         0         1         1
     0         1         1         1
     0         0         1         1
     0         1         1         1
     0         0         1         1
     0         1         1         1
     0         0         1         1

IHEDFM是输出水头的格式:IDDNFM是输出降深的格式;IHENUN和IDDNUN分别是输出水头和降深的文件号;
INCODE下一行将要读入文件的处理方式:<0和生一个应力期一样,下一行不用读;=0所有层一个处理方法;>0每层结果单独控制。
IHDDFL对于降深输出的控制变量:=0,不输出降深,不是0,看下一行的设置输出;
IBUDFL对于水均衡输出的控制变量:=0,不输出,不是0,看下一行的设置输出;
ICBCFL对于水均衡输出的控制变量:=0,不输出,不是0,看下一行的设置输出;

HDPR 水头的输出设置变量:=0时head is not printed for the corresponding layer;不为0时head is printed for the corresponding layer。
DDPR,HDSV,DDSV与HDPR类似

文字形式

# OC package for  MODFLOW-2005, generated by Flopy.
HEAD PRINT FORMAT   0
HEAD SAVE UNIT    51
DRAWDOWN PRINT FORMAT   0
DRAWDOWN SAVE UNIT    52
COMPACT BUDGET AUX

period 1 step 1 
  save head
  save drawdown
  save budget
  print head
  print budget

period 2 step 1 
  save head
  save drawdown
  save budget
  print head
  print budget

period 3 step 1 
  save head
  save drawdown
  save budget
  print head
  print budget

period 4 step 1 
  save head
  save drawdown
  save budget
  print head
  print budget

文字形式的输出格式通俗易懂,直接是按照应力期和时间步输入对应的文字。

CHD文件-水头文件

对于定水头或者变水头边界,需要将每个应力期的哪些cell水头已知,且开始和结束时的水头给出。

       204
       204
         2       256        16    25.351    25.260
         2       255        16    25.351    25.260
         2       255        17    25.351    25.260
         2       255        18    25.351    25.260
         2       254        18    25.351    25.260
         2       254        19    25.351    25.260
         2       253        19    25.351    25.260
         2       253        20    25.351    25.260
         2       252        20    25.351    25.260
         2       252        21    25.351    25.260
         2       252        22    25.351    25.260
         2       251        22    25.351    25.260
         2       251        23    25.351    25.260

DIS离散文件

模型的离散信息,前两行是注释
“#Discretization Package translator - (c) 2011 Schlumberger Water Services”
“#2018_2019_ANHUI.DIS Thu Nov 18 19:17:17 2021”

第三行: NLAY NROW NCOL NPER ITMUNI LENUNI
2 272 94 36500 4 2

ITMUNI是时间单位,0-未定义;1-秒;2-分;3-小时;4-天;5-年; LENUNI是长度单位:0-未定义;1-英尺;2-米;3-厘米;

第四行:LAYCBD,每层一个值;1代表是含水层底部有a Quasi-3D confining bed below it,0 代表没有,对于最下层肯定是没有。

第5行开始是空间离散,首先是一个数组DELR,数组大小等于COL数,每一个值代表第几列的宽度;第一行是 数字格式

下一个部分是每一行cell的长度DELC,其余类似。

下一个部分是地表高程,也是第一层(从上往下)含水层的上表面高程,一般都是地表高程;

下一个部分是模型的底部表面高程,或者bottom elevation of a model layer or a Quasi-3d confining bed。

最后一个部分是每个应力期内部的时间离散信息;

        PERLEN    NSTP    TSMULT  SS/tR
        1.         1        1.     TR
        1.         1        1.     TR
        1.         1        1.     TR
        1.         1        1.     TR
        1.         1        1.     TR
        1.         1        1.     TR
        

PERLEN是应力期长度;NSTP是该应力期分为几个step;TSMULT一个时间步长控制参数;SS/tR是代表该应力是瞬态还是稳态。


输出文件

HDS文件-水头的二进制文件

用flopy的工具包打开

DDN文件-降深的二进制文件

BGT文件-水量平衡文件

HVT文件-本次没用到

文章目录
  1. 1. Modlfow的输入输出文件
    1. 1.1. 输入文件
    2. 1.2. NAM 文件(.nam)
      1. 1.2.1. list文件
      2. 1.2.2. BAS文件
      3. 1.2.3. PCG-求解器文件
      4. 1.2.4. BCF6
        1. 1.2.4.1. 第1行
        2. 1.2.4.2. 第2行
      5. 1.2.5. 第3行
      6. 1.2.6. 其余部分
      7. 1.2.7. RCH补给文件
      8. 1.2.8. RIV 文件
      9. 1.2.9. OC文件(output control)
        1. 1.2.9.1. 数字形式
        2. 1.2.9.2. 文字形式
      10. 1.2.10. CHD文件-水头文件
      11. 1.2.11. DIS离散文件
    3. 1.3. 输出文件
      1. 1.3.1. HDS文件-水头的二进制文件
      2. 1.3.2. DDN文件-降深的二进制文件
      3. 1.3.3. BGT文件-水量平衡文件
      4. 1.3.4. HVT文件-本次没用到