MF 6 Io
MF 6 Io
MF 6 Io
Figures
1. Schematic diagram showing the vertices and cells defined using the Discretization by Ver-
tices Package. The list of vertices used to define each cell must be in clockwise order. From
Langevin and others (2017) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2. Illustration of a simple stream network having seven reaches with a junction having two
reaches, a confluence of two reaches, and the resulting reach connectivity . . . . . . . . . . . . . . . . . . . . . 107
Tables
1. Character variable maximum sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Model types available in Version mf6.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3. Exchange types available in Version mf6.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4. IPRN Code and corresponding print formats for array readers. These print codes determine
how the user-provided array is written to the list file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4. IPRN Code and corresponding print formats for array readers. These print codes determine
how the user-provided array is written to the list file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5. Ftype values described in this report. The Pname column indicates whether or not a package
name can be provided in the name file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6. Available GWF model observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7. Available CSUB Package observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8. Available CHD Package observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
9. Available WEL Package observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
10. Available DRN Package observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
11. Available RIV Package observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
12. Available GHB Package observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
13. Available RCH Package observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
14. Available EVT Package observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
15. Available MAW Package observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
16. Available SFR Package observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
17. Available LAK Package observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
18. Available UZF Package observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
19. Available GWF-GWF Exchange observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
20. IMS variable values for the available complexity options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
21. Available observation types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
22. Budget file variations that depend on discretization package type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
vii
23. Types of information that may be contained in the GWF Model budget file . . . . . . . . . . . . . . . . . . . . . . 184
23. Types of information that may be contained in the GWF Model budget file . . . . . . . . . . . . . . . . . . . . . . 185
24. Data written to the CSUB Package compaction binary output files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
25. Data written to the LAK Package binary output file. Flow terms are listed in the order they are
written to the LAK Package binary output file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
26. Data written to the MAW Package binary output file. Flow terms are listed in the order they
are written to the MAW Package binary output file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
27. Data written to the SFR Package binary output file. Flow terms are listed in the order they are
written to the SFR Package binary output file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
28. Data written to the UZF Package binary output file. Flow terms are listed in the order they are
written to the UZF Package binary output file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
A–1. List of block names organized by component and input file type. OPEN/CLOSE indicates
whether or not the block information can be contained in separate file . . . . . . . . . . . . . . . . . . . . . . . A–1
viii
Blank page
Introduction
MODFLOW 6 is a command line executable program that reads input from ASCII text files, and
optionally from binary files. MODFLOW 6 writes simulation output to ASCII text and binary files. MOD-
FLOW 6 itself, like its predecessors, does not provide any graphical output, though users may decide to adopt
a Graphical User Interface (GUI) for preparing model input and visualizing model output. This document pro-
vides details on the format of the input files and the format of the output files. Details on the numerical meth-
ods and the underlying theory for MODFLOW 6 are described in separate reports (Hughes and others, 2017;
Langevin and others, 2017; Provost and others, 2017). Instructions for preparing the input or visualizing the
output is beyond the scope of this report.
Running a Simulation
MODFLOW 6 is run from the command line by entering the name of the MODFLOW 6 executable pro-
gram. If the run is successful, it will conclude with a statement about normal termination.
MODFLOW 6
U.S. GEOLOGICAL SURVEY MODULAR HYDROLOGIC MODEL
VERSION 6.1.1 06/12/2020
MODFLOW 6 compiled Jun 11 2020 17:47:19 with IFORT compiler (ver. 19.10.0)
This software has been approved for release by the U.S. Geological
Survey (USGS). Although the software has been subjected to rigorous
review, the USGS reserves the right to update the software as needed
pursuant to further analysis and review. No warranty, expressed or
implied, is made by the USGS or the U.S. Government as to the
functionality of the software and related material nor shall the
fact of release constitute any such warranty. Furthermore, the
software is released on condition that neither the USGS nor the U.S.
Government shall be held liable for any damages resulting from its
authorized or unauthorized use. Also refer to the USGS Water
Resources Software User Rights Notice for complete use, copyright,
and distribution information.
WARNING REPORT:
MODFLOW 6 includes a number of switches that can be passed to the program in order to get additional
information. The available switches can be found by running MODFLOW 6 with the -h switch, for help. In
this case MODFLOW 6 will produce the following.
mf6.exe - MODFLOW 6.1.1 06/12/2020 (compiled Jun 11 2020 17:47:19)
usage: mf6.exe run MODFLOW 6 using "mfsim.nam"
or: mf6.exe [options] retrieve program information
2 MODFLOW 6 – Description of Input and Output
[1] https://github.com/MODFLOW-USGS/modflow6/issues
MODFLOW 6 requires that a simulation name file (described in a subsequent section titled “Simulation Name
File”) be present in the working directory. This simulation name file must be named “mfsim.nam”. If the
mfsim.nam file is not located in the present working directory, then MODFLOW 6 will terminate with the fol-
lowing error.
ERROR REPORT:
During execution MODFLOW 6 creates a simulation output file, called a listing file, with the name
“mfsim.lst”. This file contains general simulation information, including information about exchanges between
models, timing, and solver progress. Separate listing files are also written for each individual model. These
listing files contains the details for the specific models.
In the event that MODFLOW 6 encounters an error, the error message is written to the command line win-
dow as well as to the simulation listing file. The error message will also contain the name of the file that was
being read when the error occurred, if possible. This information can be used to diagnose potential causes of
the error.
followed by the name of the block. MODFLOW 6 will terminate with an error if blocks do not begin and end
with the same name, or if a “BEGIN” or “END” line is missing. Information within a block differs depending
on the part of MODFLOW 6 that reads the block. In general, keywords are used within blocks to turn options
on or specify the type of information that follows the keyword. If an unrecognized keyword is encountered in a
block, MODFLOW 6 will terminate with an error.
The keyword approach is adopted in MODFLOW 6 to improve readability of the MODFLOW 6 input
files, enhance discovery of errors in input files, and improve support for backward compatibility by allowing
the program to expand in functionality while allowing previously developed models to be run with newer ver-
sions of the program.
Within these user instructions, keywords are shown in capital letters to differentiate them from other input
that is provided by the user. For example, “BEGIN” and “END” are recognized by MODFLOW 6 , and so
they are capitalized. Also, line indentation is used within these user instructions to help with readability of the
blocks. Typically, lines within a block are indented two spaces to accentuate that the lines are part of the block.
This indentation is not enforced by the program, but users are encouraged to use it within their own input files
to improve readability.
Unless stated otherwise in this user guide, information contained within a block can be listed in any order.
If the same keyword is provided more than once, then the program will use the last information provided by
that keyword.
Comment lines and blanks lines are also allowed within most blocks and within most input files. Valid
comment characters include “#” “!”, and “//”. Comments can also be placed at the end of some input lines,
after the required information. Comments are not allowed at the end of some lines if the program is required to
read an arbitrary number of non-keyword items. Comments included at the end of the line must be separated
from the rest of the line by at least one space.
Unless otherwise noted in the input instructions, multiple blocks of the same name cannot be specified in a
single input file. The block order within the input file must follow the order presented in the input instructions.
Each input file typically begins with an OPTIONS block, which is generally not required, followed by one or
more data blocks.
The following is an example of how the input instructions for a block are presented in this document.
BEGIN OPTIONS
[AUXILIARY <auxiliary(naux)>]
[PRINT_INPUT]
[MAXIMUM_ITERATION <maxsfrit>]
END OPTIONS
This example shows the items that may be specified with this OPTIONS block. Optional items are enclosed
between “[” and “]” symbols, and these optional items can be nested as shown with the “[AUXILIARY
<auxiliary(naux)>]” item. The “<” and “>” symbols indicate a variable that must be provided by the
user. In this case, auxiliary is an array of size naux. Because there are bracket symbols around the entire
item, the user it not required to specify anything for this item. Likewise, the user may or may not invoke the
“PRINT INPUT” option. Lastly, the user can specify “MAXIMUM ITERATION” followed by a numeric value for
“maxsfrit”. If the user does not specify an optional item, then a default condition will apply. Behavior of the
default condition is described in the input instructions for that item.
A valid user input block for OPTIONS might be:
#This is my options block
BEGIN OPTIONS
AUXILIARY temperature salinity
MAXIMUM_ITERATION 10
END OPTIONS
For most blocks, information can be read from a separate text file. In this case, all of the information for
the block must reside in the text file. The file name is specified using the OPEN/CLOSE keyword as the first
and only entry in the block as follows:
When MODFLOW encounters the OPEN/CLOSE keyword, the program opens the specified file on unit 99
and continues processing the information in the file as if it were within the block itself. When the program
reaches the end of the file, the file is closed, and the program returns to reading the original package file. The
next line after the OPEN/CLOSE line must end the block.
Some blocks do not support the OPEN/CLOSE capability. A list of all of the blocks, organized by com-
ponent and input file type, are listed in a table in appendix A. This table also indicates the blocks that do not
support the OPEN/CLOSE capability.
Some blocks may require that a file name be entered. Although spaces within a file name are not generally
recommended, they can be specified if the entire file name is enclosed within single quotes, which means that
the file name itself cannot have a single quote within it. On Windows computers, file names are not case sen-
sitive, and thus, “model.dis” can be referenced within the input files as “MODEL.DIS”. On some other oper-
ating systems, however, file names are case sensitive and the case used in the input instructions must exactly
reflect the case used to name the file.
Character variables, which are used to store names of models, packages, observations and other objects,
are limited in the number of characters that can be used. Table 1 lists the limit used for each type of character
variable.
Form of Input Instructions 5
Real Variables
KIND: 8
TINY (smallest non-zero value): 2.225074-308
HUGE (largest value): 1.797693+308
PRECISION: 15
BIT SIZE: 64
Integer Variables
KIND: 4
HUGE (largest value): 2147483647
BIT SIZE: 32
Logical Variables
KIND: 4
BIT SIZE: 32
This information indicates that real variables have about 15 digits of precision. The smallest positive non-
zero value that can be stored is 2.2e-308. The largest value that can be stored is 1.8e+308. If the user enters
a value in an input file that cannot be stored, such as 1.9335e-310 for example, then the program can produce
unexpected results. This does not affect an exact value of zero, which can be stored accurately. Integer vari-
ables also have a maximum and minimum value, which is about 2 billion. Values larger and smaller than this
cannot be stored. These numbers are rarely exceeded for most practical problems, but as the size of models
(number of nodes) increase into the billions, then the program may need to be recompiled using a larger size
for integer variables. Long integers are used to calculate the amount of memory allocated in the memory man-
ager:
MEMORY MANAGER TOTAL STORAGE BY DATA TYPE, IN MEGABYTES
-------------------------------
ALLOCATED
DATA TYPE MEMORY
-------------------------------
Character 1.53300000E-03
6 MODFLOW 6 – Description of Input and Output
Logical 4.40000000E-05
Integer 100.03799
Real 223.43994
-------------------------------
Total 323.47951
-------------------------------
Currently, standard precision 4 byte logical variables are used throughout the program.
Simulation Name File 7
Structure of Blocks
BEGIN OPTIONS
[CONTINUE]
[NOCHECK]
[MEMORY_PRINT_OPTION <memory_print_option>]
[MAXERRORS <maxerrors>]
END OPTIONS
BEGIN TIMING
TDIS6 <tdis6>
END TIMING
BEGIN MODELS
<mtype> <mfname> <mname>
<mtype> <mfname> <mname>
...
END MODELS
BEGIN EXCHANGES
<exgtype> <exgfile> <exgmnamea> <exgmnameb>
<exgtype> <exgfile> <exgmnamea> <exgmnameb>
...
END EXCHANGES
Explanation of Variables
Block: OPTIONS
CONTINUE—keyword flag to indicate that the simulation should continue even if one or more solutions
do not converge.
8 MODFLOW 6 – Description of Input and Output
NOCHECK—keyword flag to indicate that the model input check routines should not be called prior to
each time step. Checks are performed by default.
memory print option—is a flag that controls printing of detailed memory manager usage to the end
of the simulation list file. NONE means do not print detailed information. SUMMARY means print
only the total memory for each simulation component. ALL means print information for each vari-
able stored in the memory manager. NONE is default if MEMORY PRINT OPTION is not speci-
fied.
maxerrors—maximum number of errors that will be stored and printed.
Block: TIMING
Block: MODELS
Block: EXCHANGES
Block: SOLUTIONGROUP
group num—is the group number of the solution group. Solution groups must be numbered sequen-
tially, starting with group number one.
mxiter—is the maximum number of outer iterations for this solution group. The default value is 1. If
there is only one solution in the solution group, then MXITER must be 1.
slntype—is the type of solution. The Integrated Model Solution (IMS6) is the only supported option in
this version.
slnfname—name of file containing solution input.
slnmnames—is the array of model names to add to this solution. The number of model names is deter-
mined by the number of model names the user provides on this line.
Simulation Name File 9
Structure of Blocks
BEGIN OPTIONS
[TIME_UNITS <time_units>]
[START_DATE_TIME <start_date_time>]
END OPTIONS
BEGIN DIMENSIONS
NPER <nper>
END DIMENSIONS
BEGIN PERIODDATA
<perlen> <nstp> <tsmult>
<perlen> <nstp> <tsmult>
...
END PERIODDATA
Explanation of Variables
Block: OPTIONS
time units—is the time units of the simulation. This is a text string that is used as a label within
model output files. Values for time units may be “unknown”, “seconds”, “minutes”, “hours”,
“days”, or “years”. The default time unit is “unknown”.
start date time—is the starting date and time of the simulation. This is a text string that is used as
a label within the simulation list file. The value has no affect on the simulation. The recommended
format for the starting date and time is described at https://www.w3.org/TR/NOTE-datetime.
Block: DIMENSIONS
Block: PERIODDATA
BEGIN OPTIONS
TIME_UNITS DAYS
END OPTIONS
BEGIN DIMENSIONS
NPER 2
END DIMENSIONS
BEGIN PERIODDATA
365.00 1 1.0 Items: PERLEN NSTP TSMULT
365.00 10 1.2 Items: PERLEN NSTP TSMULT
END PERIODDATA
12 MODFLOW 6 – Description of Input and Output
1. The GWF Model in MODFLOW 6 supports three alternative input packages for specifying the grid used
to discretize the groundwater system.
• The Discretization (DIS) Package defines a grid based on layers, rows, and columns. In this report,
this type of grid is referred to as a “regular MODFLOW grid” because it corresponds to traditional
MODFLOW grids. An interior cell in a regular MODFLOW grid is connected to four adjacent cells
in the same layer, to one overlying cell, and to one underlying cell.
• The Discretization by Vertices (DISV) Package defines a grid using a list of (x, y) vertex pairs and
the number of layers. A list of vertices is provided by the user to define a two-dimensional horizon-
tal grid in plan view. This list of vertices may define a regular MODFLOW grid, or they may define
more complex grids, such as grids consisting of triangles, hexagons, or Voronoi polygons, for exam-
ple. This same two-dimensional horizontal grid applies to each layer in the model. Cells defined
using the DISV Package are referenced by layer number and by the cell number within the horizon-
tal grid. Within a layer, a cell may be horizontally connected to any number of surrounding cells in
that layer. In the vertical direction a cell can be connected to only one overlying cell and only one
underlying cell. Grids defined with the DISV Package are considered to be unstructured.
• The unstructured Discretization (DISU) Package is the most flexible of the three packages and is
patterned after the unstructured grid implemented in MODFLOW-USG. For each cell, the user spec-
ifies a list of connected cells and the connection properties. When the DISU Package is used, cells
are referenced only by their cell number; unlike the MODFLOW-USG approach, there is no concept
of a layer in the DISU Package in MODFLOW 6, but cells may still overlie or underlie one another.
2. For the layered grid types supported in the GWF Model (DIS and DISV), cells can be permanently
excluded from the grid for the simulation. Input values (such as hydraulic conductivity) are still required
for these excluded cells, and the program will write special codes or zero values for output, but the pro-
gram does not allocate memory or store values for excluded cells during run time. In this case, the matrix
equations are formulated for a reduced system in which only the included cells are numbered. Users can
also mark excluded cells as “vertical pass-through cells.” When these vertical pass-through cells are
encountered, the program connects the cells overlying and underlying the pass-through cell. This capa-
bility allows “pinched” cells to be removed from the solution. These options to exclude cells or exclude
them as pass-through cells are available for the DIS and DISV Packages through specification of the IDO-
MAIN array; the IDOMAIN capability is not available for the DISU Package.
3. There is no longer a Basic Package input file. Initial head values are specified using an Initial Conditions
(IC) Package, and constant heads are specified using the Time Varying Specified Head (CHD) Package.
Cells that are permanently excluded from the simulation can be eliminated using the IDOMAIN capa-
bility entered through the DIS or DISV Packages. For a cell that may transition from inactive (“dry”) to
active (“wet”) during a simulation, the user can start the cell as inactive by assigning an initial head below
the cell bottom.
5. Information on temporal discretization, such as number of stress periods, period lengths, number of
time steps, and time step multipliers, is specified at the simulation level, rather than for an individual
14 MODFLOW 6 – Description of Input and Output
model. This information is provided in the Timing Module, which controls the temporal discretization
and applies to all models within a simulation. The Timing Module is part of the MODFLOW 6 frame-
work and is described separately in Hughes and others (2017).
6. Aquifer properties used to calculate hydraulic conductance are specified in the Node Property Flow
(NPF) Package. In MODFLOW 6, the NPF Package calculates intercell conductance values, manages
cell wetting and drying, and adds Newton-Raphson terms for intercell flow expressions. The NPF Pack-
age allows individual cells to be designated as confined or convertible; this was not an option in previ-
ous MODFLOW versions as the designation was by layer. The NPF Package also has several options for
simulating drainage problems and problems involving perched aquifers where an active cell overlies a
partially saturated cell. The default NPF Package behavior (in which none of these options are set) is the
most stable for typical groundwater problems. The default NPF Package behavior does not correspond
to the default behavior for other MODFLOW internal flow packages. The NPF Package does not support
quasi-3D confining units. The NPF Package replaces the Layer Property Flow (LPF), Block-Centered
Flow (BCF), and Upstream Weighting (UPW) Packages from previous MODFLOW versions. Capabili-
ties of the Hydrogeologic Unit Flow (HUF) Package (Anderman and Hill, 2000, 2003) are not supported
in the GWF Model of MODFLOW 6 .
7. Aquifer storage properties are specified in the Storage (STO) Package. If the STO Package is excluded
for a model, then the model represents steady-state conditions. If the STO Package is included, users
can specify steady-state or transient conditions by stress period as needed. Compressible storage con-
tributions are no longer approximated as zero for unconfined layers; contributions from pore drainage and
compressible storage are separated in the model output.
8. The Horizontal Flow Barrier (HFB) Package (Hsieh and Freckleton, 1993; Harbaugh, 2005) in MOD-
FLOW 6 allows barrier properties and locations to change by stress period. The capability to change bar-
riers by stress period was not supported in previous MODFLOW versions.
9. The GWF Model in MODFLOW 6 allows multiple stress packages of the same type to be specified for
a single GWF Model. This capability is also available in MODFLOW-CDSS (Banta, 2011). Package
entries written to the budget file and budget terms in the listing file are written separately for each pack-
age.
10. Input of boundary conditions for simulation in multiple stress periods is entered differently than for pre-
vious MODFLOW versions. Boundary conditions are specified for a stress period in a “PERIOD” block.
These boundary conditions remain active at their specified values until a subsequent “PERIOD” block is
encountered or the end of the simulation is reached. Individual entries within the “PERIOD” block can be
specified as a time-series entry. Values for these variables, which may correspond to a well pumping rate
or a drain conductance, for example, are interpolated from a time-series dataset, for each time step, using
several different interpolation options.
11. The Flow and Head Boundary (FHB) Package (Leake and Lilly, 1997; Harbaugh, 2005) is not supported
in MODFLOW 6 ; however, its capabilities can be replicated using the WEL Package, the CHD Package,
and the new time-series capability.
12. There is one Evapotranspiration (EVT) Package for MODFLOW 6 . The MODFLOW 6 EVT Package
contains the functionality of the MODFLOW-2005 EVT Package, the Segmented Evapotranspiration
(ETS) Package (Banta, 2000), and the Riparian Evapotranspiration (RIP-ET) Package (Maddock and oth-
ers, 2012).
Groundwater Flow (GWF) Model Input 15
13. A new Multi-Aquifer Well (MAW) Package replaces the Multi-Node Well (MNW1 and MNW2) Pack-
ages (Halford and Hanson, 2002; Konikow and others, 2009). The new package does not contain all of
the options available in MNW1 and MNW2, but it does contain the most commonly used ones. It also has
new capabilities for simulating flowing wells. The MAW Package is solved as part of the matrix solution
and is tightly coupled with the GWF Model. This tight coupling with the GWF Model may substantially
improve convergence for simulations of groundwater flow to multi-aquifer wells.
14. Most capabilities of the Stream (STR) and Streamflow Routing (SFR) Packages (Prudic, 1989; Prudic
and others, 2004; Niswonger and Prudic, 2005) are included in MODFLOW 6 as a new SFR Package.
The new SFR Package contains all of the functionality of the SFR Package in MODFLOW-2005 with
the following exceptions: (a) the concept of a “segment” has been eliminated, (b) only rectangular cross
sections are supported for stream reaches, and (c) unsaturated zone flow beneath stream reaches cannot be
simulated.
15. A new Lake (LAK) Package replaces the existing MODFLOW Lake Packages (Merritt and Konikow,
2000). In addition to being able to represent lakes that are incised into the model grid, the new LAK
Package can also represent sub-grid scale lakes that are conceptualized as being on top of the model.
The status of a lake can change during the simulation between ACTIVE, INACTIVE, and CONSTANT. The
new package contains most of the capabilities available in previous LAK Packages, including the ability
to apply recharge and evapotranspiration to underlying cells if the lake is dry. The LAK Package docu-
mented here does not represent unsaturated zone flow beneath a lake or support for the coalescing lake
option described in Merritt and Konikow (2000).
16. A new Unsaturated Zone Flow (UZF) Package, based on the one described by Niswonger and others
(2006), is included in the GWF Model of MODFLOW 6. The new UZF Package allows the UZF capa-
bilities to be applied to only selected cells of the GWF model. The new UZF Package also supports a
multi-layer option, which allows for vertical heterogeneity in unsaturated zone properties.
17. A new Water Mover (MVR) Package is included in MODFLOW 6. The MVR Package can be used to
transfer water from individual “provider” features of selected packages (WEL, DRN, RIV, GHB, MAW,
SFR, LAK, and UZF) to individual ”receiver” features of the advanced packages (MAW, SFR, LAK, and
UZF). Simple rules are used to determine how much of the available water is moved from the provider to
the receiver, which allows management controls to be represented.
18. MODFLOW 6 contains a flexible new Observation (OBS) capability, which allows the user to define
many different types of continuous-in-time observations. The new OBS capability replaces the Obser-
vation Process (Hill and others, 2000), the Gage Package, and the HYDMOD capability (Hanson and
Leake, 1999) in previous MODFLOW versions. Flow, head, and drawdown observations can be obtained
for the GWF Model. Flow and other package-specific observations, such as the head in a multi-aquifer
well or lake stage, for example, can also be obtained. These observed values can be used subsequently
with a parameter estimation program or they can be used to make time-series plots of a wide range of
simulated values. The new OBS capability does not support specification of field-measured observations,
calculation of residuals, or interpolation within a grid, as was supported in previous versions of the MOD-
FLOW OBS Process.
19. The GWF Model described in this report does not support the following list of packages and capabilities.
Support for some of these capabilities may be added in future MODFLOW 6 versions.
In addition to this list of major differences, there are other differences between MODFLOW 6 and previ-
ous MODFLOW versions in terms of the input and output files and the way users interact with the program.
These differences include:
1. The MODFLOW 6 program begins by reading a simulation name file. The simulation name file must be
named “mfsim.nam.”
2. All real variables in MODFLOW 6 are declared as double precision floating point numbers. Real vari-
ables written to binary output files are also written in double precision.
3. Unit numbers are no longer specified by the user. Unit numbers are determined automatically by MOD-
FLOW 6 based upon user-provided file names.
4. The GWF Model name file contains a list of packages that are active for the model. Names for output
files are not specified in the name file. Names for output files, such as the head and budget files are speci-
fied in the OC Package.
5. The EXTERNAL option for reading arrays and lists is no longer supported; however, the OPEN/CLOSE
option is still supported. The SFAC option for lists is no longer supported; however, many packages allow
for specification of an auxiliary variable which can serve as a multiplier on a column of values in the list.
6. The CHD Package contains new flexibility. Cells can transition between constant-head cells and active
cells during the simulation. This was not allowed in previous MODFLOW versions. Also, the CHD Pack-
ages no longer performs linear interpolation between a starting (shead) and ending head (ehead). Only
a single head value is provided for each constant-head cell. The capability to linearly interpolate a head
value for each time step within a stress period is available through the use of time series.
7. There are two different forms of input for the RCH and EVT Packages: array-based input and list-based
input. For models that use DIS Package, the RCH and EVT input can be provided as arrays, which is con-
sistent with previous MODFLOW versions. To use array input, the user must specify the READASAR-
RAYS keyword in the options block. The READASARRAYS option can also be used for models that
use the DISV Package. If the READASARRAYS option is not specified, then input to the RCH and EVT
Packages is provided in list form. List-based input is the only option supported when the DISU Package
is used.
List-based input offers several advantages over the array-based input for specifying recharge and evapo-
transpiration. First, multiple list entries can be specified for a single cell. This makes it possible to divide
a cell into multiple areas, and assign a different recharge or evapotranspiration rate for each area (perhaps
based on land use or some other criteria). In this case, the user would likely specify an auxiliary vari-
able to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file
as the fractional cell are for the individual recharge entries. Another advantage to using list-based input
Groundwater Flow (GWF) Model Input 17
for specifying recharge is that “boundnames” can be specified. Boundnames work with the Observations
capability and can be used to sum recharge or evapotranspiration rates for entries with the same bound-
name. A disadvantage of the list-based input is that one cannot easily assign recharge or evapotranspira-
tion rates to the entire model without specifying a list of model cells. For this reason MODFLOW 6 also
supports array-based input.
8. Calculation and reporting of drawdown for the model grid is no longer supported, as this calculation is
easily performed as a postprocessing step. Calculation of drawdown is supported as an observation type
by the OBS Package; drawdown is calculated as the difference between the starting head specified in the
IC Package and the calculated head.
9. There are differences in the output files created by MODFLOW 6, such as:
• A separate listing file is written for the simulation. This simulation listing file contains information
about the simulation, including solver information. Separate listing files are written for each GWF
Model that is part of the simulation.
• Unformatted head files written by MODFLOW 6 are consistent with those written by previous
MODFLOW versions; however, all real values are written in double precision.
• The budget file written by the GWF Model is always written in “compact” form (as opposed to full
three-dimensional arrays) and uses new method codes, which allow model and package names to be
written to the file. Simulated intercell flows are always written in a compressed sparse row format,
even for regular MODFLOW grids.
• Information about the GWF Model grid is written to a separate file, called a “binary grid file” each
time the model runs. The binary grid file can be used by postprocessing programs for subsequent
analysis. The format of the binary grid file is described in a section on “Binary Output Files.”
In this example, the uppercase ARRAY1 is a text string that is recognized by the program. While reading
through the DATA block, the program would recognize ARRAY1, and would then use READARRAY to fill
array1 with nval values.
With CONSTANT, all values in the array are set equal to constant.
2. INTERNAL [FACTOR <factor>] [IPRN <iprn>]
With INTERNAL, the individual array elements will be read from the same file that contains the control line.
18 MODFLOW 6 – Description of Input and Output
With OPEN/CLOSE, the array will be read from the file whose name is specified by fname. This file will be
opened just prior to reading the array and closed immediately after the array is read. A file that is read using
this control line can contain only a single array.
FACTOR <factor>—are a keyword and a real number factor for real arrays and an integer factor for integer
arrays. The individual elements of the array are multiplied by factor after they are read. If factor is
specified as 0, then it is changed to 1.
(BINARY)—is an option that indicates the OPEN/CLOSE file contains array data in binary (unformatted)
form. A binary file that can be read by MODFLOW may be created in only two ways. The first way is to
use MODFLOW to create the file by saving heads in a binary file. This is commonly done when the user
desires to use computed heads from one simulation as initial heads for a subsequent simulation. The other
way to create a binary file is to write a special program that generates a binary file. “(BINARY)” can be
specified only when the control line is OPEN/CLOSE.
IPRN <iprn>—are a keyword and a flag that indicates whether the array being read should be written to the
Listing File after the array has been read and a code for indicating the format that should be used when
the array is written. The format codes are the same as for MODFLOW-2005. IPRN is set to zero when
the specified value exceeds those defined. If IPRN is less than zero or if the keyword and flag are omitted,
the array will not be printed.
Table 4. IPRN Code and corresponding print formats for array readers. These print codes determine how the user-provided
array is written to the list file.
Table 4. IPRN Code and corresponding print formats for array readers. These print codes determine how the user-provided
array is written to the list file.
READARRAY Examples
The following examples use free-format control lines for reading an array. The example array is a real
array consisting of 4 rows with 7 columns per row:
CONSTANT 5.7 This sets an entire array to the value "5.7".
INTERNAL FACTOR 1.0 IPRN 3 This reads the array values from the
1.2 3.7 9.3 4.2 2.2 9.9 1.0 file that contains the control line.
3.3 4.9 7.3 7.5 8.2 8.7 6.6 Thus, the values immediately follow the
4.5 5.7 2.2 1.1 1.7 6.7 6.9 control line.
7.4 3.5 7.8 8.5 7.4 6.8 8.8
OPEN/CLOSE inp.txt FACTOR 1.0 IPRN 3 Read array from formatted file "inp.dat".
OPEN/CLOSE inp.bin FACTOR 1.0 (BINARY) IPRN 3 Read array from binary file "inp.bin".
OPEN/CLOSE test.dat FACTOR 1.0 IPRN 3 Read array from file "test.dat".
Some arrays define information that is required for the entire model grid, or part of a model grid. This type
of information is provided in a special type of data block called a “GRIDDATA” block. For example, hydraulic
conductivity is required for every cell in the model grid. Hydraulic conductivity is read from a “GRIDDATA”
block in the NPF Package input file. For GRIDDATA arrays with one value for every cell in the model grid,
the arrays can optionally be read in a LAYERED format, in which an array is provided for each layer of the
grid. Alternatively, the array can be read for the entire model grid. As an example, consider the GRIDDATA
block for the IC Package shown below:
BEGIN GRIDDATA
STRT [LAYERED]
<strt(nodes)> -- READARRAY
END GRIDDATA
Here, the initial heads for the model are provided in the strt array. If the optional LAYERED keyword
is present, then a separate array is provided for each layer. If the LAYERED keyword is not present, then the
entire starting head array is read at once. The LAYERED keyword may be useful to discretization packages
of type DIS and DISV, which support the concept of layers. Models defined with the DISU Package are not
layered.
For a structured DIS model, the READARRAY utility is used to read arrays that are dimensioned to the
full size of the grid (of size nlay*nrow*ncol). This utility first reads an array name, which associates the
input to be read with the desired array. For these arrays, an optional keyword “LAYERED” can be located next
to the array name. If “LAYERED” is detected, then a control line is provided for each layer and the array is
filled with values for each model layer. If the “LAYERED” keyword is absent, then a single control line is
used and the entire array is filled at once.
20 MODFLOW 6 – Description of Input and Output
For example, the following block shows one way the starting head array (STRT) could be specified for a
model with 4 layers. Following the array name and the “LAYERED” keyword are four control lines, one for
each layer.
STRT LAYERED
CONSTANT 10.0 #layer 1
CONSTANT 10.0 #layer 2
CONSTANT 10.0 #layer 3
CONSTANT 10.0 #layer 4
In this next example, the “LAYERED” keyword is absent. In this case, the control line applies to the entire
strt array. One control line is required, and a constant value of 10.0 will be assigned to STRT for all cells in
the model grid.
STRT
CONSTANT 10.0 #applies to all cells in the grid
List Input
Some items consist of several variables, such as layer, row, column, stage, and conductance, for example.
List input refers to a block of data with a separate item on each line. For some common list types, the first set
of variables is a cell identifier (denoted as cellid in this guide), such as layer, row, and column. With lists,
the input data for each item must start on a new line. All variables for an item are assumed to be contained in a
single line. Each input variable has a data type, which can be Double Precision, Integer, or Character. Integers
are whole numbers and must not include a decimal point or exponent. Double Precision numbers can include
a decimal point and an exponent. If no decimal point is included in the entered value, then the decimal point is
assumed to be at the right side of the value. Any printable character is allowed for character variables.
Variables starting with the letters I-N are most commonly integers; however, in some instances, a charac-
ter string may start with the letters I-N. Variables starting with the letters A-H and O-Z are primarily double
precision numbers; however, these variable names may also be used for character data. In MODFLOW 6 all
variables are explicitly declared within the source code, as opposed to the implicit type declaration in previous
MODFLOW versions. This explicit declaration means that the variable type can be easily determined from the
source code.
Free formatting is used throughout the input instructions. With free format, values are not required to
occupy a fixed number of columns in a line. Each value can occupy one or more columns as required to rep-
resent the value; however, the values must still be included in the prescribed order. One or more spaces, or a
single comma optionally combined with spaces, must separate adjacent values. Also, a numeric value of zero
must be explicitly represented with 0 and not by one or more spaces when free format is used, because detect-
ing the difference between a space that represents 0 and a space that represents a value separator is not possi-
ble. Free format is similar to Fortran’s list directed input.
Two capabilities included in Fortran’s list-directed input are not included in the free-format input imple-
mented in MODFLOW 6. Null values in which input values are left unchanged from their previous values are
not allowed. In general, MODFLOW’s input values are not defined prior to their input. A “/” cannot be used
to terminate an input line without including values for all the variables; data values for all required input vari-
ables must be explicitly specified on an input line. For character data, MODFLOW’s free format implemen-
tation is less stringent than the list-directed input of Fortran. Fortran requires character data to be delineated
by apostrophes. MODFLOW does not require apostrophes unless a blank or a comma is part of a character
variable.
As an example of a list, consider the PERIOD block for the GHB Package. The input format is shown
below:
BEGIN PERIOD <iper>
Groundwater Flow (GWF) Model Input 21
Each line represents a separate item, which consists of variables. In this case, the first variable of the item,
cellid is an array of size ncelldim. The next two variables of the item are bhead and cond. Lastly, the item
has two optional variables, aux and boundname. Three of the variables shown in the list are colored in blue.
Variables that are colored in blue mean that they can be represented with a time series. The time series capabil-
ity is described in the section on Time-Variable Input in this document.
The following is simple example of a PERIOD block for the GHB Package, which shows how a list is
entered by the user.
BEGIN PERIOD 1
# lay row col stage cond
1 13 1 988.0 0.038
1 14 9 1045.0 0.038
END PERIOD
As described earlier in the section on “Block and Keyword Input,” block information can be read from a
separate text file. To activate reading a list from separate text file, the first and only entry in the block must be
a control line of the following form:
OPEN/CLOSE <fname>
where fname is the name of the file containing the list. Lists for the stress packages (CHD, WEL, DRN, RIV,
GHB, RCH, and EVT) have an additional BINARY option. The BINARY option is not supported for the
advanced stress packages (LAK, MAW, SFR, UZF). The BINARY options is specified as follows:
OPEN/CLOSE <fname> [(BINARY)]
If the (BINARY) keyword is found on the control line, then the file is opened as an unformatted file on
unit 99, and the list is read. There are a number of requirements for using the (BINARY) option for lists. All
stress package lists begin with integer values for the cellid (layer, row, and column, for example). These val-
ues must be represented as integer numbers in the unformatted file. Also, all auxiliary data must be included
in the binary file; auxiliary data must be represented as double precision numbers. Lastly, the (BINARY)
option does not support entry of boundname, and so the BOUNDNAMES option should not be activated in
the OPTIONS block for the package.
the unit flags does not enforce consistent use of units. The user must insure that consistent units are used in all
input data.
Steady-State Simulations
A steady-state simulation is represented by a single stress period having a single time step with the storage
term set to zero. Setting the number and length of stress periods and time steps is the responsibility of the Tim-
ing Module of the MODFLOW 6 framework. The length of the stress period and time step will not affect the
head solution because the time derivative is not calculated in a steady-state problem. Setting the storage term
to zero is the responsibility of the Storage Package. Most other packages need not ”know” that a simulation is
steady state.
A GWF Model also can be mixed transient and steady state because each stress period can be designated
transient or steady state. Thus, a GWF Model can start with a steady-state stress period and continue with one
or more transient stress periods. The settings for controlling steady-state and transient options are in the Stor-
age Package. If the Storage Package is not specified for a GWF Model, then the storage terms are zero and the
GWF Model will be steady state.
Volumetric Budget
A summary of all inflows (sources) and outflows (sinks) of water is called a water budget. The water bud-
get for the GWF Model is termed a volumetric budget because volumes of water and volumetric flow rates are
involved; thus strictly speaking, a volumetric budget is not a mass balance, although this term has been used in
other model reports. MODFLOW 6 calculates a water budget for the overall model as a check on the accept-
ability of the solution, and to provide a summary of the sources and sinks of water to the flow system. The
water budget is printed to the GWF Model Listing File for selected time steps.
Numerical solution techniques for simultaneous equations do not always result in a correct answer; in par-
ticular, iterative solvers may stop iterating before a sufficiently close approximation to the solution is attained.
A water budget provides an indication of the overall acceptability of the solution. The system of equations
solved by the model actually consists of a flow continuity statement for each model cell. Continuity should
also exist for the total flows into and out of the model—that is, the difference between total inflow and total
outflow should equal the total change in storage. In the model program, the water budget is calculated inde-
pendently of the equation solution process, and in this sense may provide independent evidence of a valid solu-
tion.
The total budget as printed in the output does not include internal flows between model cells—only flows
into or out of the model as a whole. For example, flow to or from rivers, flow to or from constant-head cells,
and flow to or from wells are all included in the overall budget terms. Flow into and out of storage is also con-
sidered part of the overall budget inasmuch as accumulation in storage effectively removes water from the flow
system and storage release effectively adds water to the flow—even though neither process, in itself, involves
the transfer of water into or out of the ground-water regime. Each hydrologic package calculates its own con-
tribution to the budget.
For every time step, the budget subroutine of each hydrologic package calculates the rate of flow into and
out of the system due to the process simulated by the package. The inflows and outflows for each component
of flow are stored separately. Most packages deal with only one such component of flow. In addition to flow,
the volumes of water entering and leaving the model during the time step are calculated as the product of flow
rate and time-step length. Cumulative volumes, from the beginning of the simulation, are then calculated and
stored.
The GWF Model uses the inflows, outflows, and cumulative volumes to write the budget to the Listing
File at the times requested by the model user. When a budget is written, the flow rates for the last time step
Groundwater Flow (GWF) Model Input 23
and cumulative volumes from the beginning of simulation are written for each component of flow. Inflows are
written separately from outflows. Following the convention indicated above, water entering storage is treated
as an outflow (that is, as a loss of water from the flow system) while water released from storage is treated as
an inflow (that is, a source of water to the flow system). In addition, total inflow and total outflow are written,
as well as the difference between total inflow and outflow. The difference is then written as a percentage error,
calculated using the formula:
100(IN − OU T )
D= (1)
(IN + OU T )/2
where D is the percentage error term, IN is the total inflow to the system, and OU T is the total outflow.
If the model equations are solved correctly, the percentage error should be small. In general, flow rates
may be taken as an indication of solution validity for the time step to which they apply, while cumulative vol-
umes are an indication of validity for the entire simulation up to the time of the output. The budget is written
to the GWF Model Listing File at the end of each stress period whether requested or not.
Cell-By-Cell Flows
In some situations, calculating flow terms for various subregions of the model is useful. To facilitate such
calculations, provision has been made to save flow terms for individual cells in a separate binary file so they
can be used in computations external to the model itself. These individual cell flows are referred to here as
“cell-by-cell” flow terms and are of four general types: (1) cell-by-cell stress flows, or flows into or from an
individual cell caused by one of the external stresses represented in the model, such as evapotranspiration or
recharge; (2) cell-by-cell storage terms, which give the rate of accumulation or depletion of storage in an indi-
vidual cell; and (3) internal cell-by-cell flows, which are actually the flows across individual cell faces—that
is, between adjacent model cells. These four kinds of cell-by-cell flow terms are discussed further in subse-
quent paragraphs. To save any of these cell-by-cell terms, two flags in the model input must be set. The input
to the Output Control file indicates the time steps for which cell-by-cell terms are to be saved. In addition,
each hydrologic package includes an option called SAVE FLOWS that must be set if the cell-by-cell terms
computed by that package are to be saved. Thus, if the appropriate option in the Evapotranspiration Package
input is set, cell-by-cell evapotranspiration terms will be saved for each time step for which the saving of cell-
by-cell flow is requested through the Output Control Option. Only flow values are saved in the cell-by-cell
files; neither water volumes nor cumulative water volumes are included. The flow dimensions are volume per
unit time, where volume and time are in the same units used for all model input data. The cell-by-cell flow val-
ues are stored in unformatted form to make the most efficient use of disk space; see the Budget File section
toward the end of this user guide for information on how the data are written to a file.
The cell-by-cell storage term gives the net flow to or from storage in a variable-head cell. The net storage
for each cell in the grid is saved in transient simulations if the appropriate flags are set. Withdrawal from stor-
age in the cell is considered positive, whereas accumulation in storage is considered negative.
The cell-by-cell constant-head flow term gives the flow into or out of an individual constant-head cell
(specified with the CHD Package). This term is always associated with the constant-head cell itself, rather than
with the surrounding cells that contribute or receive the flow. A constant-head cell may be surrounded by as
many as six adjacent variable-head cells for a regular grid or any number of cells for the other grid types. The
cell-by-cell calculation provides a single flow value for each constant-head cell, representing the algebraic sum
of the flows between that cell and all of the adjacent variable-head cells. A positive value indicates that the net
flow is away from the constant-head cell (into the variable-head part of the grid); a negative value indicates
that the net flow is into the constant-head cell.
24 MODFLOW 6 – Description of Input and Output
The internal cell-by-cell flow values represent flows across the individual faces of a model cell. Flows
between cells are written in the compressed row storage format, whereby the flow between cell n and each
one of its connecting m neighbor cells are contained in a single one-dimensional array. Flows are positive for
the cell in question. Thus the flow reported for cell n and its connection with cell m is opposite in sign to the
flow reported for cell m and its connection with cell n. These internal cell-by-cell flow values are useful in
calculations of the groundwater flow into various subregions of the model, or in constructing flow vectors.
Cell-by-cell stress flows are flow rates into or out of the model, at a particular cell, owing to one particular
external stress. For example, the cell-by-cell evapotranspiration term for cell n would give the flow out of the
model by evapotranspiration from cell n. Cell-by-cell stress flows are considered positive if flow is into the
cell, and negative if out of the cell.
Groundwater Flow (GWF) Model Input 25
Structure of Blocks
BEGIN OPTIONS
[LIST <list>]
[PRINT_INPUT]
[PRINT_FLOWS]
[SAVE_FLOWS]
[NEWTON [UNDER_RELAXATION]]
END OPTIONS
BEGIN PACKAGES
<ftype> <fname> [<pname>]
<ftype> <fname> [<pname>]
...
END PACKAGES
Explanation of Variables
Block: OPTIONS
list—is name of the listing file to create for this GWF model. If not specified, then the name of the list
file will be the basename of the GWF model name file and the ’.lst’ extension. For example, if the
GWF name file is called “my.model.nam” then the list file will be called “my.model.lst”.
PRINT INPUT—keyword to indicate that the list of all model stress package information will be written
to the listing file immediately after it is read.
PRINT FLOWS—keyword to indicate that the list of all model package flow rates will be printed to the
listing file for every stress period time step in which “BUDGET PRINT” is specified in Output Con-
trol. If there is no Output Control option and “PRINT FLOWS” is specified, then flow rates are
printed for the last time step of each stress period.
SAVE FLOWS—keyword to indicate that all model package flow terms will be written to the file specified
with “BUDGET FILEOUT” in Output Control.
NEWTON—keyword that activates the Newton-Raphson formulation for groundwater flow between con-
nected, convertible groundwater cells and stress packages that support calculation of Newton-
Raphson terms for groundwater exchanges. Cells will not dry when this option is used. By default,
the Newton-Raphson formulation is not applied.
UNDER RELAXATION—keyword that indicates whether the groundwater head in a cell will be under-
relaxed when water levels fall below the bottom of the model below any given cell. By default,
Newton-Raphson UNDER RELAXATION is not applied.
26 MODFLOW 6 – Description of Input and Output
Block: PACKAGES
ftype—is the file type, which must be one of the following character values shown in table 5. Ftype
may be entered in any combination of uppercase and lowercase.
fname—is the name of the file containing the package input. The path to the file should be included if
the file is not located in the folder where the program was run.
pname—is the user-defined name for the package. PNAME is restricted to 16 characters. No spaces are
allowed in PNAME. PNAME character values are read and stored by the program for stress pack-
ages only. These names may be useful for labeling purposes when multiple stress packages of the
same type are located within a single GWF Model. If PNAME is specified for a stress package, then
PNAME will be used in the flow budget table in the listing file; it will also be used for the text entry
in the cell-by-cell budget file. PNAME is case insensitive and is stored in all upper case letters.
Table 5. Ftype values described in this report. The Pname column indicates whether or not a package name can be provided in
the name file.
Structure of Blocks
BEGIN OPTIONS
[LENGTH_UNITS <length_units>]
[NOGRB]
[XORIGIN <xorigin>]
[YORIGIN <yorigin>]
[ANGROT <angrot>]
END OPTIONS
BEGIN DIMENSIONS
NLAY <nlay>
NROW <nrow>
NCOL <ncol>
END DIMENSIONS
BEGIN GRIDDATA
DELR
<delr(ncol)> -- READARRAY
DELC
<delc(nrow)> -- READARRAY
TOP
<top(ncol, nrow)> -- READARRAY
BOTM [LAYERED]
<botm(ncol, nrow, nlay)> -- READARRAY
[IDOMAIN [LAYERED]
<idomain(ncol, nrow, nlay)> -- READARRAY]
END GRIDDATA
Explanation of Variables
Block: OPTIONS
length units—is the length units used for this model. Values can be “FEET”, “METERS”, or “CEN-
TIMETERS”. If not specified, the default is “UNKNOWN”.
NOGRB—keyword to deactivate writing of the binary grid file.
xorigin—x-position of the lower-left corner of the model grid. A default value of zero is assigned if
not specified. The value for XORIGIN does not affect the model simulation, but it is written to the
binary grid file so that postprocessors can locate the grid in space.
yorigin—y-position of the lower-left corner of the model grid. If not specified, then a default value
equal to zero is used. The value for YORIGIN does not affect the model simulation, but it is written
to the binary grid file so that postprocessors can locate the grid in space.
angrot—counter-clockwise rotation angle (in degrees) of the lower-left corner of the model grid. If not
specified, then a default value of 0.0 is assigned. The value for ANGROT does not affect the model
simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space.
Block: DIMENSIONS
Block: GRIDDATA
EXPLANATION
2 Cell center and cell number
4 Vertex and vertex number
Figure 1. Schematic diagram showing the vertices and cells defined using the Discretization by Vertices Package. The list of
vertices used to define each cell must be in clockwise order. From Langevin and others (2017).
Structure of Blocks
BEGIN OPTIONS
[LENGTH_UNITS <length_units>]
[NOGRB]
[XORIGIN <xorigin>]
[YORIGIN <yorigin>]
[ANGROT <angrot>]
END OPTIONS
Groundwater Flow (GWF) Model Input 31
BEGIN DIMENSIONS
NLAY <nlay>
NCPL <ncpl>
NVERT <nvert>
END DIMENSIONS
BEGIN GRIDDATA
TOP
<top(ncpl)> -- READARRAY
BOTM [LAYERED]
<botm(nlay, ncpl)> -- READARRAY
[IDOMAIN [LAYERED]
<idomain(nlay, ncpl)> -- READARRAY]
END GRIDDATA
BEGIN VERTICES
<iv> <xv> <yv>
<iv> <xv> <yv>
...
END VERTICES
BEGIN CELL2D
<icell2d> <xc> <yc> <ncvert> <icvert(ncvert)>
<icell2d> <xc> <yc> <ncvert> <icvert(ncvert)>
...
END CELL2D
Explanation of Variables
Block: OPTIONS
length units—is the length units used for this model. Values can be “FEET”, “METERS”, or “CEN-
TIMETERS”. If not specified, the default is “UNKNOWN”.
NOGRB—keyword to deactivate writing of the binary grid file.
xorigin—x-position of the origin used for model grid vertices. This value should be provided in a real-
world coordinate system. A default value of zero is assigned if not specified. The value for XORI-
GIN does not affect the model simulation, but it is written to the binary grid file so that postproces-
sors can locate the grid in space.
yorigin—y-position of the origin used for model grid vertices. This value should be provided in a real-
world coordinate system. If not specified, then a default value equal to zero is used. The value for
YORIGIN does not affect the model simulation, but it is written to the binary grid file so that post-
processors can locate the grid in space.
angrot—counter-clockwise rotation angle (in degrees) of the model grid coordinate system relative to
a real-world coordinate system. If not specified, then a default value of 0.0 is assigned. The value
for ANGROT does not affect the model simulation, but it is written to the binary grid file so that
postprocessors can locate the grid in space.
Block: DIMENSIONS
Block: GRIDDATA
top—is the top elevation for each cell in the top model layer.
botm—is the bottom elevation for each cell.
idomain—is an optional array that characterizes the existence status of a cell. If the IDOMAIN array
is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0,
the cell does not exist in the simulation. Input and output values will be read and written for the cell,
but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell
is 1, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in
the simulation. Furthermore, the first existing cell above will be connected to the first existing cell
below. This type of cell is referred to as a “vertical pass through” cell.
Block: VERTICES
iv—is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1
to NVERT.
xv—is the x-coordinate for the vertex.
yv—is the y-coordinate for the vertex.
Block: CELL2D
icell2d—is the CELL2D number. Records in the CELL2D block must be listed in consecutive order
from the first to the last.
xc—is the x-coordinate for the cell center.
yc—is the y-coordinate for the cell center.
ncvert—is the number of vertices required to define the cell. There may be a different number of ver-
tices for each cell.
icvert—is an array of integer values containing vertex numbers (in the VERTICES block) used to
define the cell. Vertices must be listed in clockwise order. Cells that are connected must share ver-
tices.
BOTM LAYERED
CONSTANT 2.0
CONSTANT 1.0
CONSTANT 0.0
IDOMAIN LAYERED
INTERNAL FACTOR 1
1 1 1 0
CONSTANT 1
CONSTANT 1
END GRIDDATA
BEGIN CELL2D
1 .25 .75 4 1 2 5 4
2 .75 .75 4 2 3 6 5
3 .25 .25 4 4 5 8 7
4 .75 .25 4 5 6 9 8
END CELL2D
34 MODFLOW 6 – Description of Input and Output
Structure of Blocks
BEGIN OPTIONS
[LENGTH_UNITS <length_units>]
[NOGRB]
[XORIGIN <xorigin>]
[YORIGIN <yorigin>]
[ANGROT <angrot>]
END OPTIONS
BEGIN DIMENSIONS
NODES <nodes>
NJA <nja>
[NVERT <nvert>]
END DIMENSIONS
BEGIN GRIDDATA
TOP
<top(nodes)> -- READARRAY
BOT
<bot(nodes)> -- READARRAY
AREA
<area(nodes)> -- READARRAY
[IDOMAIN
<idomain(nodes)> -- READARRAY]
END GRIDDATA
BEGIN CONNECTIONDATA
IAC
<iac(nodes)> -- READARRAY
JA
<ja(nja)> -- READARRAY
IHC
<ihc(nja)> -- READARRAY
CL12
<cl12(nja)> -- READARRAY
HWVA
<hwva(nja)> -- READARRAY
[ANGLDEGX
<angldegx(nja)> -- READARRAY]
END CONNECTIONDATA
Groundwater Flow (GWF) Model Input 35
BEGIN VERTICES
<iv> <xv> <yv>
<iv> <xv> <yv>
...
END VERTICES
BEGIN CELL2D
<icell2d> <xc> <yc> <ncvert> <icvert(ncvert)>
<icell2d> <xc> <yc> <ncvert> <icvert(ncvert)>
...
END CELL2D
Explanation of Variables
Block: OPTIONS
length units—is the length units used for this model. Values can be “FEET”, “METERS”, or “CEN-
TIMETERS”. If not specified, the default is “UNKNOWN”.
NOGRB—keyword to deactivate writing of the binary grid file.
xorigin—x-position of the origin used for model grid vertices. This value should be provided in a real-
world coordinate system. A default value of zero is assigned if not specified. The value for XORI-
GIN does not affect the model simulation, but it is written to the binary grid file so that postproces-
sors can locate the grid in space.
yorigin—y-position of the origin used for model grid vertices. This value should be provided in a real-
world coordinate system. If not specified, then a default value equal to zero is used. The value for
YORIGIN does not affect the model simulation, but it is written to the binary grid file so that post-
processors can locate the grid in space.
angrot—counter-clockwise rotation angle (in degrees) of the model grid coordinate system relative to
a real-world coordinate system. If not specified, then a default value of 0.0 is assigned. The value
for ANGROT does not affect the model simulation, but it is written to the binary grid file so that
postprocessors can locate the grid in space.
Block: DIMENSIONS
Block: GRIDDATA
top—is the top elevation for each cell in the model grid.
bot—is the bottom elevation for each cell.
36 MODFLOW 6 – Description of Input and Output
Block: CONNECTIONDATA
iac—is the number of connections (plus 1) for each cell. The sum of all the entries in IAC must be
equal to NJA.
ja—is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells con-
nected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially pro-
vided for the first to the last cell. The first value in the list must be cell n itself, and the remaining
cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell
and its connections are only supplied for the GWF cells and their connections to the other GWF
cells. Also note that the JA list input may be divided such that every node and its connectivity list
can be on a separate line for ease in readability of the file. To further ease readability of the file, the
node number of the cell whose connectivity is subsequently listed, may be expressed as a negative
number, the sign of which is subsequently converted to positive by the code.
ihc—is an index array indicating the direction between node n and all of its m connections. If IHC = 0
then cell n and cell m are connected in the vertical direction. Cell n overlies cell m if the cell num-
ber for n is less than m; cell m overlies cell n if the cell number for m is less than n. If IHC = 1 then
cell n and cell m are connected in the horizontal direction. If IHC = 2 then cell n and cell m are con-
nected in the horizontal direction, and the connection is vertically staggered. A vertically staggered
connection is one in which a cell is horizontally connected to more than one cell in a horizontal con-
nection.
cl12—is the array containing connection lengths between the center of cell n and the shared face with
each adjacent m cell.
hwva—is a symmetric array of size NJA. For horizontal connections, entries in HWVA are the hori-
zontal width perpendicular to flow. For vertical connections, entries in HWVA are the vertical area
for flow. Thus, values in the HWVA array contain dimensions of both length and area. Entries in
the HWVA array have a one-to-one correspondence with the connections specified in the JA array.
Likewise, there is a one-to-one correspondence between entries in the HWVA array and entries in
the IHC array, which specifies the connection type (horizontal or vertical). Entries in the HWVA
array must be symmetric; the program will terminate with an error if the value for HWVA for an n
to m connection does not equal the value for HWVA for the corresponding n to m connection.
angldegx—is the angle (in degrees) between the horizontal x-axis and the outward normal to the face
between a cell and its connecting cells. The angle varies between zero and 360.0 degrees, where
zero degrees points in the positive x-axis direction, and 90 degrees points in the positive y-axis
direction. ANGLDEGX is only needed if horizontal anisotropy is specified in the NPF Package,
if the XT3D option is used in the NPF Package, or if the SAVE SPECIFIC DISCHARGE option
is specifed in the NPF Package. ANGLDEGX does not need to be specified if these conditions
are not met. ANGLDEGX is of size NJA; values specified for vertical connections and for the
diagonal position are not used. Note that ANGLDEGX is read in degrees, which is different from
MODFLOW-USG, which reads a similar variable (ANGLEX) in radians.
Groundwater Flow (GWF) Model Input 37
Block: VERTICES
iv—is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1
to NVERT.
xv—is the x-coordinate for the vertex.
yv—is the y-coordinate for the vertex.
Block: CELL2D
icell2d—is the cell2d number. Records in the CELL2D block must be listed in consecutive order from
1 to NODES.
xc—is the x-coordinate for the cell center.
yc—is the y-coordinate for the cell center.
ncvert—is the number of vertices required to define the cell. There may be a different number of ver-
tices for each cell.
icvert—is an array of integer values containing vertex numbers (in the VERTICES block) used to
define the cell. Vertices must be listed in clockwise order.
BEGIN DIMENSIONS
NODES 9
NJA 33
END DIMENSIONS
BEGIN GRIDDATA
TOP
CONSTANT 0.
BOT
CONSTANT -10
AREA
INTERNAL FACTOR 1
10000 10000 10000 10000 10000 10000 10000 10000 10000
END GRIDDATA
BEGIN CONNECTIONDATA
IHC
CONSTANT 1
IAC
INTERNAL FACTOR 1
3 4 3 4 5 4 3 4 3
JA
INTERNAL FACTOR 1
1 2 4
2 1 3 5
3 2 6
4 1 5 7
5 2 4 6 8
6 3 5 9
7 4 8
8 5 7 9
38 MODFLOW 6 – Description of Input and Output
9 6 8
CL12
INTERNAL FACTOR 1
0 50 50
0 50 50 50
0 50 50
0 50 50 50
0 50 50 50 50
0 50 50 50
0 50 50
0 50 50 50
0 50 50
HWVA
INTERNAL FACTOR 1
0 100 100
0 100 100 100
0 100 100
0 100 100 100
0 100 100 100 100
0 100 100 100
0 100 100
0 100 100 100
0 100 100
END CONNECTIONDATA
Groundwater Flow (GWF) Model Input 39
Structure of Blocks
BEGIN GRIDDATA
STRT [LAYERED]
<strt(nodes)> -- READARRAY
END GRIDDATA
Explanation of Variables
Block: GRIDDATA
strt—is the initial (starting) head—that is, head at the beginning of the GWF Model simulation. STRT
must be specified for all simulations, including steady-state simulations. One value is read for every
model cell. For simulations in which the first stress period is steady state, the values used for STRT
generally do not affect the simulation (exceptions may occur if cells go dry and (or) rewet). The
execution time, however, will be less if STRT includes hydraulic heads that are close to the steady-
state solution. A head value lower than the cell bottom can be provided if a cell should start as dry.
Structure of Blocks
Explanation of Variables
Block: OPTIONS
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
SAVE—keyword to indicate that information will be saved this stress period.
PRINT—keyword to indicate that information will be printed this stress period.
rtype—type of information to save or print. Can be BUDGET or HEAD.
ocsetting—specifies the steps for which the data will be saved.
ALL
FIRST
LAST
FREQUENCY <frequency>
STEPS <steps(<nstp)>
BEGIN OPTIONS
HEAD FILEOUT AdvGW_tidal.hds
BUDGET FILEOUT AdvGW_tidal.cbc
HEAD PRINT_FORMAT COLUMNS 100 WIDTH 15 DIGITS 4 GENERAL
END OPTIONS
BEGIN PERIOD 1
PRINT HEAD FIRST
PRINT HEAD LAST
PRINT BUDGET LAST
SAVE HEAD ALL
SAVE BUDGET ALL
END PERIOD
BEGIN PERIOD 25
PRINT HEAD STEPS 6 12 23
SAVE BUDGET FIRST
SAVE BUDGET LAST
SAVE BUDGET FREQUENCY 5
END PERIOD
Groundwater Flow (GWF) Model Input 43
Structure of Blocks
BEGIN OPTIONS
[SAVE_FLOWS]
[ALTERNATIVE_CELL_AVERAGING <alternative_cell_averaging>]
[THICKSTRT]
[VARIABLECV [DEWATERED]]
[PERCHED]
[REWET WETFCT <wetfct> IWETIT <iwetit> IHDWET <ihdwet>]
[XT3D [RHS]]
[SAVE_SPECIFIC_DISCHARGE]
[SAVE_SATURATION]
[K22OVERK]
[K33OVERK]
END OPTIONS
BEGIN GRIDDATA
ICELLTYPE [LAYERED]
<icelltype(nodes)> -- READARRAY
K [LAYERED]
<k(nodes)> -- READARRAY
[K22 [LAYERED]
<k22(nodes)> -- READARRAY]
[K33 [LAYERED]
<k33(nodes)> -- READARRAY]
[ANGLE1 [LAYERED]
<angle1(nodes)> -- READARRAY]
[ANGLE2 [LAYERED]
<angle2(nodes)> -- READARRAY]
[ANGLE3 [LAYERED]
<angle3(nodes)> -- READARRAY]
[WETDRY [LAYERED]
<wetdry(nodes)> -- READARRAY]
END GRIDDATA
Explanation of Variables
Block: OPTIONS
SAVE FLOWS—keyword to indicate that budget flow terms will be written to the file specified with
“BUDGET SAVE FILE” in Output Control.
alternative cell averaging—is a text keyword to indicate that an alternative method will be
used for calculating the conductance for horizontal cell connections. The text value for ALTER-
NATIVE CELL AVERAGING can be “LOGARITHMIC”, “AMT-LMK”, or “AMT-HMK”.
“AMT-LMK” signifies that the conductance will be calculated using arithmetic-mean thickness and
logarithmic-mean hydraulic conductivity. “AMT-HMK” signifies that the conductance will be calcu-
lated using arithmetic-mean thickness and harmonic-mean hydraulic conductivity. If the user does
not specify a value for ALTERNATIVE CELL AVERAGING, then the harmonic-mean method will
be used. This option cannot be used if the XT3D option is invoked.
THICKSTRT—indicates that cells having a negative ICELLTYPE are confined, and their cell thickness
for conductance calculations will be computed as STRT-BOT rather than TOP-BOT.
Groundwater Flow (GWF) Model Input 45
VARIABLECV—keyword to indicate that the vertical conductance will be calculated using the saturated
thickness and properties of the overlying cell and the thickness and properties of the underlying cell.
If the DEWATERED keyword is also specified, then the vertical conductance is calculated using
only the saturated thickness and properties of the overlying cell if the head in the underlying cell
is below its top. If these keywords are not specified, then the default condition is to calculate the
vertical conductance at the start of the simulation using the initial head and the cell properties. The
vertical conductance remains constant for the entire simulation.
DEWATERED—If the DEWATERED keyword is specified, then the vertical conductance is calculated
using only the saturated thickness and properties of the overlying cell if the head in the underlying
cell is below its top.
PERCHED—keyword to indicate that when a cell is overlying a dewatered convertible cell, the head dif-
ference used in Darcy’s Law is equal to the head in the overlying cell minus the bottom elevation
of the overlying cell. If not specified, then the default is to use the head difference between the two
cells.
REWET—activates model rewetting. Rewetting is off by default.
wetfct—is a keyword and factor that is included in the calculation of the head that is initially estab-
lished at a cell when that cell is converted from dry to wet.
iwetit—is a keyword and iteration interval for attempting to wet cells. Wetting is attempted every
IWETIT iteration. This applies to outer iterations and not inner iterations. If IWETIT is specified
as zero or less, then the value is changed to 1.
ihdwet—is a keyword and integer flag that determines which equation is used to define the initial head
at cells that become wet. If IHDWET is 0, h = BOT + WETFCT (hm - BOT). If IHDWET is not 0,
h = BOT + WETFCT (THRESH).
XT3D—keyword indicating that the XT3D formulation will be used. If the RHS keyword is also
included, then the XT3D additional terms will be added to the right-hand side. If the RHS keyword
is excluded, then the XT3D terms will be put into the coefficient matrix. Use of XT3D will substan-
tially increase the computational effort, but will result in improved accuracy for anisotropic conduc-
tivity fields and for unstructured grids in which the CVFD requirement is violated. XT3D requires
additional information about the shapes of grid cells. If XT3D is active and the DISU Package is
used, then the user will need to provide in the DISU Package the angldegx array in the CONNEC-
TIONDATA block and the VERTICES and CELL2D blocks.
RHS—If the RHS keyword is also included, then the XT3D additional terms will be added to the right-
hand side. If the RHS keyword is excluded, then the XT3D terms will be put into the coefficient
matrix.
SAVE SPECIFIC DISCHARGE—keyword to indicate that x, y, and z components of specific discharge
will be calculated at cell centers and written to the budget file, which is specified with “BUDGET
SAVE FILE” in Output Control. If this option is activated, then additional information may be
required in the discretization packages and the GWF Exchange package (if GWF models are cou-
pled). Specifically, ANGLDEGX must be specified in the CONNECTIONDATA block of the DISU
Package; ANGLDEGX must also be specified for the GWF Exchange as an auxiliary variable.
SAVE SATURATION—keyword to indicate that cell saturation will be written to the budget file, which is
specified with “BUDGET SAVE FILE” in Output Control. Saturation will be saved to the budget
file as an auxiliary variable saved with the DATA-SAT text label. Saturation is a cell variable that
ranges from zero to one and can be used by post processing programs to determine how much of a
cell volume is saturated. If ICELLTYPE is 0, then saturation is always one.
46 MODFLOW 6 – Description of Input and Output
K22OVERK—keyword to indicate that specified K22 is a ratio of K22 divided by K. If this option is spec-
ified, then the K22 array entered in the NPF Package will be multiplied by K after being read.
K33OVERK—keyword to indicate that specified K33 is a ratio of K33 divided by K. If this option is spec-
ified, then the K33 array entered in the NPF Package will be multiplied by K after being read.
Block: GRIDDATA
icelltype—flag for each cell that specifies how saturated thickness is treated. 0 means saturated thick-
ness is held constant; >0 means saturated thickness varies with computed head when head is below
the cell top; <0 means saturated thickness varies with computed head unless the THICKSTRT
option is in effect. When THICKSTRT is in effect, a negative value of icelltype indicates that sat-
urated thickness will be computed as STRT-BOT and held constant.
k—is the hydraulic conductivity. For the common case in which the user would like to specify the hor-
izontal hydraulic conductivity and the vertical hydraulic conductivity, then K should be assigned as
the horizontal hydraulic conductivity, K33 should be assigned as the vertical hydraulic conductiv-
ity, and textttK22 and the three rotation angles should not be specified. When more sophisticated
anisotropy is required, then K corresponds to the K11 hydraulic conductivity axis. All included cells
(IDOMAIN > 0) must have a K value greater than zero.
k22—is the hydraulic conductivity of the second ellipsoid axis (or the ratio of K22/K if the K22OVERK
option is specified); for an unrotated case this is the hydraulic conductivity in the y direction. If K22
is not included in the GRIDDATA block, then K22 is set equal to K. For a regular MODFLOW grid
(DIS Package is used) in which no rotation angles are specified, K22 is the hydraulic conductivity
along columns in the y direction. For an unstructured DISU grid, the user must assign principal x
and y axes and provide the angle for each cell face relative to the assigned x direction. All included
cells (IDOMAIN > 0) must have a K22 value greater than zero.
k33—is the hydraulic conductivity of the third ellipsoid axis (or the ratio of K33/K if the K33OVERK
option is specified); for an unrotated case, this is the vertical hydraulic conductivity. When
anisotropy is applied, K33 corresponds to the K33 tensor component. All included cells (IDOMAIN
> 0) must have a K33 value greater than zero.
angle1—is a rotation angle of the hydraulic conductivity tensor in degrees. The angle represents
the first of three sequential rotations of the hydraulic conductivity ellipsoid. With the K11, K22,
and K33 axes of the ellipsoid initially aligned with the x, y, and z coordinate axes, respectively,
ANGLE1 rotates the ellipsoid about its K33 axis (within the x - y plane). A positive value repre-
sents counter-clockwise rotation when viewed from any point on the positive K33 axis, looking
toward the center of the ellipsoid. A value of zero indicates that the K11 axis lies within the x - z
plane. If ANGLE1 is not specified, default values of zero are assigned to ANGLE1, ANGLE2, and
ANGLE3, in which case the K11, K22, and K33 axes are aligned with the x, y, and z axes, respec-
tively.
angle2—is a rotation angle of the hydraulic conductivity tensor in degrees. The angle represents the
second of three sequential rotations of the hydraulic conductivity ellipsoid. Following the rotation
by ANGLE1 described above, ANGLE2 rotates the ellipsoid about its K22 axis (out of the x - y
plane). An array can be specified for ANGLE2 only if ANGLE1 is also specified. A positive value
of ANGLE2 represents clockwise rotation when viewed from any point on the positive K22 axis,
looking toward the center of the ellipsoid. A value of zero indicates that the K11 axis lies within
the x - y plane. If ANGLE2 is not specified, default values of zero are assigned to ANGLE2 and
ANGLE3; connections that are not user-designated as vertical are assumed to be strictly horizontal
Groundwater Flow (GWF) Model Input 47
(that is, to have no z component to their orientation); and connection lengths are based on horizontal
distances.
angle3—is a rotation angle of the hydraulic conductivity tensor in degrees. The angle represents the
third of three sequential rotations of the hydraulic conductivity ellipsoid. Following the rotations
by ANGLE1 and ANGLE2 described above, ANGLE3 rotates the ellipsoid about its K11 axis. An
array can be specified for ANGLE3 only if ANGLE1 and ANGLE2 are also specified. An array
must be specified for ANGLE3 if ANGLE2 is specified. A positive value of ANGLE3 represents
clockwise rotation when viewed from any point on the positive K11 axis, looking toward the center
of the ellipsoid. A value of zero indicates that the K22 axis lies within the x - y plane.
wetdry—is a combination of the wetting threshold and a flag to indicate which neighboring cells can
cause a cell to become wet. If WETDRY < 0, only a cell below a dry cell can cause the cell to
become wet. If WETDRY > 0, the cell below a dry cell and horizontally adjacent cells can cause
a cell to become wet. If WETDRY is 0, the cell cannot be wetted. The absolute value of WETDRY
is the wetting threshold. When the sum of BOT and the absolute value of WETDRY at a dry cell is
equaled or exceeded by the head at an adjacent cell, the cell is wetted. WETDRY must be specified
if “REWET” is specified in the OPTIONS block. If “REWET” is not specified in the options block,
then WETDRY can be entered, and memory will be allocated for it, even though it is not used.
BEGIN OPTIONS
SAVE_FLOWS
END OPTIONS
BEGIN GRIDDATA
#
#icelltype(nodes) is 0:confined, 1:convertible
ICELLTYPE
constant 0
#
# horizontal hydraulic conductivity
K
constant 1.0
#
# vertical hydraulic conductivity
K33
constant 0.1
END GRIDDATA
48 MODFLOW 6 – Description of Input and Output
Structure of Blocks
BEGIN DIMENSIONS
MAXHFB <maxhfb>
END DIMENSIONS
Explanation of Variables
Block: OPTIONS
PRINT INPUT—keyword to indicate that the list of horizontal flow barriers will be written to the listing
file immediately after it is read.
Block: DIMENSIONS
maxhfb—integer value specifying the maximum number of horizontal flow barriers that will be entered
in this input file. The value of MAXHFB is used to allocate memory for the horizontal flow barriers.
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
cellid1—identifier for the first cell. For a structured grid that uses the DIS input file, CELLID1 is the
layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLID1 is
the layer number and CELL2D number for the two cells. If the model uses the unstructured dis-
cretization (DISU) input file, then CELLID1 is the node numbers for the cell. The barrier is located
Groundwater Flow (GWF) Model Input 49
between cells designated as CELLID1 and CELLID2. For models that use the DIS and DISV grid
types, the layer number for CELLID1 and CELLID2 must be the same. For all grid types, cells must
be horizontally adjacent or the program will terminate with an error.
cellid2—identifier for the second cell. See CELLID1 for description of how to specify.
hydchr—is the hydraulic characteristic of the horizontal-flow barrier. The hydraulic characteristic is the
barrier hydraulic conductivity divided by the width of the horizontal-flow barrier. If the hydraulic
characteristic is negative, then the absolute value of HYDCHR acts as a multiplier to the conduc-
tance between the two model cells specified as containing the barrier. For example, if the value for
HYDCHR was specified as -1.5, the conductance calculated for the two cells would be multiplied
by 1.5.
BEGIN OPTIONS
PRINT_INPUT
END OPTIONS
BEGIN DIMENSIONS
MAXHFB 1
END DIMENSIONS
BEGIN PERIOD 1
#L1 R1 C1 L2 R2 C2 HYDCHR
1 1 4 1 1 5 0.1
END PERIOD 1
50 MODFLOW 6 – Description of Input and Output
Structure of Blocks
BEGIN GRIDDATA
ICONVERT [LAYERED]
<iconvert(nodes)> -- READARRAY
SS [LAYERED]
<ss(nodes)> -- READARRAY
SY [LAYERED]
<sy(nodes)> -- READARRAY
END GRIDDATA
Explanation of Variables
Block: OPTIONS
SAVE FLOWS—keyword to indicate that cell-by-cell flow terms will be written to the file specified with
“BUDGET SAVE FILE” in Output Control.
STORAGECOEFFICIENT—keyword to indicate that the SS array is read as storage coefficient rather than
specific storage.
Block: GRIDDATA
iconvert—is a flag for each cell that specifies whether or not a cell is convertible for the storage cal-
culation. 0 indicates confined storage is used. >0 indicates confined storage is used when head is
above cell top and a mixed formulation of unconfined and confined storage is used when head is
below cell top.
ss—is specific storage (or the storage coefficient if STORAGECOEFFICIENT is specified as an
option). Specific storage values must be greater than or equal to 0. If the CSUB Package is included
in the GWF model, specific storage must be zero for every cell.
Groundwater Flow (GWF) Model Input 51
sy—is specific yield. Specific yield values must be greater than or equal to 0. Specific yield does not
have to be specified if there are no convertible cells (ICONVERT=0 in every cell).
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
STEADY-STATE—keyword to indicate that stress period IPER is steady-state. Steady-state conditions
will apply until the TRANSIENT keyword is specified in a subsequent BEGIN PERIOD block. If
the CSUB Package is included in the GWF model, only the first and last stress period can be steady-
state.
TRANSIENT—keyword to indicate that stress period IPER is transient. Transient conditions will apply
until the STEADY-STATE keyword is specified in a subsequent BEGIN PERIOD block.
BEGIN OPTIONS
SAVE_FLOWS
END OPTIONS
BEGIN GRIDDATA
#cell storage conversion 0:confined, 1:convertible
ICONVERT
constant 1
#specific storage (for all model cells)
SS
constant 1.e-5
#specific yield (specified by layer because of LAYERED keyword)
SY LAYERED
constant 0.2
constant 0.15
constant 0.15
END GRIDDATA
BEGIN PERIOD 1
STEADY-STATE
END PERIOD
BEGIN PERIOD 2
TRANSIENT
END PERIOD
BEGIN PERIOD 4
STEADY-STATE
END PERIOD
52 MODFLOW 6 – Description of Input and Output
Structure of Blocks
BEGIN DIMENSIONS
NINTERBEDS <ninterbeds>
[MAXSIG0 <maxsig0>]
END DIMENSIONS
BEGIN GRIDDATA
CG_SKE_CR
<cg_ske_cr(nodes)> -- READARRAY
CG_THETA
<cg_theta(nodes)> -- READARRAY
[SGM
<sgm(nodes)> -- READARRAY]
[SGS
<sgs(nodes)> -- READARRAY]
END GRIDDATA
BEGIN PACKAGEDATA
<icsubno> <cellid(ncelldim)> <cdelay> <pcs0> <thick_frac> <rnb> <ssv_cc> <sse_cr> <theta> <kv> <h0> [<boundname>]
<icsubno> <cellid(ncelldim)> <cdelay> <pcs0> <thick_frac> <rnb> <ssv_cc> <sse_cr> <theta> <kv> <h0> [<boundname>]
Groundwater Flow (GWF) Model Input 53
...
END PACKAGEDATA
All of the stress package information in the PERIOD block will continue to apply for subsequent stress periods
until the end of the simulation, or until another PERIOD block is encountered. When a new PERIOD block
is encountered, all of the stresses from the previous block are replaced with the stresses in the new PERIOD
block. Note that this behavior is different from the advanced packages (MAW, SFR, LAK, and UZF). To turn
off all of the stresses for a stress period, a PERIOD block must be specified with no entries. If a PERIOD
block is not specified for the first stress period, then no stresses will be applied until the iper value of the first
PERIOD block in the file.
Explanation of Variables
Block: OPTIONS
BOUNDNAMES—keyword to indicate that boundary names may be provided with the list of CSUB cells.
PRINT INPUT—keyword to indicate that the list of CSUB information will be written to the listing file
immediately after it is read.
SAVE FLOWS—keyword to indicate that cell-by-cell flow terms will be written to the file specified with
“BUDGET SAVE FILE” in Output Control.
gammaw—unit weight of water. For freshwater, GAMMAW is 9806.65 Newtons/cubic meters or 62.48
lb/cubic foot in SI and English units, respectively. By default, GAMMAW is 9806.65 Newtons/cu-
bic meters.
beta—compressibility of water. Typical values of BETA are 4.6512e-10 1/Pa or 2.2270e-8 lb/square
foot in SI and English units, respectively. By default, BETA is 4.6512e-10 1/Pa.
HEAD BASED—keyword to indicate the head-based formulation will be used to simulate coarse-grained
aquifer materials and no-delay and delay interbeds. Specifying HEAD BASED also specifies the
INITIAL PRECONSOLIDATION HEAD option.
INITIAL PRECONSOLIDATION HEAD—keyword to indicate that preconsolidation heads will
be specified for no-delay and delay interbeds in the PACKAGEDATA block. If the SPECI-
FIED INITIAL INTERBED STATE option is specified in the OPTIONS block, user-specified pre-
consolidation heads in the PACKAGEDATA block are absolute values. Otherwise, user-specified
preconsolidation heads in the PACKAGEDATA block are relative to steady-state or initial heads.
ndelaycells—number of nodes used to discretize delay interbeds. If not specified, then a default value
of 19 is assigned.
COMPRESSION INDICES—keyword to indicate that the recompression (CR) and compression (CC)
indices are specified instead of the elastic specific storage (SSE) and inelastic specific storage (SSV)
coefficients. If not specified, then elastic specific storage (SSE) and inelastic specific storage (SSV)
coefficients must be specified.
54 MODFLOW 6 – Description of Input and Output
UPDATE MATERIAL PROPERTIES—keyword to indicate that the thickness and void ratio of coarse-
grained and interbed sediments (delay and no-delay) will vary during the simulation. If not speci-
fied, the thickness and void ratio of coarse-grained and interbed sediments will not vary during the
simulation.
CELL FRACTION—keyword to indicate that the thickness of interbeds will be specified in terms of the
fraction of cell thickness. If not specified, interbed thicknness must be specified.
SPECIFIED INITIAL INTERBED STATE—keyword to indicate that absolute preconsolidation stresses
(heads) and delay bed heads will be specified for interbeds defined in the PACKAGEDATA block.
The SPECIFIED INITIAL INTERBED STATE option is equivalent to specifying the SPECI-
FIED INITIAL PRECONSOLITATION STRESS and SPECIFIED INITIAL DELAY HEAD. If
SPECIFIED INITIAL INTERBED STATE is not specified then preconsolidation stress (head) and
delay bed head values specified in the PACKAGEDATA block are relative to simulated values of the
first stress period if steady-state or initial stresses and GWF heads if the first stress period is tran-
sient.
SPECIFIED INITIAL PRECONSOLIDATION STRESS—keyword to indicate that absolute preconsolida-
tion stresses (heads) will be specified for interbeds defined in the PACKAGEDATA block. If SPEC-
IFIED INITIAL PRECONSOLITATION STRESS and SPECIFIED INITIAL INTERBED STATE
are not specified then preconsolidation stress (head) values specified in the PACKAGEDATA block
are relative to simulated values if the first stress period is steady-state or initial stresses (heads) if the
first stress period is transient.
SPECIFIED INITIAL DELAY HEAD—keyword to indicate that absolute initial delay bed
head will be specified for interbeds defined in the PACKAGEDATA block. If SPECI-
FIED INITIAL DELAY HEAD and SPECIFIED INITIAL INTERBED STATE are not specified
then delay bed head values specified in the PACKAGEDATA block are relative to simulated values
if the first stress period is steady-state or initial GWF heads if the first stress period is transient.
EFFECTIVE STRESS LAG—keyword to indicate the effective stress from the previous time step will be
used to calculate specific storage values. This option can 1) help with convergence in models with
thin cells and water table elevations close to land surface; 2) is identical to the approach used in the
SUBWT package for MODFLOW-2005; and 3) is only used if the effective-stress formulation is
being used. By default, current effective stress values are used to calculate specific storage values.
STRAIN CSV INTERBED—keyword to specify the record that corresponds to final interbed strain output.
FILEOUT—keyword to specify that an output filename is expected next.
interbedstrain filename—name of the comma-separated-values output file to write final interbed
strain information.
STRAIN CSV COARSE—keyword to specify the record that corresponds to final coarse-grained material
strain output.
coarsestrain filename—name of the comma-separated-values output file to write final coarse-
grained material strain information.
COMPACTION—keyword to specify that record corresponds to the compaction.
compaction filename—name of the binary output file to write compaction information.
COMPACTION ELASTIC—keyword to specify that record corresponds to the elastic interbed compaction
binary file.
elastic compaction filename—name of the binary output file to write elastic interbed compaction
information.
Groundwater Flow (GWF) Model Input 55
COMPACTION INELASTIC—keyword to specify that record corresponds to the inelastic interbed com-
paction binary file.
inelastic compaction filename—name of the binary output file to write inelastic interbed com-
paction information.
COMPACTION INTERBED—keyword to specify that record corresponds to the interbed compaction binary
file.
interbed compaction filename—name of the binary output file to write interbed compaction infor-
mation.
COMPACTION COARSE—keyword to specify that record corresponds to the elastic coarse-grained mate-
rial compaction binary file.
coarse compaction filename—name of the binary output file to write elastic coarse-grained mate-
rial compaction information.
ZDISPLACEMENT—keyword to specify that record corresponds to the z-displacement binary file.
zdisplacement filename—name of the binary output file to write z-displacement information.
PACKAGE CONVERGENCE—keyword to specify that record corresponds to the package convergence
comma spaced values file.
package convergence filename—name of the comma spaced values output file to write package
convergence information.
TS6—keyword to specify that record corresponds to a time-series file.
FILEIN—keyword to specify that an input filename is expected next.
ts6 filename—defines a time-series file defining time series that can be used to assign time-varying
values. See the “Time-Variable Input” section for instructions on using the time-series capability.
OBS6—keyword to specify that record corresponds to an observations file.
obs6 filename—name of input file to define observations for the CSUB package. See the “Observa-
tion utility” section for instructions for preparing observation input files. Table 21 lists observation
type(s) supported by the CSUB package.
Block: DIMENSIONS
ninterbeds—is the number of CSUB interbed systems. More than 1 CSUB interbed systems can be
assigned to a GWF cell; however, only 1 GWF cell can be assigned to a single CSUB interbed sys-
tem.
maxsig0—is the maximum number of cells that can have a specified stress offset. More than 1 stress
offset can be assigned to a GWF cell. By default, MAXSIG0 is 0.
Block: GRIDDATA
cg ske cr—is the initial elastic coarse-grained material specific storage or recompression index. The
recompression index is specified if COMPRESSION INDICES is specified in the OPTIONS block.
Specified or calculated elastic coarse-grained material specific storage values are not adjusted from
initial values if HEAD BASED is specified in the OPTIONS block.
cg theta—is the initial porosity of coarse-grained materials.
sgm—is the specific gravity of moist or unsaturated sediments. If not specified, then a default value of
1.7 is assigned.
56 MODFLOW 6 – Description of Input and Output
sgs—is the specific gravity of saturated sediments. If not specified, then a default value of 2.0 is
assigned.
Block: PACKAGEDATA
icsubno—integer value that defines the CSUB interbed number associated with the specified PACK-
AGEDATA data on the line. CSUBNO must be greater than zero and less than or equal to NIN-
TERBEDS. CSUB information must be specified for every CSUB cell or the program will termi-
nate with an error. The program will also terminate with an error if information for a CSUB interbed
number is specified more than once.
cellid—is the cell identifier, and depends on the type of grid that is used for the simulation. For a
structured grid that uses the DIS input file, CELLID is the layer, row, and column. For a grid that
uses the DISV input file, CELLID is the layer and CELL2D number. If the model uses the unstruc-
tured discretization (DISU) input file, CELLID is the node number for the cell.
cdelay—character string that defines the subsidence delay type for the interbed. Possible subsidence
package CDELAY strings include: NODELAY–character keyword to indicate that delay will not be
simulated in the interbed. DELAY–character keyword to indicate that delay will be simulated in the
interbed.
pcs0—is the initial offset from the calculated initial effective stress or initial preconsoli-
dation stress in the interbed, in units of height of a column of water. PCS0 is the ini-
tial preconsolidation stress if SPECIFIED INITIAL INTERBED STATE or SPECI-
FIED INITIAL PRECONSOLIDATION STRESS are specified in the OPTIONS block. If
HEAD BASED is specified in the OPTIONS block, PCS0 is the initial offset from the calculated
initial head or initial preconsolidation head in the CSUB interbed and the initial preconsolidation
stress is calculated from the calculated initial effective stress or calculated initial geostatic stress,
respectively.
thick frac—is the interbed thickness or cell fraction of the interbed. Interbed thickness is specified as
a fraction of the cell thickness if CELL FRACTION is specified in the OPTIONS block.
rnb—is the interbed material factor equivalent number of interbeds in the interbed system represented
by the interbed. RNB must be greater than or equal to 1 if CDELAY is DELAY. Otherwise, RNB
can be any value.
ssv cc—is the initial inelastic specific storage or compression index of the interbed. The compres-
sion index is specified if COMPRESSION INDICES is specified in the OPTIONS block. Spec-
ified or calculated interbed inelastic specific storage values are not adjusted from initial values if
HEAD BASED is specified in the OPTIONS block.
sse cr—is the initial elastic coarse-grained material specific storage or recompression index of the
interbed. The recompression index is specified if COMPRESSION INDICES is specified in the
OPTIONS block. Specified or calculated interbed elastic specific storage values are not adjusted
from initial values if HEAD BASED is specified in the OPTIONS block.
theta—is the initial porosity of the interbed.
kv—is the vertical hydraulic conductivity of the delay interbed. KV must be greater than 0 if CDELAY
is DELAY. Otherwise, KV can be any value.
h0—is the initial offset from the head in cell cellid or the initial head in the delay interbed. H0
is the initial head in the delay bed if SPECIFIED INITIAL INTERBED STATE or SPECI-
FIED INITIAL DELAY HEAD are specified in the OPTIONS block. H0 can be any value if CDE-
LAY is NODELAY.
Groundwater Flow (GWF) Model Input 57
boundname—name of the CSUB cell. BOUNDNAME is an ASCII character variable that can con-
tain as many as 40 characters. If BOUNDNAME contains spaces in it, then the entire name must
be enclosed within single quotes.
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
cellid—is the cell identifier, and depends on the type of grid that is used for the simulation. For a
structured grid that uses the DIS input file, CELLID is the layer, row, and column. For a grid that
uses the DISV input file, CELLID is the layer and CELL2D number. If the model uses the unstruc-
tured discretization (DISU) input file, CELLID is the node number for the cell.
sig0—is the stress offset for the cell. SIG0 is added to the calculated geostatic stress for the cell. SIG0
is specified only if MAXSIG0 is specified to be greater than 0 in the DIMENSIONS block. If the
Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values
can be obtained from a time series by entering the time-series name in place of a numeric value.
BEGIN DIMENSIONS
NINTERBEDS 4
MAXSIG0 1
END DIMENSIONS
BEGIN GRIDDATA
# compression indices of coarse grained aquifer materials
cg_ske_cr LAYERED
CONSTANT 0.01
CONSTANT 0.01
CONSTANT 0.01
CONSTANT 0.01
# porosity of coarse grained aquifer materials
cg_theta LAYERED
CONSTANT 0.45
CONSTANT 0.45
CONSTANT 0.45
CONSTANT 0.45
# specific gravity of saturated sediment
SGS LAYERED
CONSTANT 2.0
CONSTANT 2.0
CONSTANT 2.0
CONSTANT 2.0
# specific gravity of moist sediment
58 MODFLOW 6 – Description of Input and Output
SGM LAYERED
CONSTANT 1.7
CONSTANT 1.7
CONSTANT 1.7
CONSTANT 1.7
END GRIDDATA
BEGIN PACKAGEDATA
# icsubsno cellid cdelay pcs0 thick_frac rnb ssv_cc sse_cr theta kv h0 boundname
1 1 1 6 delay 15.0 0.450 1.0 0.25 0.01 0.45 0.1 15. nsystm0
2 1 1 7 nodelay 15.0 0.450 1.0 0.25 0.01 0.45 0.0 0.0 nsystm1
3 1 1 8 nodelay 15.0 0.450 1.0 0.25 0.01 0.45 0.0 0.0 nsystm1
4 1 1 9 delay 15.0 0.450 1.0 0.25 0.01 0.45 0.1 15. nsystm2
END PACKAGEDATA
BEGIN PERIOD 1
# stress offset for stress period 1
1 1 6 1700.00000000
END PERIOD
Structure of Blocks
BEGIN DIMENSIONS
MAXBOUND <maxbound>
END DIMENSIONS
All of the stress package information in the PERIOD block will continue to apply for subsequent stress periods
until the end of the simulation, or until another PERIOD block is encountered. When a new PERIOD block
is encountered, all of the stresses from the previous block are replaced with the stresses in the new PERIOD
block. Note that this behavior is different from the advanced packages (MAW, SFR, LAK, and UZF). To turn
off all of the stresses for a stress period, a PERIOD block must be specified with no entries. If a PERIOD
block is not specified for the first stress period, then no stresses will be applied until the iper value of the first
PERIOD block in the file.
Explanation of Variables
Block: OPTIONS
Groundwater Flow (GWF) Model Input 63
auxiliary—defines an array of one or more auxiliary variable names. There is no limit on the number
of auxiliary variables that can be provided on this line; however, lists of information provided in
subsequent blocks must have a column of data for each auxiliary variable name defined here. The
number of auxiliary variables detected on this line determines the value for naux. Comments cannot
be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary
variables may not be used by the package, but they will be available for use by other parts of the
program. The program will terminate with an error if auxiliary variables are specified on more than
one line in the options block.
auxmultname—name of auxiliary variable to be used as multiplier of CHD head value.
BOUNDNAMES—keyword to indicate that boundary names may be provided with the list of constant-head
cells.
PRINT INPUT—keyword to indicate that the list of constant-head information will be written to the list-
ing file immediately after it is read.
PRINT FLOWS—keyword to indicate that the list of constant-head flow rates will be printed to the listing
file for every stress period time step in which “BUDGET PRINT” is specified in Output Control. If
there is no Output Control option and “PRINT FLOWS” is specified, then flow rates are printed for
the last time step of each stress period.
SAVE FLOWS—keyword to indicate that constant-head flow terms will be written to the file specified
with “BUDGET FILEOUT” in Output Control.
TS6—keyword to specify that record corresponds to a time-series file.
FILEIN—keyword to specify that an input filename is expected next.
ts6 filename—defines a time-series file defining time series that can be used to assign time-varying
values. See the “Time-Variable Input” section for instructions on using the time-series capability.
OBS6—keyword to specify that record corresponds to an observations file.
obs6 filename—name of input file to define observations for the constant-head package. See the
“Observation utility” section for instructions for preparing observation input files. Table 21 lists
observation type(s) supported by the constant-head package.
Block: DIMENSIONS
maxbound—integer value specifying the maximum number of constant-head cells that will be specified
for use during any stress period.
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
cellid—is the cell identifier, and depends on the type of grid that is used for the simulation. For a
structured grid that uses the DIS input file, CELLID is the layer, row, and column. For a grid that
uses the DISV input file, CELLID is the layer and CELL2D number. If the model uses the unstruc-
tured discretization (DISU) input file, CELLID is the node number for the cell.
64 MODFLOW 6 – Description of Input and Output
head—is the head at the boundary. If the Options block includes a TIMESERIESFILE entry (see the
“Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
aux—represents the values of the auxiliary variables for each constant head. The values of auxiliary
variables must be present for each constant head. The values must be specified in the order of the
auxiliary variables specified in the OPTIONS block. If the package supports time series and the
Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values
can be obtained from a time series by entering the time-series name in place of a numeric value.
boundname—name of the constant head boundary cell. BOUNDNAME is an ASCII character variable
that can contain as many as 40 characters. If BOUNDNAME contains spaces in it, then the entire
name must be enclosed within single quotes.
BEGIN PERIOD 1
#l r c head temperature boundname
1 1 2 100. 20.5 chd_1_2
1 1 3 100. 20.4 chd_1_3
END PERIOD 1
BEGIN OPTIONS
DIGITS 8
PRINT_INPUT
END OPTIONS
Structure of Blocks
BEGIN DIMENSIONS
MAXBOUND <maxbound>
END DIMENSIONS
All of the stress package information in the PERIOD block will continue to apply for subsequent stress periods
until the end of the simulation, or until another PERIOD block is encountered. When a new PERIOD block
is encountered, all of the stresses from the previous block are replaced with the stresses in the new PERIOD
block. Note that this behavior is different from the advanced packages (MAW, SFR, LAK, and UZF). To turn
off all of the stresses for a stress period, a PERIOD block must be specified with no entries. If a PERIOD
block is not specified for the first stress period, then no stresses will be applied until the iper value of the first
PERIOD block in the file.
Explanation of Variables
Block: OPTIONS
auxiliary—defines an array of one or more auxiliary variable names. There is no limit on the number
of auxiliary variables that can be provided on this line; however, lists of information provided in
subsequent blocks must have a column of data for each auxiliary variable name defined here. The
number of auxiliary variables detected on this line determines the value for naux. Comments cannot
be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary
variables may not be used by the package, but they will be available for use by other parts of the
program. The program will terminate with an error if auxiliary variables are specified on more than
one line in the options block.
Groundwater Flow (GWF) Model Input 67
Block: DIMENSIONS
maxbound—integer value specifying the maximum number of wells cells that will be specified for use
during any stress period.
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
cellid—is the cell identifier, and depends on the type of grid that is used for the simulation. For a
structured grid that uses the DIS input file, CELLID is the layer, row, and column. For a grid that
uses the DISV input file, CELLID is the layer and CELL2D number. If the model uses the unstruc-
tured discretization (DISU) input file, CELLID is the node number for the cell.
68 MODFLOW 6 – Description of Input and Output
q—is the volumetric well rate. A positive value indicates recharge (injection) and a negative value indi-
cates discharge (extraction). If the Options block includes a TIMESERIESFILE entry (see the
“Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
aux—represents the values of the auxiliary variables for each well. The values of auxiliary variables
must be present for each well. The values must be specified in the order of the auxiliary variables
specified in the OPTIONS block. If the package supports time series and the Options block includes
a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a
time series by entering the time-series name in place of a numeric value.
boundname—name of the well cell. BOUNDNAME is an ASCII character variable that can contain
as many as 40 characters. If BOUNDNAME contains spaces in it, then the entire name must be
enclosed within single quotes.
#wells 1 and 2
7 102 17 -19000 275.9 17.6 CW_1
9 192 44 -13000 280.0 24.0 CW_2
#wells 3 through 5
9 109 67 -24000 295.1 12.1 CW_3
10 43 17 -12000 301.3 9.6 CW_4
11 12 17 -17000 315.0 18.6 CW_5
END PERIOD
BEGIN OPTIONS
DIGITS 7
PRINT_INPUT
END OPTIONS
Structure of Blocks
BEGIN DIMENSIONS
MAXBOUND <maxbound>
END DIMENSIONS
All of the stress package information in the PERIOD block will continue to apply for subsequent stress periods
until the end of the simulation, or until another PERIOD block is encountered. When a new PERIOD block
is encountered, all of the stresses from the previous block are replaced with the stresses in the new PERIOD
block. Note that this behavior is different from the advanced packages (MAW, SFR, LAK, and UZF). To turn
off all of the stresses for a stress period, a PERIOD block must be specified with no entries. If a PERIOD
block is not specified for the first stress period, then no stresses will be applied until the iper value of the first
PERIOD block in the file.
Explanation of Variables
Block: OPTIONS
auxiliary—defines an array of one or more auxiliary variable names. There is no limit on the number
of auxiliary variables that can be provided on this line; however, lists of information provided in
subsequent blocks must have a column of data for each auxiliary variable name defined here. The
number of auxiliary variables detected on this line determines the value for naux. Comments cannot
be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary
variables may not be used by the package, but they will be available for use by other parts of the
program. The program will terminate with an error if auxiliary variables are specified on more than
one line in the options block.
Groundwater Flow (GWF) Model Input 71
Block: DIMENSIONS
maxbound—integer value specifying the maximum number of drains cells that will be specified for use
during any stress period.
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
72 MODFLOW 6 – Description of Input and Output
cellid—is the cell identifier, and depends on the type of grid that is used for the simulation. For a
structured grid that uses the DIS input file, CELLID is the layer, row, and column. For a grid that
uses the DISV input file, CELLID is the layer and CELL2D number. If the model uses the unstruc-
tured discretization (DISU) input file, CELLID is the node number for the cell.
elev—is the elevation of the drain. If the Options block includes a TIMESERIESFILE entry (see the
“Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
cond—is the hydraulic conductance of the interface between the aquifer and the drain. If the Options
block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be
obtained from a time series by entering the time-series name in place of a numeric value.
aux—represents the values of the auxiliary variables for each drain. The values of auxiliary variables
must be present for each drain. The values must be specified in the order of the auxiliary variables
specified in the OPTIONS block. If the package supports time series and the Options block includes
a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a
time series by entering the time-series name in place of a numeric value.
boundname—name of the drain cell. BOUNDNAME is an ASCII character variable that can contain
as many as 40 characters. If BOUNDNAME contains spaces in it, then the entire name must be
enclosed within single quotes.
#The following block of drains will be activated for for the entire stress period
BEGIN PERIOD 1
#node elevation conductance boundname
73 10.2 1000. my_drn
76 10.2 1000. my_drn
79 10.2 1000. my_drn
80 10.2 1000. my_drn
81 10.2 1000. my_drn
END PERIOD
BEGIN OPTIONS
DIGITS 8
PRINT_INPUT
END OPTIONS
Structure of Blocks
BEGIN DIMENSIONS
MAXBOUND <maxbound>
END DIMENSIONS
All of the stress package information in the PERIOD block will continue to apply for subsequent stress periods
until the end of the simulation, or until another PERIOD block is encountered. When a new PERIOD block
is encountered, all of the stresses from the previous block are replaced with the stresses in the new PERIOD
block. Note that this behavior is different from the advanced packages (MAW, SFR, LAK, and UZF). To turn
off all of the stresses for a stress period, a PERIOD block must be specified with no entries. If a PERIOD
block is not specified for the first stress period, then no stresses will be applied until the iper value of the first
PERIOD block in the file.
Explanation of Variables
Block: OPTIONS
auxiliary—defines an array of one or more auxiliary variable names. There is no limit on the number
of auxiliary variables that can be provided on this line; however, lists of information provided in
subsequent blocks must have a column of data for each auxiliary variable name defined here. The
number of auxiliary variables detected on this line determines the value for naux. Comments cannot
be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary
variables may not be used by the package, but they will be available for use by other parts of the
program. The program will terminate with an error if auxiliary variables are specified on more than
one line in the options block.
Groundwater Flow (GWF) Model Input 75
Block: DIMENSIONS
maxbound—integer value specifying the maximum number of rivers cells that will be specified for use
during any stress period.
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
cellid—is the cell identifier, and depends on the type of grid that is used for the simulation. For a
structured grid that uses the DIS input file, CELLID is the layer, row, and column. For a grid that
uses the DISV input file, CELLID is the layer and CELL2D number. If the model uses the unstruc-
tured discretization (DISU) input file, CELLID is the node number for the cell.
stage—is the head in the river. If the Options block includes a TIMESERIESFILE entry (see the
“Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
cond—is the riverbed hydraulic conductance. If the Options block includes a TIMESERIESFILE entry
(see the “Time-Variable Input” section), values can be obtained from a time series by entering the
time-series name in place of a numeric value.
76 MODFLOW 6 – Description of Input and Output
rbot—is the elevation of the bottom of the riverbed. If the Options block includes a TIMESERIESFILE
entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering
the time-series name in place of a numeric value.
aux—represents the values of the auxiliary variables for each river. The values of auxiliary variables
must be present for each river. The values must be specified in the order of the auxiliary variables
specified in the OPTIONS block. If the package supports time series and the Options block includes
a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a
time series by entering the time-series name in place of a numeric value.
boundname—name of the river cell. BOUNDNAME is an ASCII character variable that can contain
as many as 40 characters. If BOUNDNAME contains spaces in it, then the entire name must be
enclosed within single quotes.
begin dimensions
MAXBOUND 20
end dimensions
BEGIN PERIOD 1
# layer row col stage cond rbot BoundName
1 3 1 river_stage_1 1001. 35.9
1 4 2 river_stage_1 1002. 35.8
1 5 3 river_stage_1 1003. 35.7
1 5 4 river_stage_1 1004. 35.6
1 6 5 river_stage_1 1005. 35.5
1 6 6 river_stage_1 1006. 35.4 riv1_c6
1 6 7 river_stage_1 1007. 35.3 riv1_c7
1 5 8 river_stage_1 1008. 35.2
1 5 9 river_stage_1 1009. 35.1
1 5 10 river_stage_1 1010. 35.0
1 10 1 river_stage_2 1001. 36.9 riv2_upper
1 9 2 river_stage_2 1002. 36.8 riv2_upper
1 8 3 river_stage_2 1003. 36.7 riv2_upper
1 7 4 river_stage_2 1004. 36.6
1 7 5 river_stage_2 1005. 36.5
1 6 6 river_stage_2 1006. 36.4 riv2_c6
1 6 7 river_stage_2 1007. 36.3 riv2_c7
1 7 8 river_stage_2 1008. 36.2
1 7 9 river_stage_2 1009. 36.1
1 7 10 river_stage_2 1010. 36.0
END PERIOD
BEGIN OPTIONS
DIGITS 7
PRINT_INPUT
END OPTIONS
Structure of Blocks
BEGIN DIMENSIONS
MAXBOUND <maxbound>
END DIMENSIONS
All of the stress package information in the PERIOD block will continue to apply for subsequent stress periods
until the end of the simulation, or until another PERIOD block is encountered. When a new PERIOD block
is encountered, all of the stresses from the previous block are replaced with the stresses in the new PERIOD
block. Note that this behavior is different from the advanced packages (MAW, SFR, LAK, and UZF). To turn
off all of the stresses for a stress period, a PERIOD block must be specified with no entries. If a PERIOD
block is not specified for the first stress period, then no stresses will be applied until the iper value of the first
PERIOD block in the file.
Explanation of Variables
Block: OPTIONS
auxiliary—defines an array of one or more auxiliary variable names. There is no limit on the number
of auxiliary variables that can be provided on this line; however, lists of information provided in
subsequent blocks must have a column of data for each auxiliary variable name defined here. The
number of auxiliary variables detected on this line determines the value for naux. Comments cannot
be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary
variables may not be used by the package, but they will be available for use by other parts of the
program. The program will terminate with an error if auxiliary variables are specified on more than
one line in the options block.
Groundwater Flow (GWF) Model Input 79
Block: DIMENSIONS
maxbound—integer value specifying the maximum number of general-head boundary cells that will be
specified for use during any stress period.
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
cellid—is the cell identifier, and depends on the type of grid that is used for the simulation. For a
structured grid that uses the DIS input file, CELLID is the layer, row, and column. For a grid that
uses the DISV input file, CELLID is the layer and CELL2D number. If the model uses the unstruc-
tured discretization (DISU) input file, CELLID is the node number for the cell.
bhead—is the boundary head. If the Options block includes a TIMESERIESFILE entry (see the “Time-
Variable Input” section), values can be obtained from a time series by entering the time-series name
in place of a numeric value.
80 MODFLOW 6 – Description of Input and Output
cond—is the hydraulic conductance of the interface between the aquifer cell and the boundary. If the
Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values
can be obtained from a time series by entering the time-series name in place of a numeric value.
aux—represents the values of the auxiliary variables for each general-head boundary. The values of
auxiliary variables must be present for each general-head boundary. The values must be specified
in the order of the auxiliary variables specified in the OPTIONS block. If the package supports time
series and the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input”
section), values can be obtained from a time series by entering the time-series name in place of a
numeric value.
boundname—name of the general-head boundary cell. BOUNDNAME is an ASCII character variable
that can contain as many as 40 characters. If BOUNDNAME contains spaces in it, then the entire
name must be enclosed within single quotes.
# Dimensions block
BEGIN DIMENSIONS
MAXBOUND 15
END DIMENSIONS
BEGIN OPTIONS
DIGITS 7
PRINT_INPUT
END OPTIONS
Structure of Blocks
BEGIN DIMENSIONS
MAXBOUND <maxbound>
END DIMENSIONS
All of the stress package information in the PERIOD block will continue to apply for subsequent stress periods
until the end of the simulation, or until another PERIOD block is encountered. When a new PERIOD block
is encountered, all of the stresses from the previous block are replaced with the stresses in the new PERIOD
block. Note that this behavior is different from the advanced packages (MAW, SFR, LAK, and UZF). To turn
off all of the stresses for a stress period, a PERIOD block must be specified with no entries. If a PERIOD
block is not specified for the first stress period, then no stresses will be applied until the iper value of the first
PERIOD block in the file.
Groundwater Flow (GWF) Model Input 83
Explanation of Variables
Block: OPTIONS
FIXED CELL—indicates that recharge will not be reassigned to a cell underlying the cell specified in the
list if the specified cell is inactive.
auxiliary—defines an array of one or more auxiliary variable names. There is no limit on the number
of auxiliary variables that can be provided on this line; however, lists of information provided in
subsequent blocks must have a column of data for each auxiliary variable name defined here. The
number of auxiliary variables detected on this line determines the value for naux. Comments cannot
be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary
variables may not be used by the package, but they will be available for use by other parts of the
program. The program will terminate with an error if auxiliary variables are specified on more than
one line in the options block.
auxmultname—name of auxiliary variable to be used as multiplier of recharge.
BOUNDNAMES—keyword to indicate that boundary names may be provided with the list of recharge cells.
PRINT INPUT—keyword to indicate that the list of recharge information will be written to the listing file
immediately after it is read.
PRINT FLOWS—keyword to indicate that the list of recharge flow rates will be printed to the listing file
for every stress period time step in which “BUDGET PRINT” is specified in Output Control. If
there is no Output Control option and “PRINT FLOWS” is specified, then flow rates are printed
for the last time step of each stress period.
SAVE FLOWS—keyword to indicate that recharge flow terms will be written to the file specified with
“BUDGET FILEOUT” in Output Control.
TS6—keyword to specify that record corresponds to a time-series file.
FILEIN—keyword to specify that an input filename is expected next.
ts6 filename—defines a time-series file defining time series that can be used to assign time-varying
values. See the “Time-Variable Input” section for instructions on using the time-series capability.
OBS6—keyword to specify that record corresponds to an observations file.
obs6 filename—name of input file to define observations for the Recharge package. See the “Obser-
vation utility” section for instructions for preparing observation input files. Table 21 lists observa-
tion type(s) supported by the Recharge package.
Block: DIMENSIONS
maxbound—integer value specifying the maximum number of recharge cells cells that will be specified
for use during any stress period.
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
84 MODFLOW 6 – Description of Input and Output
cellid—is the cell identifier, and depends on the type of grid that is used for the simulation. For a
structured grid that uses the DIS input file, CELLID is the layer, row, and column. For a grid that
uses the DISV input file, CELLID is the layer and CELL2D number. If the model uses the unstruc-
tured discretization (DISU) input file, CELLID is the node number for the cell.
recharge—is the recharge flux rate (LT −1 ). This rate is multiplied inside the program by the surface
area of the cell to calculate the volumetric recharge rate. If the Options block includes a TIME-
SERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a time
series by entering the time-series name in place of a numeric value.
aux—represents the values of the auxiliary variables for each recharge. The values of auxiliary variables
must be present for each recharge. The values must be specified in the order of the auxiliary vari-
ables specified in the OPTIONS block. If the package supports time series and the Options block
includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained
from a time series by entering the time-series name in place of a numeric value.
boundname—name of the recharge cell. BOUNDNAME is an ASCII character variable that can con-
tain as many as 40 characters. If BOUNDNAME contains spaces in it, then the entire name must be
enclosed within single quotes.
BEGIN DIMENSIONS
MAXBOUND 10
END DIMENSIONS
BEGIN PERIOD 1
RECHARGE
# Lay Row Col Rate Var1 Var2 mult BoundName
1 1 1 rch_1 1.0 2.0 1.0 Rch-1-1
1 1 2 rch_1 1.1 2.1 1.0 Rch-1-2
1 1 3 rch_1 1.2 2.2 0.5
1 2 1 rch_1 1.3 2.3 1.0 Rch-2-1
1 2 2 rch_1 1.4 2.4 1.0 Rch-2-2
1 2 3 rch_1 1.5 2.5 1.0
1 2 4 rch_1 1.6 2.6 0.5
1 3 1 rch_1 1.7 2.7 1.0
1 3 2 rch_1 1.8 2.8 1.0
1 3 3 rch_1 1.9 2.9 1.0
END PERIOD
BEGIN OPTIONS
PRINT_INPUT
END OPTIONS
Structure of Blocks
All of the stress package information in the PERIOD block will continue to apply for subsequent stress periods
until the end of the simulation, or until another PERIOD block is encountered. When a new PERIOD block
is encountered, all of the stresses from the previous block are replaced with the stresses in the new PERIOD
block. Note that this behavior is different from the advanced packages (MAW, SFR, LAK, and UZF). To turn
off all of the stresses for a stress period, a PERIOD block must be specified with no entries. If a PERIOD
block is not specified for the first stress period, then no stresses will be applied until the iper value of the first
PERIOD block in the file.
Explanation of Variables
Block: OPTIONS
READASARRAYS—indicates that array-based input will be used for the Recharge Package. This keyword
must be specified to use array-based input.
Groundwater Flow (GWF) Model Input 87
FIXED CELL—indicates that recharge will not be reassigned to a cell underlying the cell specified in the
list if the specified cell is inactive.
auxiliary—defines an array of one or more auxiliary variable names. There is no limit on the number
of auxiliary variables that can be provided on this line; however, lists of information provided in
subsequent blocks must have a column of data for each auxiliary variable name defined here. The
number of auxiliary variables detected on this line determines the value for naux. Comments cannot
be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary
variables may not be used by the package, but they will be available for use by other parts of the
program. The program will terminate with an error if auxiliary variables are specified on more than
one line in the options block.
auxmultname—name of auxiliary variable to be used as multiplier of recharge.
PRINT INPUT—keyword to indicate that the list of recharge information will be written to the listing file
immediately after it is read.
PRINT FLOWS—keyword to indicate that the list of recharge flow rates will be printed to the listing file
for every stress period time step in which “BUDGET PRINT” is specified in Output Control. If
there is no Output Control option and “PRINT FLOWS” is specified, then flow rates are printed
for the last time step of each stress period.
SAVE FLOWS—keyword to indicate that recharge flow terms will be written to the file specified with
“BUDGET FILEOUT” in Output Control.
TAS6—keyword to specify that record corresponds to a time-array-series file.
FILEIN—keyword to specify that an input filename is expected next.
tas6 filename—defines a time-array-series file defining a time-array series that can be used to assign
time-varying values. See the Time-Variable Input section for instructions on using the time-array
series capability.
OBS6—keyword to specify that record corresponds to an observations file.
obs6 filename—name of input file to define observations for the Recharge package. See the “Obser-
vation utility” section for instructions for preparing observation input files. Table 21 lists observa-
tion type(s) supported by the Recharge package.
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
irch—IRCH is the layer number that defines the layer in each vertical column where recharge is
applied. If IRCH is omitted, recharge by default is applied to cells in layer 1. IRCH can only be
used if READASARRAYS is specified in the OPTIONS block. If IRCH is specified, it must be
specified as the first variable in the PERIOD block or MODFLOW will terminate with an error.
recharge—is the recharge flux rate (LT −1 ). This rate is multiplied inside the program by the surface
area of the cell to calculate the volumetric recharge rate. The recharge array may be defined by a
time-array series (see the ”Using Time-Array Series in a Package” section).
88 MODFLOW 6 – Description of Input and Output
aux—is an array of values for auxiliary variable aux(iaux), where iaux is a value from 1 to naux, and
aux(iaux) must be listed as part of the auxiliary variables. A separate array can be specified for
each auxiliary variable. If an array is not specified for an auxiliary variable, then a value of zero is
assigned. If the value specified here for the auxiliary variable is the same as auxmultname, then the
recharge array will be multiplied by this array.
BEGIN OPTIONS
AUXILIARY var1 var2 mymult
READASARRAYS
PRINT_INPUT
PRINT_FLOWS
SAVE_FLOWS
AUXMULTNAME mymult
END OPTIONS
BEGIN PERIOD 1
# recharge rate
RECHARGE
constant 0.0040
END PERIOD
Groundwater Flow (GWF) Model Input 89
Structure of Blocks
BEGIN DIMENSIONS
MAXBOUND <maxbound>
NSEG <nseg>
END DIMENSIONS
All of the stress package information in the PERIOD block will continue to apply for subsequent stress periods
until the end of the simulation, or until another PERIOD block is encountered. When a new PERIOD block
is encountered, all of the stresses from the previous block are replaced with the stresses in the new PERIOD
block. Note that this behavior is different from the advanced packages (MAW, SFR, LAK, and UZF). To turn
off all of the stresses for a stress period, a PERIOD block must be specified with no entries. If a PERIOD
block is not specified for the first stress period, then no stresses will be applied until the iper value of the first
PERIOD block in the file.
Explanation of Variables
Block: OPTIONS
FIXED CELL—indicates that evapotranspiration will not be reassigned to a cell underlying the cell speci-
fied in the list if the specified cell is inactive.
auxiliary—defines an array of one or more auxiliary variable names. There is no limit on the number
of auxiliary variables that can be provided on this line; however, lists of information provided in
subsequent blocks must have a column of data for each auxiliary variable name defined here. The
number of auxiliary variables detected on this line determines the value for naux. Comments cannot
be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary
variables may not be used by the package, but they will be available for use by other parts of the
program. The program will terminate with an error if auxiliary variables are specified on more than
one line in the options block.
auxmultname—name of auxiliary variable to be used as multiplier of evapotranspiration rate.
BOUNDNAMES—keyword to indicate that boundary names may be provided with the list of evapotranspi-
ration cells.
PRINT INPUT—keyword to indicate that the list of evapotranspiration information will be written to the
listing file immediately after it is read.
PRINT FLOWS—keyword to indicate that the list of evapotranspiration flow rates will be printed to the
listing file for every stress period time step in which “BUDGET PRINT” is specified in Output Con-
trol. If there is no Output Control option and “PRINT FLOWS” is specified, then flow rates are
printed for the last time step of each stress period.
SAVE FLOWS—keyword to indicate that evapotranspiration flow terms will be written to the file specified
with “BUDGET FILEOUT” in Output Control.
TS6—keyword to specify that record corresponds to a time-series file.
FILEIN—keyword to specify that an input filename is expected next.
ts6 filename—defines a time-series file defining time series that can be used to assign time-varying
values. See the “Time-Variable Input” section for instructions on using the time-series capability.
OBS6—keyword to specify that record corresponds to an observations file.
obs6 filename—name of input file to define observations for the Evapotranspiration package. See
the “Observation utility” section for instructions for preparing observation input files. Table 21 lists
observation type(s) supported by the Evapotranspiration package.
SURF RATE SPECIFIED—indicates that the proportion of the evapotranspiration rate at the ET surface
will be specified as PETM0 in list input.
Groundwater Flow (GWF) Model Input 91
Block: DIMENSIONS
maxbound—integer value specifying the maximum number of evapotranspiration cells cells that will be
specified for use during any stress period.
nseg—number of ET segments. Default is one. When NSEG is greater than 1, PXDP and PETM arrays
must be specified NSEG - 1 times each, in order from the uppermost segment down. PXDP defines
the extinction-depth proportion at the bottom of a segment. PETM defines the proportion of the
maximum ET flux rate at the bottom of a segment.
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
cellid—is the cell identifier, and depends on the type of grid that is used for the simulation. For a
structured grid that uses the DIS input file, CELLID is the layer, row, and column. For a grid that
uses the DISV input file, CELLID is the layer and CELL2D number. If the model uses the unstruc-
tured discretization (DISU) input file, CELLID is the node number for the cell.
surface—is the elevation of the ET surface (L). If the Options block includes a TIMESERIESFILE
entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering
the time-series name in place of a numeric value.
rate—is the maximum ET flux rate (LT −1 ). If the Options block includes a TIMESERIESFILE entry
(see the “Time-Variable Input” section), values can be obtained from a time series by entering the
time-series name in place of a numeric value.
depth—is the ET extinction depth (L). If the Options block includes a TIMESERIESFILE entry (see
the “Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
pxdp—is the proportion of the ET extinction depth at the bottom of a segment (dimensionless). If the
Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values
can be obtained from a time series by entering the time-series name in place of a numeric value.
petm—is the proportion of the maximum ET flux rate at the bottom of a segment (dimensionless). If the
Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values
can be obtained from a time series by entering the time-series name in place of a numeric value.
petm0—is the proportion of the maximum ET flux rate that will apply when head is at or above the ET
surface (dimensionless). PETM0 is read only when the SURF RATE SPECIFIED option is used.
If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section),
values can be obtained from a time series by entering the time-series name in place of a numeric
value.
aux—represents the values of the auxiliary variables for each evapotranspiration. The values of auxil-
iary variables must be present for each evapotranspiration. The values must be specified in the order
of the auxiliary variables specified in the OPTIONS block. If the package supports time series and
the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), val-
ues can be obtained from a time series by entering the time-series name in place of a numeric value.
92 MODFLOW 6 – Description of Input and Output
BEGIN DIMENSIONS
MAXBOUND 10
END DIMENSIONS
BEGIN PERIOD 1
# Lay Row Col SURFACE RATE DEPTH PXPD1 PXPD2 PETM1 PETM2 Mult Name
1 1 13 110.0 et_rate 10.0 0.2 0.5 0.3 0.1 0.2 ET-1
1 2 13 110.0 et_rate 10.0 0.2 0.5 0.3 0.1 0.4 ET-2
1 3 13 110.0 et_rate 10.0 0.2 0.5 0.3 0.1 0.6 ET-3
1 4 13 110.0 et_rate 10.0 0.2 0.5 0.3 0.1 0.8 ET-4
1 5 13 110.0 2.e-2 10.0 0.2 0.5 0.3 0.1 1.0 ET-5
1 6 13 110.0 2.e-2 10.0 0.2 0.5 0.3 0.1 1.0 ET-6
1 7 13 110.0 2.e-2 10.0 0.2 0.5 0.3 0.1 0.7 ET-7
1 8 13 110.0 2.e-2 10.0 0.2 0.5 0.3 0.1 0.5 ET-8
1 9 13 110.0 2.e-2 10.0 0.2 0.5 0.3 0.1 0.3 ET-9
1 10 13 110.0 et_rate 10.0 0.2 0.5 0.3 0.1 0.1 ET-10
END PERIOD
BEGIN OPTIONS
Groundwater Flow (GWF) Model Input 93
PRINT_INPUT
END OPTIONS
Structure of Blocks
All of the stress package information in the PERIOD block will continue to apply for subsequent stress periods
until the end of the simulation, or until another PERIOD block is encountered. When a new PERIOD block
is encountered, all of the stresses from the previous block are replaced with the stresses in the new PERIOD
block. Note that this behavior is different from the advanced packages (MAW, SFR, LAK, and UZF). To turn
off all of the stresses for a stress period, a PERIOD block must be specified with no entries. If a PERIOD
block is not specified for the first stress period, then no stresses will be applied until the iper value of the first
PERIOD block in the file.
Groundwater Flow (GWF) Model Input 95
Explanation of Variables
Block: OPTIONS
READASARRAYS—indicates that array-based input will be used for the Evapotranspiration Package. This
keyword must be specified to use array-based input.
FIXED CELL—indicates that evapotranspiration will not be reassigned to a cell underlying the cell speci-
fied in the list if the specified cell is inactive.
auxiliary—defines an array of one or more auxiliary variable names. There is no limit on the number
of auxiliary variables that can be provided on this line; however, lists of information provided in
subsequent blocks must have a column of data for each auxiliary variable name defined here. The
number of auxiliary variables detected on this line determines the value for naux. Comments cannot
be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary
variables may not be used by the package, but they will be available for use by other parts of the
program. The program will terminate with an error if auxiliary variables are specified on more than
one line in the options block.
auxmultname—name of auxiliary variable to be used as multiplier of evapotranspiration rate.
PRINT INPUT—keyword to indicate that the list of evapotranspiration information will be written to the
listing file immediately after it is read.
PRINT FLOWS—keyword to indicate that the list of evapotranspiration flow rates will be printed to the
listing file for every stress period time step in which “BUDGET PRINT” is specified in Output Con-
trol. If there is no Output Control option and “PRINT FLOWS” is specified, then flow rates are
printed for the last time step of each stress period.
SAVE FLOWS—keyword to indicate that evapotranspiration flow terms will be written to the file specified
with “BUDGET FILEOUT” in Output Control.
TAS6—keyword to specify that record corresponds to a time-array-series file.
FILEIN—keyword to specify that an input filename is expected next.
tas6 filename—defines a time-array-series file defining a time-array series that can be used to assign
time-varying values. See the Time-Variable Input section for instructions on using the time-array
series capability.
OBS6—keyword to specify that record corresponds to an observations file.
obs6 filename—name of input file to define observations for the Evapotranspiration package. See
the “Observation utility” section for instructions for preparing observation input files. Table 21 lists
observation type(s) supported by the Evapotranspiration package.
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
ievt—IEVT is the layer number that defines the layer in each vertical column where evapotranspiration
is applied. If IEVT is omitted, evapotranspiration by default is applied to cells in layer 1. If IEVT is
specified, it must be specified as the first variable in the PERIOD block or MODFLOW will termi-
nate with an error.
96 MODFLOW 6 – Description of Input and Output
BEGIN OPTIONS
READASARRAYS
AUXILIARY var1 var2
PRINT_INPUT
PRINT_FLOWS
SAVE_FLOWS
END OPTIONS
BEGIN PERIOD 1
#For a structured grid, IEVT defaults to model
# layer 1, so no need to enter IEVT here.
Structure of Blocks
BEGIN DIMENSIONS
NMAWWELLS <nmawwells>
END DIMENSIONS
BEGIN PACKAGEDATA
<wellno> <radius> <bottom> <strt> <condeqn> <ngwfnodes> [<aux(naux)>] [<boundname>]
<wellno> <radius> <bottom> <strt> <condeqn> <ngwfnodes> [<aux(naux)>] [<boundname>]
...
END PACKAGEDATA
BEGIN CONNECTIONDATA
<wellno> <icon> <cellid(ncelldim)> <scrn_top> <scrn_bot> <hk_skin> <radius_skin>
<wellno> <icon> <cellid(ncelldim)> <scrn_top> <scrn_bot> <hk_skin> <radius_skin>
...
END CONNECTIONDATA
All of the advanced stress package information in the PERIOD block will continue to apply for subsequent
stress periods until the end of the simulation, or until another PERIOD block is encountered. When a new
PERIOD block is encountered only the wells specified in the new period block will be changed. A well
not specified in the new period block will continue to behave according to its specification in the previous
PERIOD block. Note that this behavior is different from the simple stress packages (CHD, WEL, DRN, RIV,
GHB, RCH and EVT), in which any stress not specified in a new PERIOD block will be removed. To turn off
98 MODFLOW 6 – Description of Input and Output
all of the advanced stresses for a stress period, a PERIOD block must be specified with settings that deactivate
the wells. If a PERIOD block is not specified for the first stress period, then no stresses will be applied.
Explanation of Variables
Block: OPTIONS
auxiliary—defines an array of one or more auxiliary variable names. There is no limit on the number
of auxiliary variables that can be provided on this line; however, lists of information provided in
subsequent blocks must have a column of data for each auxiliary variable name defined here. The
number of auxiliary variables detected on this line determines the value for naux. Comments cannot
be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary
variables may not be used by the package, but they will be available for use by other parts of the
program. The program will terminate with an error if auxiliary variables are specified on more than
one line in the options block.
BOUNDNAMES—keyword to indicate that boundary names may be provided with the list of multi-aquifer
well cells.
PRINT INPUT—keyword to indicate that the list of multi-aquifer well information will be written to the
listing file immediately after it is read.
PRINT HEAD—keyword to indicate that the list of multi-aquifer well heads will be printed to the listing
file for every stress period in which “HEAD PRINT” is specified in Output Control. If there is no
Output Control option and PRINT HEAD is specified, then heads are printed for the last time step
of each stress period.
PRINT FLOWS—keyword to indicate that the list of multi-aquifer well flow rates will be printed to the
listing file for every stress period time step in which “BUDGET PRINT” is specified in Output Con-
trol. If there is no Output Control option and “PRINT FLOWS” is specified, then flow rates are
printed for the last time step of each stress period.
SAVE FLOWS—keyword to indicate that multi-aquifer well flow terms will be written to the file specified
with “BUDGET FILEOUT” in Output Control.
HEAD—keyword to specify that record corresponds to head.
headfile—name of the binary output file to write stage information.
BUDGET—keyword to specify that record corresponds to the budget.
FILEOUT—keyword to specify that an output filename is expected next.
budgetfile—name of the binary output file to write budget information.
NO WELL STORAGE—keyword that deactivates inclusion of well storage contributions to the multi-
aquifer well package continuity equation.
FLOW CORRECTION—keyword that activates flow corrections in cases where the head in a multi-aquifer
well is below the bottom of the screen for a connection or the head in a convertible cell connected
to a multi-aquifer well is below the cell bottom. When flow corrections are activated, unit head gra-
dients are used to calculate the flow between a multi-aquifer well and a connected GWF cell. By
default, flow corrections are not made.
FLOWING WELLS—keyword that activates the flowing wells option for the multi-aquifer well package.
Groundwater Flow (GWF) Model Input 99
shutdown theta—value that defines the weight applied to discharge rate for wells that limit the water
level in a discharging well (defined using the HEAD LIMIT keyword in the stress period data).
SHUTDOWN THETA is used to control discharge rate oscillations when the flow rate from the
aquifer is less than the specified flow rate from the aquifer to the well. Values range between 0.0 and
1.0, and larger values increase the weight (decrease under-relaxation) applied to the well discharge
rate. The HEAD LIMIT option has been included to facilitate backward compatibility with previ-
ous versions of MODFLOW but use of the RATE SCALING option instead of the HEAD LIMIT
option is recommended. By default, SHUTDOWN THETA is 0.7.
shutdown kappa—value that defines the weight applied to discharge rate for wells that limit the water
level in a discharging well (defined using the HEAD LIMIT keyword in the stress period data).
SHUTDOWN KAPPA is used to control discharge rate oscillations when the flow rate from the
aquifer is less than the specified flow rate from the aquifer to the well. Values range between 0.0
and 1.0, and larger values increase the weight applied to the well discharge rate. The HEAD LIMIT
option has been included to facilitate backward compatibility with previous versions of MODFLOW
but use of the RATE SCALING option instead of the HEAD LIMIT option is recommended. By
default, SHUTDOWN KAPPA is 0.0001.
TS6—keyword to specify that record corresponds to a time-series file.
FILEIN—keyword to specify that an input filename is expected next.
ts6 filename—defines a time-series file defining time series that can be used to assign time-varying
values. See the “Time-Variable Input” section for instructions on using the time-series capability.
OBS6—keyword to specify that record corresponds to an observations file.
obs6 filename—name of input file to define observations for the MAW package. See the “Observa-
tion utility” section for instructions for preparing observation input files. Table 21 lists observation
type(s) supported by the MAW package.
MOVER—keyword to indicate that this instance of the MAW Package can be used with the Water Mover
(MVR) Package. When the MOVER option is specified, additional memory is allocated within the
package to store the available, provided, and received water.
Block: DIMENSIONS
nmawwells—integer value specifying the number of multi-aquifer wells that will be simulated for all
stress periods.
Block: PACKAGEDATA
wellno—integer value that defines the well number associated with the specified PACKAGEDATA data
on the line. WELLNO must be greater than zero and less than or equal to NMAWWELLS. Multi-
aquifer well information must be specified for every multi-aquifer well or the program will termi-
nate with an error. The program will also terminate with an error if information for a multi-aquifer
well is specified more than once.
radius—radius for the multi-aquifer well.
bottom—bottom elevation of the multi-aquifer well. The well bottom is reset to the cell bottom in the
lowermost GWF cell connection in cases where the specified well bottom is above the bottom of
this GWF cell.
strt—starting head for the multi-aquifer well.
100 MODFLOW 6 – Description of Input and Output
condeqn—character string that defines the conductance equation that is used to calculate the saturated
conductance for the multi-aquifer well. Possible multi-aquifer well CONDEQN strings include:
SPECIFIED–character keyword to indicate the multi-aquifer well saturated conductance will be
specified. THIEM–character keyword to indicate the multi-aquifer well saturated conductance will
be calculated using the Thiem equation, which considers the cell top and bottom, aquifer hydraulic
conductivity, and effective cell and well radius. SKIN–character keyword to indicate that the multi-
aquifer well saturated conductance will be calculated using the cell top and bottom, aquifer and
screen hydraulic conductivity, and well and skin radius. CUMULATIVE–character keyword to
indicate that the multi-aquifer well saturated conductance will be calculated using a combination of
the Thiem and SKIN equations. MEAN–character keyword to indicate the multi-aquifer well satu-
rated conductance will be calculated using the aquifer and screen top and bottom, aquifer and screen
hydraulic conductivity, and well and skin radius. The CUMULATIVE conductance equation is iden-
tical to the SKIN LOSSTYPE in the Multi-Node Well (MNW2) package for MODFLOW-2005.
The program will terminate with an error condition if CONDEQN is SKIN or CUMULATIVE and
the calculated saturated conductance is less than zero; if an error condition occurs, it is suggested
that the THEIM or MEAN conductance equations be used for these multi-aquifer wells.
ngwfnodes—integer value that defines the number of GWF nodes connected to this (WELLNO) multi-
aquifer well. NGWFNODES must be greater than zero.
aux—represents the values of the auxiliary variables for each multi-aquifer well. The values of auxiliary
variables must be present for each multi-aquifer well. The values must be specified in the order of
the auxiliary variables specified in the OPTIONS block. If the package supports time series and the
Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values
can be obtained from a time series by entering the time-series name in place of a numeric value.
boundname—name of the multi-aquifer well cell. BOUNDNAME is an ASCII character variable that
can contain as many as 40 characters. If BOUNDNAME contains spaces in it, then the entire name
must be enclosed within single quotes.
Block: CONNECTIONDATA
wellno—integer value that defines the well number associated with the specified CONNECTIONDATA
data on the line. WELLNO must be greater than zero and less than or equal to NMAWWELLS.
Multi-aquifer well connection information must be specified for every multi-aquifer well connection
to the GWF model (NGWFNODES) or the program will terminate with an error. The program will
also terminate with an error if connection information for a multi-aquifer well connection to the
GWF model is specified more than once.
icon—integer value that defines the GWF connection number for this multi-aquifer well connection
entry. ICONN must be greater than zero and less than or equal to NGWFNODES for multi-aquifer
well WELLNO.
cellid—is the cell identifier, and depends on the type of grid that is used for the simulation. For
a structured grid that uses the DIS input file, CELLID is the layer, row, and column. For a grid
that uses the DISV input file, CELLID is the layer and CELL2D number. If the model uses the
unstructured discretization (DISU) input file, CELLID is the node number for the cell. One or more
screened intervals can be connected to the same CELLID if CONDEQN for a well is MEAN. The
program will terminate with an error if MAW wells using SPECIFIED, THIEM, SKIN, or CUMU-
LATIVE conductance equations have more than one connection to the same CELLID.
scrn top—value that defines the top elevation of the screen for the multi-aquifer well connection. If
the specified SCRN TOP is greater than the top of the GWF cell it is set equal to the top of the cell.
Groundwater Flow (GWF) Model Input 101
SCRN TOP can be any value if CONDEQN is SPECIFIED, THIEM, SKIN, or COMPOSITE and
SCRN TOP is set to the top of the cell.
scrn bot—value that defines the bottom elevation of the screen for the multi-aquifer well connection.
If the specified SCRN BOT is less than the bottom of the GWF cell it is set equal to the bottom of
the cell. SCRN BOT can be any value if CONDEQN is SPECIFIED, THIEM, SKIN, or COMPOS-
ITE and SCRN BOT is set to the bottom of the cell.
hk skin—value that defines the skin (filter pack) hydraulic conductivity (if CONDEQN for the multi-
aquifer well is SKIN, CUMULATIVE, or MEAN) or conductance (if CONDEQN for the multi-
aquifer well is SPECIFIED) for each GWF node connected to the multi-aquifer well (NGWFN-
ODES). If CONDEQN is SPECIFIED, HK SKIN must be greater than or equal to zero. HK SKIN
can be any value if CONDEQN is THIEM. Otherwise, HK SKIN must be greater than zero. If
CONDEQN is SKIN, the contrast between the cell transmissivity (the product of geometric mean
horizontal hydraulic conductivity and the cell thickness) and the well transmissivity (the product
of HK SKIN and the screen thicknesses) must be greater than one in node CELLID or the program
will terminate with an error condition; if an error condition occurs, it is suggested that the HK SKIN
be reduced to a value less than K11 and K22 in node CELLID or the THEIM or MEAN conduc-
tance equations be used for these multi-aquifer wells.
radius skin—real value that defines the skin radius (filter pack radius) for the multi-aquifer
well. RADIUS SKIN can be any value if CONDEQN is SPECIFIED or THIEM. Otherwise,
RADIUS SKIN must be greater than RADIUS for the multi-aquifer well.
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
wellno—integer value that defines the well number associated with the specified PERIOD data on the
line. WELLNO must be greater than zero and less than or equal to NMAWWELLS.
mawsetting—line of information that is parsed into a keyword and values. Keyword values that
can be used to start the MAWSETTING string include: STATUS, FLOWING WELL, RATE,
WELL HEAD, HEAD LIMIT, SHUT OFF, RATE SCALING, and AUXILIARY.
STATUS <status>
FLOWING_WELL <fwelev> <fwcond> <fwrlen>
RATE <rate>
WELL_HEAD <well_head>
HEAD_LIMIT <head_limit>
SHUT_OFF <minrate> <maxrate>
RATE_SCALING <pump_elevation> <scaling_length>
AUXILIARY <auxname> <auxval>
status—keyword option to define well status. STATUS can be ACTIVE, INACTIVE, or CONSTANT.
By default, STATUS is ACTIVE.
FLOWING WELL—keyword to indicate the well is a flowing well. The FLOWING WELL option can be
used to simulate flowing wells when the simulated well head exceeds the specified drainage eleva-
tion.
fwelev—elevation used to determine whether or not the well is flowing.
102 MODFLOW 6 – Description of Input and Output
fwcond—conductance used to calculate the discharge of a free flowing well. Flow occurs when the head
in the well is above the well top elevation (FWELEV).
fwrlen—length used to reduce the conductance of the flowing well. When the head in the well drops
below the well top plus the reduction length, then the conductance is reduced. This reduction length
can be used to improve the stability of simulations with flowing wells so that there is not an abrupt
change in flowing well rates.
rate—is the volumetric pumping rate for the multi-aquifer well. A positive value indicates recharge
and a negative value indicates discharge (pumping). RATE only applies to active (IBOUND >
0) multi-aquifer wells. If the Options block includes a TIMESERIESFILE entry (see the “Time-
Variable Input” section), values can be obtained from a time series by entering the time-series name
in place of a numeric value. By default, the RATE for each multi-aquifer well is zero.
well head—is the head in the multi-aquifer well. WELL HEAD is only applied to constant head (STA-
TUS is CONSTANT) and inactive (STATUS is INACTIVE) multi-aquifer wells. If the Options
block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be
obtained from a time series by entering the time-series name in place of a numeric value.
head limit—is the limiting water level (head) in the well, which is the minimum of the well RATE or
the well inflow rate from the aquifer. HEAD LIMIT can be applied to extraction wells (RATE <
0) or injection wells (RATE > 0). HEAD LIMIT can be deactivated by specifying the text string
‘OFF’. The HEAD LIMIT option is based on the HEAD LIMIT functionality available in the
MNW2 (Konikow and others, 2009) package for MODFLOW-2005. The HEAD LIMIT option has
been included to facilitate backward compatibility with previous versions of MODFLOW but use
of the RATE SCALING option instead of the HEAD LIMIT option is recommended. By default,
HEAD LIMIT is ‘OFF’.
SHUT OFF—keyword for activating well shut off capability. Subsequent values define the minimum and
maximum pumping rate that a well must exceed to shutoff or reactivate a well, respectively, during
a stress period. SHUT OFF is only applied to injection wells (RATE< 0) and if HEAD LIMIT is
specified (not set to ‘OFF’). If HEAD LIMIT is specified, SHUT OFF can be deactivated by spec-
ifying a minimum value equal to zero. The SHUT OFF option is based on the SHUT OFF func-
tionality available in the MNW2 (Konikow and others, 2009) package for MODFLOW-2005. The
SHUT OFF option has been included to facilitate backward compatibility with previous versions
of MODFLOW but use of the RATE SCALING option instead of the SHUT OFF option is recom-
mended. By default, SHUT OFF is not used.
minrate—is the minimum rate that a well must exceed to shutoff a well during a stress period. The
well will shut down during a time step if the flow rate to the well from the aquifer is less than MIN-
RATE. If a well is shut down during a time step, reactivation of the well cannot occur until the next
time step to reduce oscillations. MINRATE must be less than maxrate.
maxrate—is the maximum rate that a well must exceed to reactivate a well during a stress period. The
well will reactivate during a timestep if the well was shutdown during the previous time step and
the flow rate to the well from the aquifer exceeds maxrate. Reactivation of the well cannot occur
until the next time step if a well is shutdown to reduce oscillations. maxrate must be greater than
MINRATE.
RATE SCALING—activate rate scaling. If RATE SCALING is specified, both PUMP ELEVATION and
SCALING LENGTH must be specified. RATE SCALING cannot be used with HEAD LIMIT.
RATE SCALING can be used for extraction or injection wells. For extraction wells, the extraction
rate will start to decrease once the head in the well lowers to a level equal to the pump elevation plus
the scaling length. If the head in the well drops below the pump elevation, then the extraction rate
Groundwater Flow (GWF) Model Input 103
is calculated to be zero. For an injection well, the injection rate will begin to decrease once the head
in the well rises above the specified pump elevation. If the head in the well rises above the pump
elevation plus the scaling length, then the injection rate will be set to zero.
pump elevation—is the elevation of the multi-aquifer well pump (PUMP ELEVATION).
PUMP ELEVATION should not be less than the bottom elevation (BOTTOM) of the multi-aquifer
well.
scaling length—height above the pump elevation (SCALING LENGTH). If the simulated well head
is below this elevation (pump elevation plus the scaling length), then the pumping rate is reduced.
AUXILIARY—keyword for specifying auxiliary variable.
auxname—name for the auxiliary variable to be assigned AUXVAL. AUXNAME must match one of the
auxiliary variable names defined in the OPTIONS block. If AUXNAME does not match one of the
auxiliary variable names defined in the OPTIONS block the data are ignored.
auxval—value for the auxiliary variable. If the Options block includes a TIMESERIESFILE entry (see
the “Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
begin options
print_input
print_head
print_flows
boundnames
head fileout maw-1.head.bin
budget fileout maw-1.cbc
end options
begin dimensions
nmawwells 2
end dimensions
begin packagedata
# wellno radius bottom strt condeqn ngwnodes name
1 0.15 -100.0 9.14 thiem 2 pwell
2 0.25 -100.0 9.14 thiem 1 iwell
end packagedata
begin connectiondata
# wellno conn l r c stop sbot k rskin
1 1 1 51 51 0 0 0 0
1 2 2 51 51 0 0 0 0
2 1 2 2 2 0 0 0 0
end connectiondata
begin period 1
1 rate_scaling -90. 5.
1 rate -1767.
2 status inactive
end period
begin dimensions
nmawwells 2
end dimensions
begin packagedata
# wellno radius bottom strt condeqn ngwnodes name
1 0.15 -100.0 9.14 mean 2 pwell
2 0.25 -100.0 9.14 mean 1 iwell
end packagedata
begin connectiondata
# wellno conn l r c stop sbot k rskin
1 1 1 51 51 0. -100. 361. .25
1 2 2 51 51 0. -100. 361. .25
2 1 2 2 2 -50. -100. 361 .50
end connectiondata
begin period 1
1 rate_scaling -90. 5.
1 rate -1767.
2 status inactive
end period
begin dimensions
nmawwells 1
end dimensions
begin packagedata
# wellno radius bottom strt condeqn ngwnodes name
1 0.15 -514.9 9.14 specified 2 ntwell
end packagedata
begin connectiondata
# wellno conn l r c stop sbot k rskin
1 1 1 51 51 -50 -514.9 111.3763 0
1 2 2 51 51 -50 -514.9 445.9849 0
end connectiondata
begin period 1
1 rate 0
1 flowing_well 0. 7500. 0.5
end period
Groundwater Flow (GWF) Model Input 105
BEGIN OPTIONS
DIGITS 10
PRINT_INPUT
END OPTIONS
D U
1 2
D U
U 5
EXPLANATION
Reach connections 3
Stream
Reach connectivity Reach connection
D
reach connections Flow direction
U
1 -2 5 Stream reach number
U Upstream end of reach
2 1 -3 -5
4 D Downstream end of reach
3 2 -4
4 3 -7
5 2 -6 U
D
6
6 5 -7 7
D
7 4 6
D
Figure 2. Simple stream network having seven reaches with a junction having two reaches, a confluence of two reaches, and
the resulting reach connectivity. Downstream connections for a reach must include the reach as an upstream connection for all
downstream connections to the reach. Downstream connections for a reach are denoted with a negative reach number.
Structure of Blocks
[MOVER]
[MAXIMUM_PICARD_ITERATIONS <maximum_picard_iterations>]
[MAXIMUM_ITERATIONS <maximum_iterations>]
[MAXIMUM_DEPTH_CHANGE <maximum_depth_change>]
[UNIT_CONVERSION <unit_conversion>]
END OPTIONS
BEGIN DIMENSIONS
NREACHES <nreaches>
END DIMENSIONS
BEGIN PACKAGEDATA
<rno> <cellid(ncelldim)> <rlen> <rwid> <rgrd> <rtp> <rbth> <rhk> <man> <ncon> <ustrf> <ndv> [<aux(naux)>] [<boundname>]
<rno> <cellid(ncelldim)> <rlen> <rwid> <rgrd> <rtp> <rbth> <rhk> <man> <ncon> <ustrf> <ndv> [<aux(naux)>] [<boundname>]
...
END PACKAGEDATA
BEGIN CONNECTIONDATA
<rno> <ic(ncon(rno))>
<rno> <ic(ncon(rno))>
...
END CONNECTIONDATA
All of the advanced stress package information in the PERIOD block will continue to apply for subsequent
stress periods until the end of the simulation, or until another PERIOD block is encountered. When a new
PERIOD block is encountered only the reaches specified in the new period block will be changed. A reach
not specified in the new period block will continue to behave according to its specification in the previous
PERIOD block. Note that this behavior is different from the simple stress packages (CHD, WEL, DRN, RIV,
GHB, RCH and EVT), in which any stress not specified in a new PERIOD block will be removed. To turn off
all of the advanced stresses for a stress period, a PERIOD block must be specified with settings that deactivate
the reaches. If a PERIOD block is not specified for the first stress period, then no stresses will be applied.
Explanation of Variables
Block: OPTIONS
auxiliary—defines an array of one or more auxiliary variable names. There is no limit on the number
of auxiliary variables that can be provided on this line; however, lists of information provided in
subsequent blocks must have a column of data for each auxiliary variable name defined here. The
number of auxiliary variables detected on this line determines the value for naux. Comments cannot
be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary
variables may not be used by the package, but they will be available for use by other parts of the
Groundwater Flow (GWF) Model Input 109
program. The program will terminate with an error if auxiliary variables are specified on more than
one line in the options block.
BOUNDNAMES—keyword to indicate that boundary names may be provided with the list of stream reach
cells.
PRINT INPUT—keyword to indicate that the list of stream reach information will be written to the list-
ing file immediately after it is read.
PRINT STAGE—keyword to indicate that the list of stream reach stages will be printed to the listing file
for every stress period in which “HEAD PRINT” is specified in Output Control. If there is no Out-
put Control option and PRINT STAGE is specified, then stages are printed for the last time step of
each stress period.
PRINT FLOWS—keyword to indicate that the list of stream reach flow rates will be printed to the listing
file for every stress period time step in which “BUDGET PRINT” is specified in Output Control. If
there is no Output Control option and “PRINT FLOWS” is specified, then flow rates are printed for
the last time step of each stress period.
SAVE FLOWS—keyword to indicate that stream reach flow terms will be written to the file specified with
“BUDGET FILEOUT” in Output Control.
STAGE—keyword to specify that record corresponds to stage.
stagefile—name of the binary output file to write stage information.
BUDGET—keyword to specify that record corresponds to the budget.
FILEOUT—keyword to specify that an output filename is expected next.
budgetfile—name of the binary output file to write budget information.
PACKAGE CONVERGENCE—keyword to specify that record corresponds to the package convergence
comma spaced values file.
package convergence filename—name of the comma spaced values output file to write package
convergence information.
TS6—keyword to specify that record corresponds to a time-series file.
FILEIN—keyword to specify that an input filename is expected next.
ts6 filename—defines a time-series file defining time series that can be used to assign time-varying
values. See the “Time-Variable Input” section for instructions on using the time-series capability.
OBS6—keyword to specify that record corresponds to an observations file.
obs6 filename—name of input file to define observations for the SFR package. See the “Observa-
tion utility” section for instructions for preparing observation input files. Table 21 lists observation
type(s) supported by the SFR package.
MOVER—keyword to indicate that this instance of the SFR Package can be used with the Water Mover
(MVR) Package. When the MOVER option is specified, additional memory is allocated within the
package to store the available, provided, and received water.
maximum picard iterations—value that defines the maximum number of Streamflow Routing
picard iterations allowed when solving for reach stages and flows as part of the GWF formulate
step. Picard iterations are used to minimize differences in SFR package results between subsequent
GWF picard (non-linear) iterations as a result of non-optimal reach numbering. If reaches are num-
bered in order, from upstream to downstream, MAXIMUM PICARD ITERATIONS can be set to 1
to reduce model run time. By default, MAXIMUM PICARD ITERATIONS is equal to 100.
110 MODFLOW 6 – Description of Input and Output
maximum iterations—value that defines the maximum number of Streamflow Routing Newton-
Raphson iterations allowed for a reach. By default, MAXIMUM ITERATIONS is equal to 100.
maximum depth change—value that defines the depth closure tolerance. By default, DMAXCHG is
equal to 1 × 10−5 .
unit conversion—value (or conversion factor) that is used in calculating stream depth for stream
reach. A constant of 1.486 is used for flow units of cubic feet per second, and a constant of 1.0 is
used for units of cubic meters per second. The constant must be multiplied by 86,400 when using
time units of days in the simulation.
Block: DIMENSIONS
nreaches—integer value specifying the number of stream reaches. There must be NREACHES entries
in the PACKAGEDATA block.
Block: PACKAGEDATA
rno—integer value that defines the reach number associated with the specified PACKAGEDATA data on
the line. RNO must be greater than zero and less than or equal to NREACHES. Reach information
must be specified for every reach or the program will terminate with an error. The program will also
terminate with an error if information for a reach is specified more than once.
cellid—The keyword ‘NONE’ must be specified for reaches that are not connected to an underlying
GWF cell. The keyword ‘NONE’ is used for reaches that are in cells that have IDOMAIN values
less than one or are in areas not covered by the GWF model grid. Reach-aquifer flow is not calcu-
lated if the keyword ‘NONE’ is specified.
rlen—real value that defines the reach length. RLEN must be greater than zero.
rwid—real value that defines the reach width. RWID must be greater than zero.
rgrd—real value that defines the stream gradient (slope) across the reach. RGRD must be greater than
zero.
rtp—real value that defines the top elevation of the reach streambed.
rbth—real value that defines the thickness of the reach streambed. RBTH can be any value if CELLID
is ‘NONE’. Otherwise, RBTH must be greater than zero.
rhk—real value that defines the hydraulic conductivity of the reach streambed. RHK can be any positive
value if CELLID is ‘NONE’. Otherwise, RHK must be greater than zero.
man—real or character value that defines the Manning’s roughness coefficient for the reach. MAN must
be greater than zero. If the Options block includes a TIMESERIESFILE entry (see the “Time-
Variable Input” section), values can be obtained from a time series by entering the time-series name
in place of a numeric value.
ncon—integer value that defines the number of reaches connected to the reach.
ustrf—real value that defines the fraction of upstream flow from each upstream reach that is applied
as upstream inflow to the reach. The sum of all USTRF values for all reaches connected to the
same upstream reach must be equal to one and USTRF must be greater than or equal to zero. If the
Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values
can be obtained from a time series by entering the time-series name in place of a numeric value.
ndv—integer value that defines the number of downstream diversions for the reach.
Groundwater Flow (GWF) Model Input 111
aux—represents the values of the auxiliary variables for each stream reach. The values of auxiliary vari-
ables must be present for each stream reach. The values must be specified in the order of the auxil-
iary variables specified in the OPTIONS block. If the package supports time series and the Options
block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be
obtained from a time series by entering the time-series name in place of a numeric value.
boundname—name of the stream reach cell. BOUNDNAME is an ASCII character variable that can
contain as many as 40 characters. If BOUNDNAME contains spaces in it, then the entire name must
be enclosed within single quotes.
Block: CONNECTIONDATA
rno—integer value that defines the reach number associated with the specified CONNECTIONDATA
data on the line. RNO must be greater than zero and less than or equal to NREACHES. Reach con-
nection information must be specified for every reach or the program will terminate with an error.
The program will also terminate with an error if connection information for a reach is specified
more than once.
ic—integer value that defines the reach number of the reach connected to the current reach and whether
it is connected to the upstream or downstream end of the reach. Negative IC numbers indicate con-
nected reaches are connected to the downstream end of the current reach. Positive IC numbers indi-
cate connected reaches are connected to the upstream end of the current reach. The absolute value
of IC must be greater than zero and less than or equal to NREACHES.
Block: DIVERSIONS
rno—integer value that defines the reach number associated with the specified DIVERSIONS data on
the line. RNO must be greater than zero and less than or equal to NREACHES. Reach diversion
information must be specified for every reach with a NDV value greater than 0 or the program will
terminate with an error. The program will also terminate with an error if diversion information for a
given reach diversion is specified more than once.
idv—integer value that defines the downstream diversion number for the diversion for reach RNO. IDV
must be greater than zero and less than or equal to NDV for reach RNO.
iconr—integer value that defines the downstream reach that will receive the diverted water. IDV must
be greater than zero and less than or equal to NREACHES. Furthermore, reach ICONR must be a
downstream connection for reach RNO.
cprior—character string value that defines the the prioritization system for the diversion, such as when
insufficient water is available to meet all diversion stipulations, and is used in conjunction with the
value of FLOW value specified in the STRESS PERIOD DATA section. Available diversion options
include: (1) CPRIOR = ‘FRACTION’, then the amount of the diversion is computed as a fraction
of the streamflow leaving reach RNO (QDS ); in this case, 0.0 ≤ DIVFLOW ≤ 1.0. (2) CPRIOR
= ‘EXCESS’, a diversion is made only if QDS for reach RNO exceeds the value of DIVFLOW. If
this occurs, then the quantity of water diverted is the excess flow (QDS − DIVFLOW) and QDS
from reach RNO is set equal to DIVFLOW. This represents a flood-control type of diversion, as
described by Danskin and Hanson (2002). (3) CPRIOR = ‘THRESHOLD’, then if QDS in reach
RNO is less than the specified diversion flow (DIVFLOW), no water is diverted from reach RNO.
If QDS in reach RNO is greater than or equal to (DIVFLOW), (DIVFLOW) is diverted and QDS is
set to the remainder (QDS − DIVFLOW)). This approach assumes that once flow in the stream is
sufficiently low, diversions from the stream cease, and is the ‘priority’ algorithm that originally was
112 MODFLOW 6 – Description of Input and Output
programmed into the STR1 Package (Prudic, 1989). (4) CPRIOR = ‘UPTO’ – if QDS in reach RNO
is greater than or equal to the specified diversion flow (DIVFLOW), QDS is reduced by DIVFLOW.
If QDS in reach RNO is less than (DIVFLOW), DIVFLOW is set to QDS and there will be no flow
available for reaches connected to downstream end of reach RNO.
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
rno—integer value that defines the reach number associated with the specified PERIOD data on the line.
RNO must be greater than zero and less than or equal to NREACHES.
sfrsetting—line of information that is parsed into a keyword and values. Keyword values that can be
used to start the SFRSETTING string include: STATUS, MANNING, STAGE, INFLOW, RAIN-
FALL, EVAPORATION, RUNOFF, DIVERSION, UPSTREAM FRACTION, and AUXILIARY.
STATUS <status>
MANNING <manning>
STAGE <stage>
INFLOW <inflow>
RAINFALL <rainfall>
EVAPORATION <evaporation>
RUNOFF <runoff>
DIVERSION <idv> <divflow>
UPSTREAM_FRACTION <upstream_fraction>
AUXILIARY <auxname> <auxval>
status—keyword option to define stream reach status. STATUS can be ACTIVE, INACTIVE, or SIM-
PLE. The SIMPLE STATUS option simulates streamflow using a user-specified stage for a reach
or a stage set to the top of the reach (depth = 0). In cases where the simulated leakage calculated
using the specified stage exceeds the sum of inflows to the reach, the stage is set to the top of the
reach and leakage is set equal to the sum of inflows. Upstream fractions should be changed using
the UPSTREAM FRACTION SFRSETTING if the status for one or more reaches is changed to
ACTIVE or INACTIVE. For example, if one of two downstream connections for a reach is inacti-
vated, the upstream fraction for the active and inactive downstream reach should be changed to 1.0
and 0.0, respectively, to ensure that the active reach receives all of the downstream outflow from the
upstream reach. By default, STATUS is ACTIVE.
manning—real or character value that defines the Manning’s roughness coefficient for the reach. MAN-
NING must be greater than zero. If the Options block includes a TIMESERIESFILE entry (see
the “Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
stage—real or character value that defines the stage for the reach. The specified STAGE is only applied
if the reach uses the simple routing option. If STAGE is not specified for reaches that use the sim-
ple routing option, the specified stage is set to the top of the reach. If the Options block includes a
TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a
time series by entering the time-series name in place of a numeric value.
inflow—real or character value that defines the volumetric inflow rate for the streamflow routing reach.
If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section),
Groundwater Flow (GWF) Model Input 113
values can be obtained from a time series by entering the time-series name in place of a numeric
value. By default, inflow rates are zero for each reach.
rainfall—real or character value that defines the volumetric rate per unit area of water added by pre-
cipitation directly on the streamflow routing reach. If the Options block includes a TIMESERIES-
FILE entry (see the “Time-Variable Input” section), values can be obtained from a time series by
entering the time-series name in place of a numeric value. By default, rainfall rates are zero for each
reach.
evaporation—real or character value that defines the volumetric rate per unit area of water sub-
tracted by evaporation from the streamflow routing reach. A positive evaporation rate should be
provided. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input”
section), values can be obtained from a time series by entering the time-series name in place of a
numeric value. If the volumetric evaporation rate for a reach exceeds the sources of water to the
reach (upstream and specified inflows, rainfall, and runoff but excluding groundwater leakage into
the reach) the volumetric evaporation rate is limited to the sources of water to the reach. By default,
evaporation rates are zero for each reach.
runoff—real or character value that defines the volumetric rate of diffuse overland runoff that enters
the streamflow routing reach. If the Options block includes a TIMESERIESFILE entry (see the
“Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value. If the volumetric runoff rate for a reach is negative and
exceeds inflows to the reach (upstream and specified inflows, and rainfall but excluding groundwater
leakage into the reach) the volumetric runoff rate is limited to inflows to the reach and the volumet-
ric evaporation rate for the reach is set to zero. By default, runoff rates are zero for each reach.
DIVERSION—keyword to indicate diversion record.
idv—an integer value specifying which diversion of reach RNO that DIVFLOW is being specified for.
Must be less or equal to ndv for the current reach (RNO).
divflow—real or character value that defines the volumetric diversion (DIVFLOW) rate for the stream-
flow routing reach. If the Options block includes a TIMESERIESFILE entry (see the “Time-
Variable Input” section), values can be obtained from a time series by entering the time-series name
in place of a numeric value.
upstream fraction—real value that defines the fraction of upstream flow (USTRF) from each
upstream reach that is applied as upstream inflow to the reach. The sum of all USTRF values for
all reaches connected to the same upstream reach must be equal to one.
AUXILIARY—keyword for specifying auxiliary variable.
auxname—name for the auxiliary variable to be assigned AUXVAL. AUXNAME must match one of the
auxiliary variable names defined in the OPTIONS block. If AUXNAME does not match one of the
auxiliary variable names defined in the OPTIONS block the data are ignored.
auxval—value for the auxiliary variable. If the Options block includes a TIMESERIESFILE entry (see
the “Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
BEGIN OPTIONS
UNIT_CONVERSION 1.486
BOUNDNAMES
PRINT_STAGE
PRINT_FLOWS
STAGE FILEOUT sfr-1.stage.bin
BUDGET FILEOUT sfr-1.cbc
END OPTIONS
BEGIN PACKAGEDATA
#rno k i j rlen rwid rgrd rtp rbth rhk man ncon ustrf ndv boundname
1 1 1 1 4500. 12 8.67E-04 1093.048 3.0 0.00003 0.03 1 1.0 0 reach1
2 1 2 2 7000. 12 8.67E-04 1088.059 3.0 0.00003 0.03 2 1.0 0 reach2
3 1 3 3 6000. 12 8.67E-04 1082.419 3.0 0.00003 0.03 2 1.0 0 reach3
4 1 3 4 5550. 12 8.67E-04 1077.408 3.0 0.00003 0.03 3 1.0 1 reach4
5 1 4 5 6500. 12 9.43E-04 1071.934 3.0 0.00003 0.03 2 1.0 0
6 1 5 6 5000. 12 9.43E-04 1066.509 3.0 0.00003 0.03 2 1.0 0
7 1 6 6 5000. 12 9.43E-04 1061.792 3.0 0.00003 0.03 2 1.0 0
8 1 7 6 5000. 12 9.43E-04 1057.075 3.0 0.00003 0.03 2 1.0 0
9 1 8 6 5000. 12 9.43E-04 1052.359 3.0 0.00003 0.03 2 1.0 0
10 1 3 5 5000. 10 5.45E-04 1073.636 2.0 0.00003 0.03 2 0.0 0 canal
11 1 3 6 5000. 10 5.45E-04 1070.909 2.0 0.00003 0.03 2 1.0 0 canal
12 1 3 7 4500. 10 5.45E-04 1068.318 2.0 0.00003 0.03 2 1.0 0 canal
13 1 4 8 6000. 10 5.45E-04 1065.455 2.0 0.00003 0.03 2 1.0 0 canal
14 1 5 8 5000. 10 5.45E-04 1062.455 2.0 0.00003 0.03 2 1.0 0 canal
15 1 6 8 2000. 10 5.45E-04 1060.545 2.0 0.00003 0.03 2 1.0 0 canal
16 1 510 2500. 10 1.81E-03 1077.727 3.0 0.00003 0.03 1 1.0 0
17 1 5 9 5000. 10 1.81E-03 1070.909 3.0 0.00003 0.03 2 1.0 0
18 1 6 8 3500. 10 1.81E-03 1063.182 3.0 0.00003 0.03 2 1.0 0
19 1 6 8 4000. 15 1.00E-03 1058.000 3.0 0.00003 0.03 3 1.0 0
20 1 7 7 5000. 15 1.00E-03 1053.500 3.0 0.00003 0.03 2 1.0 0
21 1 8 7 3500. 15 1.00E-03 1049.250 3.0 0.00003 0.03 2 1.0 0
22 1 8 6 2500. 15 1.00E-03 1046.250 3.0 0.00003 0.03 2 1.0 0
23 1 9 6 5000. 12 9.09E-04 1042.727 3.0 0.00003 0.03 3 1.0 0
24 1 10 7 5000. 12 9.09E-04 1038.182 3.0 0.00003 0.03 2 1.0 0
25 1 11 7 5000. 12 9.09E-04 1033.636 3.0 0.00003 0.03 2 1.0 0
26 1 12 7 5000. 12 9.09E-04 1029.091 3.0 0.00003 0.03 2 1.0 0
27 1 13 7 2000. 12 9.09E-04 1025.909 3.0 0.00003 0.03 2 1.0 0
28 1 14 9 5000. 55 9.67E-04 1037.581 3.0 0.00006 0.025 1 1.0 0
29 1 13 8 5500. 55 9.67E-04 1032.500 3.0 0.00006 0.025 2 1.0 0
30 1 13 7 5000. 55 9.67E-04 1027.419 3.0 0.00006 0.025 2 1.0 0
31 1 13 6 5000. 40 1.25E-03 1021.875 3.0 0.00006 0.025 3 1.0 0
32 1 13 5 5000. 40 1.25E-03 1015.625 3.0 0.00006 0.025 2 1.0 0
33 1 13 4 5000. 40 1.25E-03 1009.375 3.0 0.00006 0.025 2 1.0 0
34 1 13 3 5000. 40 1.25E-03 1003.125 3.0 0.00006 0.025 2 1.0 0
35 1 13 2 5000. 40 1.25E-03 996.8750 3.0 0.00006 0.025 2 1.0 0
36 1 13 1 3000. 40 1.25E-03 991.8750 3.0 0.00006 0.025 2 1.0 0
37 none 5000. 40 1.25E-03 985.6250 3.0 0.00006 0.025 1 1.0 0
END PACKAGEDATA
BEGIN CONNECTIONDATA
#rno ic1 ic2 ic3
1 -2
2 1 -3
3 2 -4
4 3 -5 -10
5 4 -6
6 5 -7
7 6 -8
8 7 -9
9 8 -23
10 4 -11
11 10 -12
Groundwater Flow (GWF) Model Input 115
12 11 -13
13 12 -14
14 13 -15
15 14 -19
16 -17
17 16 -18
18 17 -19
19 15 18 -20
20 19 -21
21 20 -22
22 21 -23
23 9 22 -24
24 23 -25
25 24 -26
26 25 -27
27 26 -31
28 -29
29 28 -30
30 29 -31
31 27 30 -32
32 31 -33
33 32 -34
34 33 -35
35 34 -36
36 35 -37
37 36
END CONNECTIONDATA
BEGIN DIVERSIONS
# rno idv iconr cprior
4 1 10 UPTO
END DIVERSIONS
BEGIN PERIOD 1
# rno sfrsetting
1 inflow 25.
16 inflow 10.
28 inflow 150.
4 diversion 1 10.
10 status simple
11 status simple
12 status simple
13 status simple
14 status simple
15 status simple
10 stage 1075.5454
11 stage 1072.6363
12 stage 1069.8727
13 stage 1066.8181
14 stage 1063.6181
15 stage 1061.5818
END PERIOD
BEGIN OPTIONS
DIGITS 8
PRINT_INPUT
END OPTIONS
Structure of Blocks
BEGIN DIMENSIONS
NLAKES <nlakes>
NOUTLETS <noutlets>
NTABLES <ntables>
END DIMENSIONS
BEGIN PACKAGEDATA
<lakeno> <strt> <nlakeconn> [<aux(naux)>] [<boundname>]
<lakeno> <strt> <nlakeconn> [<aux(naux)>] [<boundname>]
...
END PACKAGEDATA
All of the advanced stress package information in the PERIOD block will continue to apply for subsequent
stress periods until the end of the simulation, or until another PERIOD block is encountered. When a new
PERIOD block is encountered only the lakes specified in the new period block will be changed. A lake
not specified in the new period block will continue to behave according to its specification in the previous
PERIOD block. Note that this behavior is different from the simple stress packages (CHD, WEL, DRN, RIV,
GHB, RCH and EVT), in which any stress not specified in a new PERIOD block will be removed. To turn off
all of the advanced stresses for a stress period, a PERIOD block must be specified with settings that deactivate
the lakes. If a PERIOD block is not specified for the first stress period, then no stresses will be applied.
Explanation of Variables
Block: OPTIONS
auxiliary—defines an array of one or more auxiliary variable names. There is no limit on the number
of auxiliary variables that can be provided on this line; however, lists of information provided in
subsequent blocks must have a column of data for each auxiliary variable name defined here. The
number of auxiliary variables detected on this line determines the value for naux. Comments cannot
be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary
variables may not be used by the package, but they will be available for use by other parts of the
program. The program will terminate with an error if auxiliary variables are specified on more than
one line in the options block.
BOUNDNAMES—keyword to indicate that boundary names may be provided with the list of lake cells.
PRINT INPUT—keyword to indicate that the list of lake information will be written to the listing file
immediately after it is read.
PRINT STAGE—keyword to indicate that the list of lake stages will be printed to the listing file for every
stress period in which “HEAD PRINT” is specified in Output Control. If there is no Output Control
option and PRINT STAGE is specified, then stages are printed for the last time step of each stress
period.
PRINT FLOWS—keyword to indicate that the list of lake flow rates will be printed to the listing file for
every stress period time step in which “BUDGET PRINT” is specified in Output Control. If there is
no Output Control option and “PRINT FLOWS” is specified, then flow rates are printed for the last
time step of each stress period.
SAVE FLOWS—keyword to indicate that lake flow terms will be written to the file specified with “BUD-
GET FILEOUT” in Output Control.
STAGE—keyword to specify that record corresponds to stage.
stagefile—name of the binary output file to write stage information.
BUDGET—keyword to specify that record corresponds to the budget.
FILEOUT—keyword to specify that an output filename is expected next.
budgetfile—name of the binary output file to write budget information.
120 MODFLOW 6 – Description of Input and Output
Block: DIMENSIONS
nlakes—value specifying the number of lakes that will be simulated for all stress periods.
noutlets—value specifying the number of outlets that will be simulated for all stress periods. If
NOUTLETS is not specified, a default value of zero is used.
ntables—value specifying the number of lakes tables that will be used to define the lake stage, volume
relation, and surface area. If NTABLES is not specified, a default value of zero is used.
Block: PACKAGEDATA
lakeno—integer value that defines the lake number associated with the specified PACKAGEDATA data
on the line. LAKENO must be greater than zero and less than or equal to NLAKES. Lake informa-
tion must be specified for every lake or the program will terminate with an error. The program will
also terminate with an error if information for a lake is specified more than once.
strt—real value that defines the starting stage for the lake.
Groundwater Flow (GWF) Model Input 121
nlakeconn—integer value that defines the number of GWF cells connected to this (LAKENO) lake.
There can only be one vertical lake connection to each GWF cell. NLAKECONN must be greater
than zero.
aux—represents the values of the auxiliary variables for each lake. The values of auxiliary variables
must be present for each lake. The values must be specified in the order of the auxiliary variables
specified in the OPTIONS block. If the package supports time series and the Options block includes
a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a
time series by entering the time-series name in place of a numeric value.
boundname—name of the lake cell. BOUNDNAME is an ASCII character variable that can contain
as many as 40 characters. If BOUNDNAME contains spaces in it, then the entire name must be
enclosed within single quotes.
Block: CONNECTIONDATA
lakeno—integer value that defines the lake number associated with the specified CONNECTIONDATA
data on the line. LAKENO must be greater than zero and less than or equal to NLAKES. Lake
connection information must be specified for every lake connection to the GWF model (NLAKE-
CONN) or the program will terminate with an error. The program will also terminate with an error
if connection information for a lake connection to the GWF model is specified more than once.
iconn—integer value that defines the GWF connection number for this lake connection entry. ICONN
must be greater than zero and less than or equal to NLAKECONN for lake LAKENO.
cellid—is the cell identifier, and depends on the type of grid that is used for the simulation. For a
structured grid that uses the DIS input file, CELLID is the layer, row, and column. For a grid that
uses the DISV input file, CELLID is the layer and CELL2D number. If the model uses the unstruc-
tured discretization (DISU) input file, CELLID is the node number for the cell.
claktype—character string that defines the lake-GWF connection type for the lake connection. Pos-
sible lake-GWF connection type strings include: VERTICAL–character keyword to indicate the
lake-GWF connection is vertical and connection conductance calculations use the hydraulic con-
ductivity corresponding to the K33 tensor component defined for CELLID in the NPF package.
HORIZONTAL–character keyword to indicate the lake-GWF connection is horizontal and connec-
tion conductance calculations use the hydraulic conductivity corresponding to the K11 tensor com-
ponent defined for CELLID in the NPF package. EMBEDDEDH–character keyword to indicate the
lake-GWF connection is embedded in a single cell and connection conductance calculations use the
hydraulic conductivity corresponding to the K11 tensor component defined for CELLID in the NPF
package. EMBEDDEDV–character keyword to indicate the lake-GWF connection is embedded in
a single cell and connection conductance calculations use the hydraulic conductivity corresponding
to the K33 tensor component defined for CELLID in the NPF package. Embedded lakes can only be
connected to a single cell (NLAKECONN = 1) and there must be a lake table associated with each
embedded lake.
bedleak—character string or real value that defines the bed leakance for the lake-GWF connection.
BEDLEAK must be greater than or equal to zero or specified to be NONE. If BEDLEAK is speci-
fied to be NONE, the lake-GWF connection conductance is solely a function of aquifer properties in
the connected GWF cell and lakebed sediments are assumed to be absent.
belev—real value that defines the bottom elevation for a HORIZONTAL lake-GWF connection. Any
value can be specified if CLAKTYPE is VERTICAL, EMBEDDEDH, or EMBEDDEDV. If CLAK-
TYPE is HORIZONTAL and BELEV is not equal to TELEV, BELEV must be greater than or equal
122 MODFLOW 6 – Description of Input and Output
to the bottom of the GWF cell CELLID. If BELEV is equal to TELEV, BELEV is reset to the bot-
tom of the GWF cell CELLID.
telev—real value that defines the top elevation for a HORIZONTAL lake-GWF connection. Any value
can be specified if CLAKTYPE is VERTICAL, EMBEDDEDH, or EMBEDDEDV. If CLAKTYPE
is HORIZONTAL and TELEV is not equal to BELEV, TELEV must be less than or equal to the top
of the GWF cell CELLID. If TELEV is equal to BELEV, TELEV is reset to the top of the GWF cell
CELLID.
connlen—real value that defines the distance between the connected GWF CELLID node and the lake
for a HORIZONTAL, EMBEDDEDH, or EMBEDDEDV lake-GWF connection. CONLENN must
be greater than zero for a HORIZONTAL, EMBEDDEDH, or EMBEDDEDV lake-GWF connec-
tion. Any value can be specified if CLAKTYPE is VERTICAL.
connwidth—real value that defines the connection face width for a HORIZONTAL lake-GWF connec-
tion. CONNWIDTH must be greater than zero for a HORIZONTAL lake-GWF connection. Any
value can be specified if CLAKTYPE is VERTICAL, EMBEDDEDH, or EMBEDDEDV.
Block: TABLES
lakeno—integer value that defines the lake number associated with the specified TABLES data on the
line. LAKENO must be greater than zero and less than or equal to NLAKES. The program will ter-
minate with an error if table information for a lake is specified more than once or the number of
specified tables is less than NTABLES.
TAB6—keyword to specify that record corresponds to a table file.
FILEIN—keyword to specify that an input filename is expected next.
tab6 filename—character string that defines the path and filename for the file containing lake table
data for the lake connection. The TAB6 FILENAME file includes the number of entries in the file
and the relation between stage, volume, and surface area for each entry in the file. Lake table files
for EMBEDDEDH and EMBEDDEDV lake-GWF connections also include lake-GWF exchange
area data for each entry in the file. Instructions for creating the TAB6 FILENAME input file are
provided in Lake Table Input File section.
Block: OUTLETS
outletno—integer value that defines the outlet number associated with the specified OUTLETS data
on the line. OUTLETNO must be greater than zero and less than or equal to NOUTLETS. Outlet
information must be specified for every outlet or the program will terminate with an error. The pro-
gram will also terminate with an error if information for a outlet is specified more than once.
lakein—integer value that defines the lake number that outlet is connected to. LAKEIN must be
greater than zero and less than or equal to NLAKES.
lakeout—integer value that defines the lake number that outlet discharge from lake outlet OUTLETNO
is routed to. LAKEOUT must be greater than or equal to zero and less than or equal to NLAKES.
If LAKEOUT is zero, outlet discharge from lake outlet OUTLETNO is discharged to an external
boundary.
couttype—character string that defines the outlet type for the outlet OUTLETNO. Possible COUT-
TYPE strings include: SPECIFIED–character keyword to indicate the outlet is defined as a specified
flow. MANNING–character keyword to indicate the outlet is defined using Manning’s equation.
WEIR–character keyword to indicate the outlet is defined using a sharp weir equation.
Groundwater Flow (GWF) Model Input 123
invert—real value that defines the invert elevation for the lake outlet. Any value can be specified if
COUTTYPE is SPECIFIED. If the Options block includes a TIMESERIESFILE entry (see the
“Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
width—real value that defines the width of the lake outlet. Any value can be specified if COUTTYPE
is SPECIFIED. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable
Input” section), values can be obtained from a time series by entering the time-series name in place
of a numeric value.
rough—real value that defines the roughness coefficient for the lake outlet. Any value can be specified
if COUTTYPE is not MANNING. If the Options block includes a TIMESERIESFILE entry (see
the “Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
slope—real value that defines the bed slope for the lake outlet. Any value can be specified if COUT-
TYPE is not MANNING. If the Options block includes a TIMESERIESFILE entry (see the “Time-
Variable Input” section), values can be obtained from a time series by entering the time-series name
in place of a numeric value.
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
number—integer value that defines the lake or outlet number associated with the specified PERIOD
data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake
number and less than or equal to NOUTLETS for an outlet number.
laksetting—line of information that is parsed into a keyword and values. Keyword values that can
be used to start the LAKSETTING string include both keywords for lake settings and keywords
for outlet settings. Keywords for lake settings include: STATUS, STAGE, RAINFALL, EVAPO-
RATION, RUNOFF, INFLOW, WITHDRAWAL, and AUXILIARY. Keywords for outlet settings
include RATE, INVERT, WIDTH, SLOPE, and ROUGH.
STATUS <status>
STAGE <stage>
RAINFALL <rainfall>
EVAPORATION <evaporation>
RUNOFF <runoff>
INFLOW <inflow>
WITHDRAWAL <withdrawal>
RATE <rate>
INVERT <invert>
WIDTH <width>
SLOPE <slope>
ROUGH <rough>
AUXILIARY <auxname> <auxval>
status—keyword option to define lake status. STATUS can be ACTIVE, INACTIVE, or CONSTANT.
By default, STATUS is ACTIVE.
124 MODFLOW 6 – Description of Input and Output
stage—real or character value that defines the stage for the lake. The specified STAGE is only applied
if the lake is a constant stage lake. If the Options block includes a TIMESERIESFILE entry (see
the “Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
rainfall—real or character value that defines the rainfall rate (LT −1 ) for the lake. Value must be
greater than or equal to zero. If the Options block includes a TIMESERIESFILE entry (see the
“Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
evaporation—real or character value that defines the maximum evaporation rate (LT −1 ) for the lake.
Value must be greater than or equal to zero. If the Options block includes a TIMESERIESFILE
entry (see the “Time-Variable Input” section), values can be obtained from a time series by enter-
ing the time-series name in place of a numeric value.
runoff—real or character value that defines the runoff rate (L3 T −1 ) for the lake. Value must be greater
than or equal to zero. If the Options block includes a TIMESERIESFILE entry (see the “Time-
Variable Input” section), values can be obtained from a time series by entering the time-series name
in place of a numeric value.
inflow—real or character value that defines the volumetric inflow rate (L3 T −1 ) for the lake. Value
must be greater than or equal to zero. If the Options block includes a TIMESERIESFILE entry (see
the “Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value. By default, inflow rates are zero for each lake.
withdrawal—real or character value that defines the maximum withdrawal rate (L3 T −1 ) for the lake.
Value must be greater than or equal to zero. If the Options block includes a TIMESERIESFILE
entry (see the “Time-Variable Input” section), values can be obtained from a time series by enter-
ing the time-series name in place of a numeric value.
rate—real or character value that defines the extraction rate for the lake outflow. A positive value
indicates inflow and a negative value indicates outflow from the lake. RATE only applies to active
(IBOUND > 0) lakes. A specified RATE is only applied if COUTTYPE for the OUTLETNO is
SPECIFIED. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable
Input” section), values can be obtained from a time series by entering the time-series name in place
of a numeric value. By default, the RATE for each SPECIFIED lake outlet is zero.
invert—real or character value that defines the invert elevation for the lake outlet. A specified
INVERT value is only used for active lakes if COUTTYPE for lake outlet OUTLETNO is not
SPECIFIED. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable
Input” section), values can be obtained from a time series by entering the time-series name in place
of a numeric value.
rough—real value that defines the roughness coefficient for the lake outlet. Any value can be specified
if COUTTYPE is not MANNING. If the Options block includes a TIMESERIESFILE entry (see
the “Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
width—real or character value that defines the width of the lake outlet. A specified WIDTH value is
only used for active lakes if COUTTYPE for lake outlet OUTLETNO is not SPECIFIED. If the
Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values
can be obtained from a time series by entering the time-series name in place of a numeric value.
slope—real or character value that defines the bed slope for the lake outlet. A specified SLOPE value is
only used for active lakes if COUTTYPE for lake outlet OUTLETNO is MANNING. If the Options
Groundwater Flow (GWF) Model Input 125
block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be
obtained from a time series by entering the time-series name in place of a numeric value.
AUXILIARY—keyword for specifying auxiliary variable.
auxname—name for the auxiliary variable to be assigned AUXVAL. AUXNAME must match one of the
auxiliary variable names defined in the OPTIONS block. If AUXNAME does not match one of the
auxiliary variable names defined in the OPTIONS block the data are ignored.
auxval—value for the auxiliary variable. If the Options block includes a TIMESERIESFILE entry (see
the “Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
BEGIN DIMENSIONS
NLAKES 1
NOUTLETS 1
END DIMENSIONS
BEGIN PACKAGEDATA
# lakeno strt lakeconn boundname
1 110.00 57 LAKE_1
END PACKAGEDATA
BEGIN CONNECTIONDATA
# lakeno iconn layer row column ctype bedleak belev telev dx width
1 1 1 7 6 HORIZONTAL 0.1 0 0 500 500
1 2 1 8 6 HORIZONTAL 0.1 0 0 500 500
1 3 1 9 6 HORIZONTAL 0.1 0 0 500 500
1 4 1 10 6 HORIZONTAL 0.1 0 0 500 500
1 5 1 11 6 HORIZONTAL 0.1 0 0 500 500
1 6 1 6 7 HORIZONTAL 0.1 0 0 500 500
1 7 2 7 7 VERTICAL 0.1 0 0 0 0
1 8 2 8 7 VERTICAL 0.1 0 0 0 0
1 9 2 8 7 HORIZONTAL 0.1 0 0 250 500
1 10 2 9 7 VERTICAL 0.1 0 0 0 0
1 11 2 9 7 HORIZONTAL 0.1 0 0 250 500
1 12 2 10 7 VERTICAL 0.1 0 0 0 0
1 13 2 10 7 HORIZONTAL 0.1 0 0 250 500
1 14 2 11 7 VERTICAL 0.1 0 0 0 0
1 15 1 12 7 HORIZONTAL 0.1 0 0 500 500
1 16 1 6 8 HORIZONTAL 0.1 0 0 500 500
1 17 2 7 8 VERTICAL 0.1 0 0 0 0
1 18 2 7 8 HORIZONTAL 0.1 0 0 250 500
1 19 3 8 8 VERTICAL 0.1 0 0 0 0
1 20 3 9 8 VERTICAL 0.1 0 0 0 0
1 21 3 10 8 VERTICAL 0.1 0 0 0 0
1 22 2 11 8 VERTICAL 0.1 0 0 0 0
1 23 2 11 8 HORIZONTAL 0.1 0 0 250 500
1 24 1 12 8 HORIZONTAL 0.1 0 0 500 500
1 25 1 6 9 HORIZONTAL 0.1 0 0 500 500
1 26 2 7 9 VERTICAL 0.1 0 0 0 0
126 MODFLOW 6 – Description of Input and Output
BEGIN OUTLETS
# outletno lakein lakeout couttype invert width rough slope
1 1 0 SPECIFIED 0 0 0 0
END OUTLETS
BEGIN PERIOD 1
1 RAINFALL 0.0116
1 EVAPORATION 0.0103
END PERIOD
BEGIN OPTIONS
DIGITS 10
PRINT_INPUT
END OPTIONS
Structure of Blocks
BEGIN DIMENSIONS
NROW <nrow>
NCOL <ncol>
END DIMENSIONS
BEGIN TABLE
<stage> <volume> <sarea> [<barea>]
<stage> <volume> <sarea> [<barea>]
...
END TABLE
Explanation of Variables
Block: DIMENSIONS
nrow—integer value specifying the number of rows in the lake table. There must be NROW rows of
data in the TABLE block.
ncol—integer value specifying the number of columns in the lake table. There must be NCOL columns
of data in the TABLE block. For lakes with HORIZONTAL and/or VERTICAL CTYPE connec-
tions, NCOL must be equal to 3. For lakes with EMBEDDEDH or EMBEDDEDV CTYPE connec-
tions, NCOL must be equal to 4.
Block: TABLE
stage—real value that defines the stage corresponding to the remaining data on the line.
volume—real value that defines the lake volume corresponding to the stage specified on the line.
sarea—real value that defines the lake surface area corresponding to the stage specified on the line.
barea—real value that defines the lake-GWF exchange area corresponding to the stage specified on the
line. BAREA is only specified if the CLAKTYPE for the lake is EMBEDDEDH or EMBEDDEDV.
begin table
# stage volume sarea
0 0. 0.
1 0.5 1.
130 MODFLOW 6 – Description of Input and Output
2 1.0 2.
3 2.0 2.
4 3.0 2.
5 4.0 2.
6 5.0 2.
7 6.0 2.
8 7.0 2.
9 8.0 2.
10 9.0 2.
end table
Groundwater Flow (GWF) Model Input 131
Structure of Blocks
BEGIN DIMENSIONS
NUZFCELLS <nuzfcells>
NTRAILWAVES <ntrailwaves>
NWAVESETS <nwavesets>
END DIMENSIONS
BEGIN PACKAGEDATA
<iuzno> <cellid(ncelldim)> <landflag> <ivertcon> <surfdep> <vks> <thtr> <thts> <thti> <eps> [<boundname>]
<iuzno> <cellid(ncelldim)> <landflag> <ivertcon> <surfdep> <vks> <thtr> <thts> <thti> <eps> [<boundname>]
...
END PACKAGEDATA
All of the advanced stress package information in the PERIOD block will continue to apply for subsequent
stress periods until the end of the simulation, or until another PERIOD block is encountered. When a new
PERIOD block is encountered only the UZF cells specified in the new period block will be changed. A UZF
cell not specified in the new period block will continue to behave according to its specification in the previous
PERIOD block. Note that this behavior is different from the simple stress packages (CHD, WEL, DRN, RIV,
GHB, RCH and EVT), in which any stress not specified in a new PERIOD block will be removed. To turn off
all of the advanced stresses for a stress period, a PERIOD block must be specified with settings that deactivate
the UZF cells. If a PERIOD block is not specified for the first stress period, then no stresses will be applied.
132 MODFLOW 6 – Description of Input and Output
Explanation of Variables
Block: OPTIONS
auxiliary—defines an array of one or more auxiliary variable names. There is no limit on the number
of auxiliary variables that can be provided on this line; however, lists of information provided in
subsequent blocks must have a column of data for each auxiliary variable name defined here. The
number of auxiliary variables detected on this line determines the value for naux. Comments cannot
be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary
variables may not be used by the package, but they will be available for use by other parts of the
program. The program will terminate with an error if auxiliary variables are specified on more than
one line in the options block.
auxmultname—name of auxiliary variable to be used as multiplier of GWF cell area used by UZF cell.
BOUNDNAMES—keyword to indicate that boundary names may be provided with the list of UZF cells.
PRINT INPUT—keyword to indicate that the list of UZF information will be written to the listing file
immediately after it is read.
PRINT FLOWS—keyword to indicate that the list of UZF flow rates will be printed to the listing file for
every stress period time step in which “BUDGET PRINT” is specified in Output Control. If there is
no Output Control option and “PRINT FLOWS” is specified, then flow rates are printed for the last
time step of each stress period.
SAVE FLOWS—keyword to indicate that UZF flow terms will be written to the file specified with “BUD-
GET FILEOUT” in Output Control.
BUDGET—keyword to specify that record corresponds to the budget.
FILEOUT—keyword to specify that an output filename is expected next.
budgetfile—name of the binary output file to write budget information.
PACKAGE CONVERGENCE—keyword to specify that record corresponds to the package convergence
comma spaced values file.
package convergence filename—name of the comma spaced values output file to write package
convergence information.
TS6—keyword to specify that record corresponds to a time-series file.
FILEIN—keyword to specify that an input filename is expected next.
ts6 filename—defines a time-series file defining time series that can be used to assign time-varying
values. See the “Time-Variable Input” section for instructions on using the time-series capability.
OBS6—keyword to specify that record corresponds to an observations file.
obs6 filename—name of input file to define observations for the UZF package. See the “Observa-
tion utility” section for instructions for preparing observation input files. Table 21 lists observation
type(s) supported by the UZF package.
MOVER—keyword to indicate that this instance of the UZF Package can be used with the Water Mover
(MVR) Package. When the MOVER option is specified, additional memory is allocated within the
package to store the available, provided, and received water.
SIMULATE ET—keyword specifying that ET in the unsaturated (UZF) and saturated zones (GWF) will
be simulated. ET can be simulated in the UZF cell and not the GWF cell by omitting keywords
LINEAR GWET and SQUARE GWET.
Groundwater Flow (GWF) Model Input 133
LINEAR GWET—keyword specifying that groundwater ET will be simulated using the original ET formu-
lation of MODFLOW-2005.
SQUARE GWET—keyword specifying that groundwater ET will be simulated by assuming a constant ET
rate for groundwater levels between land surface (TOP) and land surface minus the ET extinction
depth (TOP-EXTDP). Groundwater ET is smoothly reduced from the PET rate to zero over a nomi-
nal interval at TOP-EXTDP.
SIMULATE GWSEEP—keyword specifying that groundwater discharge (GWSEEP) to land surface will be
simulated. Groundwater discharge is nonzero when groundwater head is greater than land surface.
UNSAT ETWC—keyword specifying that ET in the unsaturated zone will be simulated as a function of the
specified PET rate while the water content (THETA) is greater than the ET extinction water content
(EXTWC).
UNSAT ETAE—keyword specifying that ET in the unsaturated zone will be simulated using a capillary
pressure based formulation. Capillary pressure is calculated using the Brooks-Corey retention func-
tion.
Block: DIMENSIONS
nuzfcells—is the number of UZF cells. More than one UZF cell can be assigned to a GWF cell; how-
ever, only one GWF cell can be assigned to a single UZF cell. If more than one UZF cell is assigned
to a GWF cell, then an auxiliary variable should be used to reduce the surface area of the UZF cell
with the AUXMULTNAME option.
ntrailwaves—is the number of trailing waves. A recommended value of 7 can be used for NTRAIL-
WAVES. This value can be increased to lower mass balance error in the unsaturated zone.
nwavesets—is the number of wave sets. A recommended value of 40 can be used for NWAVESETS.
This value can be increased if more waves are required to resolve variations in water content within
the unsaturated zone.
Block: PACKAGEDATA
iuzno—integer value that defines the UZF cell number associated with the specified PACKAGEDATA
data on the line. IUZNO must be greater than zero and less than or equal to NUZFCELLS. UZF
information must be specified for every UZF cell or the program will terminate with an error. The
program will also terminate with an error if information for a UZF cell is specified more than once.
cellid—is the cell identifier, and depends on the type of grid that is used for the simulation. For a
structured grid that uses the DIS input file, CELLID is the layer, row, and column. For a grid that
uses the DISV input file, CELLID is the layer and CELL2D number. If the model uses the unstruc-
tured discretization (DISU) input file, CELLID is the node number for the cell.
landflag—integer value set to one for land surface cells indicating that boundary conditions can be
applied and data can be specified in the PERIOD block. A value of 0 specifies a non-land surface
cell.
ivertcon—integer value set to specify underlying UZF cell that receives water flowing to bottom of
cell. If unsaturated zone flow reaches the water table before the cell bottom, then water is added to
the GWF cell instead of flowing to the underlying UZF cell. A value of 0 indicates the UZF cell is
not connected to an underlying UZF cell.
surfdep—is the surface depression depth of the UZF cell.
134 MODFLOW 6 – Description of Input and Output
Block: PERIOD
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
iuzno—integer value that defines the UZF cell number associated with the specified PERIOD data on
the line.
finf—real or character value that defines the applied infiltration rate of the UZF cell (LT −1 ). If the
Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values
can be obtained from a time series by entering the time-series name in place of a numeric value.
pet—real or character value that defines the potential evapotranspiration rate of the UZF cell and spec-
ified GWF cell. Evapotranspiration is first removed from the unsaturated zone and any remaining
potential evapotranspiration is applied to the saturated zone. If IVERTCON is greater than zero
then residual potential evapotranspiration not satisfied in the UZF cell is applied to the underlying
UZF and GWF cells. PET is always specified, but is only used if SIMULATE ET is specified in the
OPTIONS block. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable
Input” section), values can be obtained from a time series by entering the time-series name in place
of a numeric value.
extdp—real or character value that defines the evapotranspiration extinction depth of the UZF cell. If
IVERTCON is greater than zero and EXTDP extends below the GWF cell bottom then remaining
potential evapotranspiration is applied to the underlying UZF and GWF cells. EXTDP is always
specified, but is only used if SIMULATE ET is specified in the OPTIONS block. If the Options
block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be
obtained from a time series by entering the time-series name in place of a numeric value.
extwc—real or character value that defines the evapotranspiration extinction water content of the UZF
cell. EXTWC is always specified, but is only used if SIMULATE ET and UNSAT ETWC are spec-
ified in the OPTIONS block. If the Options block includes a TIMESERIESFILE entry (see the
“Time-Variable Input” section), values can be obtained from a time series by entering the time-
series name in place of a numeric value.
ha—real or character value that defines the air entry potential (head) of the UZF cell. HA is always
specified, but is only used if SIMULATE ET and UNSAT ETAE are specified in the OPTIONS
block. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input”
section), values can be obtained from a time series by entering the time-series name in place of a
numeric value.
Groundwater Flow (GWF) Model Input 135
hroot—real or character value that defines the root potential (head) of the UZF cell. HROOT is always
specified, but is only used if SIMULATE ET and UNSAT ETAE are specified in the OPTIONS
block. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input”
section), values can be obtained from a time series by entering the time-series name in place of a
numeric value.
rootact—real or character value that defines the root activity function of the UZF cell. ROOTACT is
the length of roots in a given volume of soil divided by that volume. Values range from 0 to about 3
cm−2 , depending on the plant community and its stage of development. ROOTACT is always spec-
ified, but is only used if SIMULATE ET and UNSAT ETAE are specified in the OPTIONS block.
If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section),
values can be obtained from a time series by entering the time-series name in place of a numeric
value.
aux—represents the values of the auxiliary variables for each UZF. The values of auxiliary variables
must be present for each UZF. The values must be specified in the order of the auxiliary variables
specified in the OPTIONS block. If the package supports time series and the Options block includes
a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a
time series by entering the time-series name in place of a numeric value.
BEGIN DIMENSIONS
NUZFCELLS 10
NTRAILWAVES 7
NWAVESETS 40
END DIMENSIONS
BEGIN PACKAGEDATA
1 1 1 1 1 1.0 1.0 0.05 0.35 0.1 4.0
2 1 1 2 1 1.0 1.0 0.05 0.35 0.1 4.0
3 1 1 3 1 1.0 1.0 0.05 0.35 0.1 4.0
4 1 1 4 1 1.0 1.0 0.05 0.35 0.1 4.0
5 1 1 5 1 1.0 1.0 0.05 0.35 0.1 4.0
6 1 1 6 1 1.0 1.0 0.05 0.35 0.1 4.0
7 1 1 7 1 1.0 1.0 0.05 0.35 0.1 4.0
8 1 1 8 1 1.0 1.0 0.05 0.35 0.1 4.0
9 1 1 9 1 1.0 1.0 0.05 0.35 0.1 4.0
10 1 1 10 1 1.0 1.0 0.05 0.35 0.1 4.0
END PACKAGEDATA
BEGIN PERIOD 1
2 0.00005 0.00002 2.0 0.10
3 0.00008 0.00002 2.0 0.10
4 0.00009 0.00002 2.0 0.10
5 0.0001 0.00002 2.0 0.10
6 0.0001 0.00002 2.0 0.10
7 0.00009 0.00002 2.0 0.10
8 0.00008 0.00002 2.0 0.10
9 0.00005 0.00002 2.0 0.10
END PERIOD
136 MODFLOW 6 – Description of Input and Output
BEGIN PERIOD 2
2 0.00009 0.00003 2.0 0.10
3 0.0001 0.00003 2.0 0.10
4 0.0001 0.00003 2.0 0.10
5 0.00015 0.00003 2.0 0.10
6 0.00015 0.00003 2.0 0.10
7 0.0001 0.00003 2.0 0.10
8 0.0001 0.00003 2.0 0.10
9 0.00009 0.00003 2.0 0.10
END PERIOD
Q − Q , if QP > QS
P S
QR =
0, otherwise
In the EXCESS case, any water that exceeds the user specified rate is provided to the receiver. No water
is provided to the receiver if the available water is less than the user specified value.
Groundwater Flow (GWF) Model Input 139
0, if QS > QP
QR =
Q , otherwise
S
In the THRESHOLD case, no flow is provided to the receiver until the available water exceeds the user
specified QS rate. Once the available water exceeds the user specified rate, then the QS rate is provided
to the receiver.
4. An UPTO rate can be specified for QS such that
Q , if QP > QS
S
QR =
Q , otherwise
P
In the UPTO case, all of the available water will be taken from the provider up to the QS value specified
by the user. Once QS is exceeded, the receiver will continue to get the QS value specified by the user.
In the MVR PERIOD block (as shown below), the user assigns the equation to used for each individual entry
by specifying FACTOR, EXCESS, THRESHOLD, or UPTO to the input variable mvrtype.
Input to the Water Mover (MVR) Package is read from the file that has type “MVR6” in the Name File.
Only one MVR Package can be used per GWF Model.
Structure of Blocks
BEGIN DIMENSIONS
MAXMVR <maxmvr>
MAXPACKAGES <maxpackages>
END DIMENSIONS
BEGIN PACKAGES
[<mname>] <pname>
[<mname>] <pname>
...
END PACKAGES
All of the mover information in the PERIOD block will continue to apply for subsequent stress periods until
the end of the simulation, or until another PERIOD block is encountered. When a new PERIOD block is
encountered, all of the movers from the previous block are replaced with the movers in the new PERIOD
block. Note that this behavior is different from the other advanced packages (MAW, SFR, LAK, and UZF). To
turn off all of the movers for a stress period, a PERIOD block must be specified with no entries. If a PERIOD
block is not specified for the first stress period, then no movers will be applied until the iper value of the first
PERIOD block in the file.
Explanation of Variables
Block: OPTIONS
PRINT INPUT—keyword to indicate that the list of MVR information will be written to the listing file
immediately after it is read.
PRINT FLOWS—keyword to indicate that the list of MVR flow rates will be printed to the listing file for
every stress period time step in which “BUDGET PRINT” is specified in Output Control. If there is
no Output Control option and “PRINT FLOWS” is specified, then flow rates are printed for the last
time step of each stress period.
MODELNAMES—keyword to indicate that all package names will be preceded by the model name for the
package. Model names are required when the Mover Package is used with a GWF-GWF Exchange.
The MODELNAME keyword should not be used for a Mover Package that is for a single GWF
Model.
BUDGET—keyword to specify that record corresponds to the budget.
FILEOUT—keyword to specify that an output filename is expected next.
budgetfile—name of the output file to write budget information.
Block: DIMENSIONS
maxmvr—integer value specifying the maximum number of water mover entries that will specified for
any stress period.
maxpackages—integer value specifying the number of unique packages that are included in this water
mover input file.
Block: PACKAGES
mname—name of model containing the package. Model names are assigned by the user in the simulation
name file.
pname—is the name of a package that may be included in a subsequent stress period block. The package
name is assigned in the name file for the GWF Model. Package names are optionally provided in the
name file. If they are not provided by the user, then packages are assigned a default value, which is
the package acronym followed by a hyphen and the package number. For example, the first Drain
Package is named DRN-1. The second Drain Package is named DRN-2, and so forth.
Block: PERIOD
Groundwater Flow (GWF) Model Input 141
iper—integer value specifying the starting stress period number for which the data specified in the
PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater
than zero. The IPER value assigned to a stress period block must be greater than the IPER value
assigned for the previous PERIOD block. The information specified in the PERIOD block will con-
tinue to apply for all subsequent stress periods, unless the program encounters another PERIOD
block.
mname1—name of model containing the package, PNAME1.
pname1—is the package name for the provider. The package PNAME1 must be designated to provide
water through the MVR Package by specifying the keyword “MOVER” in its OPTIONS block.
id1—is the identifier for the provider. For the standard boundary packages, the provider identifier is the
number of the boundary as it is listed in the package input file. (Note that the order of these bound-
aries may change by stress period, which must be accounted for in the Mover Package.) So the first
well has an identifier of one. The second is two, and so forth. For the advanced packages, the iden-
tifier is the reach number (SFR Package), well number (MAW Package), or UZF cell number. For
the Lake Package, ID1 is the lake outlet number. Thus, outflows from a single lake can be routed to
different streams, for example.
mname2—name of model containing the package, PNAME2.
pname2—is the package name for the receiver. The package PNAME2 must be designated to receive
water from the MVR Package by specifying the keyword “MOVER” in its OPTIONS block.
id2—is the identifier for the receiver. The receiver identifier is the reach number (SFR Package), Lake
number (LAK Package), well number (MAW Package), or UZF cell number.
mvrtype—is the character string signifying the method for determining how much water will be moved.
Supported values are “FACTOR” “EXCESS” “THRESHOLD” and “UPTO”. These four options
determine how the receiver flow rate, QR , is calculated. These options mirror the options defined for
the cprior variable in the SFR package, with the term “FACTOR” being functionally equivalent to
the “FRACTION” option for cprior.
value—is the value to be used in the equation for calculating the amount of water to move. For the
“FACTOR” option, VALUE is the α factor. For the remaining options, VALUE is the specified flow
rate, QS .
BEGIN OPTIONS
PRINT_INPUT
PRINT_FLOWS
END OPTIONS
BEGIN DIMENSIONS
MAXMVR 16
MAXPACKAGES 5
END DIMENSIONS
BEGIN PACKAGES
MAW-1
MAW-2
SFR-1
LAK-1
UZF-1
142 MODFLOW 6 – Description of Input and Output
END PACKAGES
BEGIN PERIOD 1
# ***PROVIDER*** ***RECEIVER*** ***FLOW INFO**
# PAK1 PAK1RCH PAK2 PAK2RCH TYPE VALUE
MAW-1 1 MAW-2 21 EXCESS 5.00
MAW-1 11 SFR-1 77 FACTOR 0.25
MAW-1 21 UZF-1 93 FACTOR 0.01
MAW-1 21 LAK-1 3 FACTOR 1.00
Structure of Blocks
BEGIN DIMENSIONS
NUMGNC <numgnc>
NUMALPHAJ <numalphaj>
END DIMENSIONS
BEGIN GNCDATA
<cellidn> <cellidm> <cellidsj(numalphaj)> <alphasj(numalphaj)>
<cellidn> <cellidm> <cellidsj(numalphaj)> <alphasj(numalphaj)>
...
END GNCDATA
Explanation of Variables
Block: OPTIONS
PRINT INPUT—keyword to indicate that the list of GNC information will be written to the listing file
immediately after it is read.
PRINT FLOWS—keyword to indicate that the list of GNC flow rates will be printed to the listing file for
every stress period time step in which “BUDGET PRINT” is specified in Output Control. If there is
no Output Control option and “PRINT FLOWS” is specified, then flow rates are printed for the last
time step of each stress period.
EXPLICIT—keyword to indicate that the ghost node correction is applied in an explicit manner on the
right-hand side of the matrix. The explicit approach will likely require additional outer iterations.
If the keyword is not specified, then the correction will be applied in an implicit manner on the left-
hand side. The implicit approach will likely converge better, but may require additional memory. If
the EXPLICIT keyword is not specified, then the BICGSTAB linear acceleration option should be
specified within the LINEAR block of the Sparse Matrix Solver.
144 MODFLOW 6 – Description of Input and Output
Block: DIMENSIONS
Block: GNCDATA
cellidn—is the cellid of the cell, n, in which the ghost node is located. For a structured grid that uses
the DIS input file, CELLIDN is the layer, row, and column numbers of the cell. For a grid that uses
the DISV input file, CELLIDN is the layer number and CELL2D number for the two cells. If the
model uses the unstructured discretization (DISU) input file, then CELLIDN is the node number for
the cell.
cellidm—is the cellid of the connecting cell, m, to which flow occurs from the ghost node. For a struc-
tured grid that uses the DIS input file, CELLIDM is the layer, row, and column numbers of the cell.
For a grid that uses the DISV input file, CELLIDM is the layer number and CELL2D number for
the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM is
the node number for the cell.
cellidsj—is the array of CELLIDS for the contributing j cells, which contribute to the interpolated
head value at the ghost node. This item contains one CELLID for each of the contributing cells of
the ghost node. Note that if the number of actual contributing cells needed by the user is less than
NUMALPHAJ for any ghost node, then a dummy CELLID of zero(s) should be inserted with an
associated contributing factor of zero. For a structured grid that uses the DIS input file, CELLID is
the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLID is
the layer number and cell2d number for the two cells. If the model uses the unstructured discretiza-
tion (DISU) input file, then CELLID is the node number for the cell.
alphasj—is the contributing factors for each contributing node in CELLIDSJ. Note that if the number
of actual contributing cells is less than NUMALPHAJ for any ghost node, then dummy CELLIDS
should be inserted with an associated contributing factor of zero. The sum of ALPHASJ should be
less than one. This is because one minus the sum of ALPHASJ is equal to the alpha term (alpha n in
equation 4-61 of the GWF Model report) that is multiplied by the head in cell n.
BEGIN DIMENSIONS
NUMGNC 24
NUMALPHAJ 1
END DIMENSIONS
BEGIN GNCDATA
10 41 9 0.333333333333
10 43 11 0.333333333333
11 44 10 0.333333333333
11 46 12 0.333333333333
12 47 11 0.333333333333
12 49 13 0.333333333333
Groundwater Flow (GWF) Model Input 145
16 41 9 0.333333333333
16 59 20 0.333333333333
17 49 13 0.333333333333
17 67 21 0.333333333333
20 68 16 0.333333333333
20 86 24 0.333333333333
21 76 17 0.333333333333
21 94 25 0.333333333333
24 95 20 0.333333333333
24 113 28 0.333333333333
25 103 21 0.333333333333
25 121 32 0.333333333333
29 113 28 0.333333333333
29 115 30 0.333333333333
30 116 29 0.333333333333
30 118 31 0.333333333333
31 119 30 0.333333333333
31 121 32 0.333333333333
END GNCDATA
146 MODFLOW 6 – Description of Input and Output
Structure of Blocks
BEGIN OPTIONS
[AUXILIARY <auxiliary(naux)>]
[PRINT_INPUT]
[PRINT_FLOWS]
[SAVE_FLOWS]
[CELL_AVERAGING <cell_averaging>]
[VARIABLECV [DEWATERED]]
[NEWTON]
[GNC6 FILEIN <gnc6_filename>]
[MVR6 FILEIN <mvr6_filename>]
[OBS6 FILEIN <obs6_filename>]
END OPTIONS
BEGIN DIMENSIONS
NEXG <nexg>
END DIMENSIONS
BEGIN EXCHANGEDATA
<cellidm1> <cellidm2> <ihc> <cl1> <cl2> <hwva> [<aux(naux)>]
<cellidm1> <cellidm2> <ihc> <cl1> <cl2> <hwva> [<aux(naux)>]
...
END EXCHANGEDATA
Explanation of Variables
Block: OPTIONS
auxiliary—an array of auxiliary variable names. There is no limit on the number of auxiliary vari-
ables that can be provided. Most auxiliary variables will not be used by the GWF-GWF Exchange,
but they will be available for use by other parts of the program. If an auxiliary variable with the
name “ANGLDEGX” is found, then this information will be used as the angle (provided in degrees)
between the connection face normal and the x axis, where a value of zero indicates that a normal
vector points directly along the positive x axis. The connection face normal is a normal vector on
the cell face shared between the cell in model 1 and the cell in model 2 pointing away from the
model 1 cell. Additional information on “ANGLDEGX” is provided in the description of the DISU
Package. If an auxiliary variable with the name “CDIST” is found, then this information will be
used as the straight-line connection distance, including the vertical component, between the two cell
centers. Both ANGLDEGX and CDIST are required if specific discharge is calculated for either of
the groundwater models.
PRINT INPUT—keyword to indicate that the list of exchange entries will be echoed to the listing file
immediately after it is read.
PRINT FLOWS—keyword to indicate that the list of exchange flow rates will be printed to the listing file
for every stress period in which “SAVE BUDGET” is specified in Output Control.
Groundwater Flow (GWF) Model Input 147
SAVE FLOWS—keyword to indicate that cell-by-cell flow terms will be written to the budget file for each
model provided that the Output Control for the models are set up with the “BUDGET SAVE FILE”
option.
cell averaging—is a keyword and text keyword to indicate the method that will be used for calcu-
lating the conductance for horizontal cell connections. The text value for CELL AVERAGING
can be “HARMONIC”, “LOGARITHMIC”, or “AMT-LMK”, which means “arithmetic-mean
thickness and logarithmic-mean hydraulic conductivity”. If the user does not specify a value for
CELL AVERAGING, then the harmonic-mean method will be used.
VARIABLECV—keyword to indicate that the vertical conductance will be calculated using the saturated
thickness and properties of the overlying cell and the thickness and properties of the underlying cell.
If the DEWATERED keyword is also specified, then the vertical conductance is calculated using
only the saturated thickness and properties of the overlying cell if the head in the underlying cell
is below its top. If these keywords are not specified, then the default condition is to calculate the
vertical conductance at the start of the simulation using the initial head and the cell properties. The
vertical conductance remains constant for the entire simulation.
DEWATERED—If the DEWATERED keyword is specified, then the vertical conductance is calculated
using only the saturated thickness and properties of the overlying cell if the head in the underlying
cell is below its top.
NEWTON—keyword that activates the Newton-Raphson formulation for groundwater flow between con-
nected, convertible groundwater cells. Cells will not dry when this option is used.
FILEIN—keyword to specify that an input filename is expected next.
GNC6—keyword to specify that record corresponds to a ghost-node correction file.
gnc6 filename—is the file name for ghost node correction input file. Information for the ghost
nodes are provided in the file provided with these keywords. The format for specifying the ghost
nodes is the same as described for the GNC Package of the GWF Model. This includes specifying
OPTIONS, DIMENSIONS, and GNCDATA blocks. The order of the ghost nodes must follow the
same order as the order of the cells in the EXCHANGEDATA block. For the GNCDATA, noden and
all of the nodej values are assumed to be located in model 1, and nodem is assumed to be in model
2.
MVR6—keyword to specify that record corresponds to a mover file.
mvr6 filename—is the file name of the water mover input file to apply to this exchange. Information
for the water mover are provided in the file provided with these keywords. The format for speci-
fying the water mover information is the same as described for the Water Mover (MVR) Package
of the GWF Model, with two exceptions. First, in the PACKAGES block, the model name must be
included as a separate string before each package. Second, the appropriate model name must be
included before package name 1 and package name 2 in the BEGIN PERIOD block. This allows
providers and receivers to be located in both models listed as part of this exchange.
OBS6—keyword to specify that record corresponds to an observations file.
obs6 filename—is the file name of the observations input file for this exchange. See the “Observa-
tion utility” section for instructions for preparing observation input files. Table 21 lists observation
type(s) supported by the GWF-GWF package.
Block: DIMENSIONS
Block: EXCHANGEDATA
cellidm1—is the cellid of the cell in model 1 as specified in the simulation name file. For a structured
grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For
a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the
two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is
the node number for the cell.
cellidm2—is the cellid of the cell in model 2 as specified in the simulation name file. For a structured
grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For
a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the
two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is
the node number for the cell.
ihc—is an integer flag indicating the direction between node n and all of its m connections. If IHC =
0 then the connection is vertical. If IHC = 1 then the connection is horizontal. If IHC = 2 then the
connection is horizontal for a vertically staggered grid.
cl1—is the distance between the center of cell 1 and the its shared face with cell 2.
cl2—is the distance between the center of cell 2 and the its shared face with cell 1.
hwva—is the horizontal width of the flow connection between cell 1 and cell 2 if IHC > 0, or it is the
area perpendicular to flow of the vertical connection between cell 1 and cell 2 if IHC = 0.
aux—represents the values of the auxiliary variables for each GWFGWF Exchange. The values of aux-
iliary variables must be present for each exchange. The values must be specified in the order of the
auxiliary variables specified in the OPTIONS block.
BEGIN OPTIONS
PRINT_INPUT
PRINT_FLOWS
SAVE_FLOWS
AUXILIARY testaux
GNC6 FILEIN simulation.gnc
MVR6 FILEIN simulation.mvr
END OPTIONS
BEGIN DIMENSIONS
NEXG 36
END DIMENSIONS
# right side
20 9 1 50. 16.67 33.33 100.99
20 18 1 50. 16.67 33.33 100.99
20 27 1 50. 16.67 33.33 100.99
27 36 1 50. 16.67 33.33 100.99
27 45 1 50. 16.67 33.33 100.99
27 54 1 50. 16.67 33.33 100.99
34 63 1 50. 16.67 33.33 100.99
34 72 1 50. 16.67 33.33 100.99
34 81 1 50. 16.67 33.33 100.99
#
# back
10 1 1 50. 17.67 33.33 100.99
10 2 1 50. 17.67 33.33 100.99
10 3 1 50. 17.67 33.33 100.99
11 4 1 50. 17.67 33.33 100.99
11 5 1 50. 17.67 33.33 100.99
11 6 1 50. 17.67 33.33 100.99
12 7 1 50. 17.67 33.33 100.99
12 8 1 50. 17.67 33.33 100.99
12 9 1 50. 17.67 33.33 100.99
#
# front
38 73 1 50. 17.67 33.33 100.99
38 74 1 50. 17.67 33.33 100.99
38 75 1 50. 17.67 33.33 100.99
39 76 1 50. 17.67 33.33 100.99
39 77 1 50. 17.67 33.33 100.99
39 78 1 50. 17.67 33.33 100.99
40 79 1 50. 17.67 33.33 100.99
40 80 1 50. 17.67 33.33 100.99
40 81 1 50. 17.67 33.33 100.99
END EXCHANGEDATA
exg1 flow-ja-face 1
END CONTINUOUS
Iterative Model Solution 151
Structure of Blocks
BEGIN OPTIONS
[PRINT_OPTION <print_option>]
[COMPLEXITY <complexity>]
[CSV_OUTER_OUTPUT FILEOUT <outer_csvfile>]
[CSV_INNER_OUTPUT FILEOUT <inner_csvfile>]
[NO_PTC [<no_ptc_option>]]
END OPTIONS
BEGIN NONLINEAR
OUTER_DVCLOSE <outer_dvclose>
OUTER_MAXIMUM <outer_maximum>
[UNDER_RELAXATION <under_relaxation>]
[UNDER_RELAXATION_THETA <under_relaxation_theta>]
[UNDER_RELAXATION_KAPPA <under_relaxation_kappa>]
[UNDER_RELAXATION_GAMMA <under_relaxation_gamma>]
[UNDER_RELAXATION_MOMENTUM <under_relaxation_momentum>]
[BACKTRACKING_NUMBER <backtracking_number>]
[BACKTRACKING_TOLERANCE <backtracking_tolerance>]
[BACKTRACKING_REDUCTION_FACTOR <backtracking_reduction_factor>]
[BACKTRACKING_RESIDUAL_LIMIT <backtracking_residual_limit>]
END NONLINEAR
BEGIN LINEAR
INNER_MAXIMUM <inner_maximum>
INNER_DVCLOSE <inner_dvclose>
INNER_RCLOSE <inner_rclose> [<rclose_option>]
LINEAR_ACCELERATION <linear_acceleration>
[RELAXATION_FACTOR <relaxation_factor>]
[PRECONDITIONER_LEVELS <preconditioner_levels>]
[PRECONDITIONER_DROP_TOLERANCE <preconditioner_drop_tolerance>]
[NUMBER_ORTHOGONALIZATIONS <number_orthogonalizations>]
[SCALING_METHOD <scaling_method>]
[REORDERING_METHOD <reordering_method>]
END LINEAR
Explanation of Variables
Block: OPTIONS
print option—is a flag that controls printing of convergence information from the solver. NONE
means print nothing. SUMMARY means print only the total number of iterations and nonlinear
residual reduction summaries. ALL means print linear matrix solver convergence information to the
solution listing file and model specific linear matrix solver convergence information to each model
listing file in addition to SUMMARY information. NONE is default if PRINT OPTION is not spec-
ified.
complexity—is an optional keyword that defines default non-linear and linear solver parameters. SIM-
PLE - indicates that default solver input values will be defined that work well for nearly linear mod-
els. This would be used for models that do not include nonlinear stress packages and models that
152 MODFLOW 6 – Description of Input and Output
are either confined or consist of a single unconfined layer that is thick enough to contain the water
table within a single layer. MODERATE - indicates that default solver input values will be defined
that work well for moderately nonlinear models. This would be used for models that include non-
linear stress packages and models that consist of one or more unconfined layers. The MODERATE
option should be used when the SIMPLE option does not result in successful convergence. COM-
PLEX - indicates that default solver input values will be defined that work well for highly nonlinear
models. This would be used for models that include nonlinear stress packages and models that con-
sist of one or more unconfined layers representing complex geology and surface-water/groundwater
interaction. The COMPLEX option should be used when the MODERATE option does not result
in successful convergence. Non-linear and linear solver parameters assigned using a specified com-
plexity can be modified in the NONLINEAR and LINEAR blocks. If the COMPLEXITY option is
not specified, NONLINEAR and LINEAR variables will be assigned the simple complexity values.
CSV OUTER OUTPUT—keyword to specify that the record corresponds to the comma separated values
outer iteration convergence output.
FILEOUT—keyword to specify that an output filename is expected next.
outer csvfile—name of the ascii comma separated values output file to write maximum dependent-
variable (for example, head) change convergence information at the end of each outer iteration for
each time step.
CSV INNER OUTPUT—keyword to specify that the record corresponds to the comma separated values
solver convergence output.
inner csvfile—name of the ascii comma separated values output file to write solver convergence
information. Comma separated values output includes maximum dependent-variable (for example,
head) change and maximum residual convergence information for the solution and each model (if
the solution includes more than one model) and linear acceleration information for each inner itera-
tion.
NO PTC—is a flag that is used to disable pseudo-transient continuation (PTC). Option only applies to
steady-state stress periods for models using the Newton-Raphson formulation. For many problems,
PTC can significantly improve convergence behavior for steady-state simulations, and for this rea-
son it is active by default. In some cases, however, PTC can worsen the convergence behavior, espe-
cially when the initial conditions are similar to the solution. When the initial conditions are similar
to, or exactly the same as, the solution and convergence is slow, then the NO PTC FIRST option
should be used to deactivate PTC for the first stress period. The NO PTC ALL option should also
be used in order to compare convergence behavior with other MODFLOW versions, as PTC is only
available in MODFLOW 6.
no ptc option—is an optional keyword that is used to define options for disabling pseudo-transient
continuation (PTC). FIRST is an optional keyword to disable PTC for the first stress period, if
steady-state and one or more model is using the Newton-Raphson formulation. ALL is an optional
keyword to disable PTC for all steady-state stress periods for models using the Newton-Raphson
formulation. If NO PTC OPTION is not specified, the NO PTC ALL option is used.
Block: NONLINEAR
outer dvclose—real value defining the dependent-variable (for example, head) change criterion
for convergence of the outer (nonlinear) iterations, in units of the dependent-variable (for exam-
ple, length for head). When the maximum absolute value of the dependent-variable change at all
nodes during an iteration is less than or equal to OUTER DVCLOSE, iteration stops. Commonly,
Iterative Model Solution 153
OUTER DVCLOSE equals 0.01. The keyword, OUTER HCLOSE can be still be specified instead
of OUTER DVCLOSE for backward compatibility with previous versions of MODFLOW 6 but
eventually OUTER HCLOSE will be deprecated and specification of OUTER HCLOSE will cause
MODFLOW 6 to terminate with an error.
outer maximum—integer value defining the maximum number of outer (nonlinear) iterations – that is,
calls to the solution routine. For a linear problem OUTER MAXIMUM should be 1.
under relaxation—is an optional keyword that defines the nonlinear under-relaxation schemes used.
By default under-relaxation is not used. NONE - under-relaxation is not used. SIMPLE - Simple
under-relaxation scheme with a fixed relaxation factor is used. COOLEY - Cooley under-relaxation
scheme is used. DBD - delta-bar-delta under-relaxation is used. Note that the under-relaxation
schemes are used in conjunction with problems that use the Newton-Raphson formulation, how-
ever, experience has indicated that the Cooley under-relaxation and damping work well also for the
Picard scheme with the wet/dry options of MODFLOW 6.
under relaxation theta—real value defining the reduction factor for the learning rate (under-
relaxation term) of the delta-bar-delta algorithm. The value of UNDER RELAXATION THETA
is between zero and one. If the change in the dependent-variable (for example, head) is of oppo-
site sign to that of the previous iteration, the under-relaxation term is reduced by a factor of
UNDER RELAXATION THETA. The value usually ranges from 0.3 to 0.9; a value of 0.7
works well for most problems. UNDER RELAXATION THETA only needs to be specified if
UNDER RELAXATION is DBD.
under relaxation kappa—real value defining the increment for the learning rate (under-relaxation
term) of the delta-bar-delta algorithm. The value of UNDER RELAXATION kappa is between
zero and one. If the change in the dependent-variable (for example, head) is of the same sign
to that of the previous iteration, the under-relaxation term is increased by an increment of
UNDER RELAXATION KAPPA. The value usually ranges from 0.03 to 0.3; a value of 0.1
works well for most problems. UNDER RELAXATION KAPPA only needs to be specified if
UNDER RELAXATION is DBD.
under relaxation gamma—real value defining the history or memory term factor of the delta-bar-
delta algorithm. UNDER RELAXATION GAMMA is between zero and 1 but cannot be equal
to one. When UNDER RELAXATION GAMMA is zero, only the most recent history (previous
iteration value) is maintained. As UNDER RELAXATION GAMMA is increased, past history
of iteration changes has greater influence on the memory term. The memory term is maintained
as an exponential average of past changes. Retaining some past history can overcome granular
behavior in the calculated function surface and therefore helps to overcome cyclic patterns of non-
convergence. The value usually ranges from 0.1 to 0.3; a value of 0.2 works well for most problems.
UNDER RELAXATION GAMMA only needs to be specified if UNDER RELAXATION is not
NONE.
under relaxation momentum—real value defining the fraction of past history changes that
is added as a momentum term to the step change for a nonlinear iteration. The value of
UNDER RELAXATION MOMENTUM is between zero and one. A large momentum term
should only be used when small learning rates are expected. Small amounts of the momentum
term help convergence. The value usually ranges from 0.0001 to 0.1; a value of 0.001 works
well for most problems. UNDER RELAXATION MOMENTUM only needs to be specified if
UNDER RELAXATION is DBD.
backtracking number—integer value defining the maximum number of backtracking iterations
allowed for residual reduction computations. If BACKTRACKING NUMBER = 0 then the back-
154 MODFLOW 6 – Description of Input and Output
tracking iterations are omitted. The value usually ranges from 2 to 20; a value of 10 works well for
most problems.
backtracking tolerance—real value defining the tolerance for residual change that is allowed for
residual reduction computations. BACKTRACKING TOLERANCE should not be less than one to
avoid getting stuck in local minima. A large value serves to check for extreme residual increases,
while a low value serves to control step size more severely. The value usually ranges from 1.0 to
106 ; a value of 104 works well for most problems but lower values like 1.1 may be required for
harder problems. BACKTRACKING TOLERANCE only needs to be specified if BACKTRACK-
ING NUMBER is greater than zero.
backtracking reduction factor—real value defining the reduction in step size used for residual
reduction computations. The value of BACKTRACKING REDUCTION FACTOR is between
zero and one. The value usually ranges from 0.1 to 0.3; a value of 0.2 works well for most prob-
lems. BACKTRACKING REDUCTION FACTOR only needs to be specified if BACKTRACK-
ING NUMBER is greater than zero.
backtracking residual limit—real value defining the limit to which the residual is reduced with
backtracking. If the residual is smaller than BACKTRACKING RESIDUAL LIMIT, then further
backtracking is not performed. A value of 100 is suitable for large problems and residual reduction
to smaller values may only slow down computations. BACKTRACKING RESIDUAL LIMIT only
needs to be specified if BACKTRACKING NUMBER is greater than zero.
Block: LINEAR
inner maximum—integer value defining the maximum number of inner (linear) iterations. The number
typically depends on the characteristics of the matrix solution scheme being used. For nonlinear
problems, INNER MAXIMUM usually ranges from 60 to 600; a value of 100 will be sufficient for
most linear problems.
inner dvclose—real value defining the dependent-variable (for example, head) change criterion for
convergence of the inner (linear) iterations, in units of the dependent-variable (for example, length
for head). When the maximum absolute value of the dependent-variable change at all nodes during
an iteration is less than or equal to INNER DVCLOSE, the matrix solver assumes convergence.
Commonly, INNER DVCLOSE is set an order of magnitude less than the OUTER DVCLOSE
value specified for the NONLINEAR block. The keyword, INNER HCLOSE can be still be spec-
ified instead of INNER DVCLOSE for backward compatibility with previous versions of MOD-
FLOW 6 but eventually INNER HCLOSE will be deprecated and specification of INNER HCLOSE
will cause MODFLOW 6 to terminate with an error.
inner rclose—real value that defines the flow residual tolerance for convergence of the IMS linear
solver and specific flow residual criteria used. This value represents the maximum allowable resid-
ual at any single node. Value is in units of length cubed per time, and must be consistent with MOD-
FLOW 6 length and time units. Usually a value of 1.0 × 10−1 is sufficient for the flow-residual
criteria when meters and seconds are the defined MODFLOW 6 length and time.
rclose option—an optional keyword that defines the specific flow residual criterion used. STRICT–
an optional keyword that is used to specify that INNER RCLOSE represents a infinity-Norm (abso-
lute convergence criteria) and that the dependent-variable (for example, head) and flow convergence
criteria must be met on the first inner iteration (this criteria is equivalent to the criteria used by the
MODFLOW-2005 PCG package (Hill, 1990)). L2NORM RCLOSE–an optional keyword that is
used to specify that INNER RCLOSE represents a L-2 Norm closure criteria instead of a infinity-
Norm (absolute convergence criteria). When L2NORM RCLOSE is specified, a reasonable initial
Iterative Model Solution 155
INNER RCLOSE value is 0.1 times the number of active cells when meters and seconds are the
defined MODFLOW 6 length and time. RELATIVE RCLOSE–an optional keyword that is used
to specify that INNER RCLOSE represents a relative L-2 Norm reduction closure criteria instead
of a infinity-Norm (absolute convergence criteria). When RELATIVE RCLOSE is specified, a
reasonable initial INNER RCLOSE value is 1.0 × 10−4 and convergence is achieved for a given
inner (linear) iteration when ∆h ≤ INNER DVCLOSE and the current L-2 Norm is ≤ the prod-
uct of the RELATIVE RCLOSE and the initial L-2 Norm for the current inner (linear) iteration. If
RCLOSE OPTION is not specified, an absolute residual (infinity-norm) criterion is used.
linear acceleration—a keyword that defines the linear acceleration method used by the default
IMS linear solvers. CG - preconditioned conjugate gradient method. BICGSTAB - preconditioned
bi-conjugate gradient stabilized method.
relaxation factor—optional real value that defines the relaxation factor used by the incomplete
LU factorization preconditioners (MILU(0) and MILUT). RELAXATION FACTOR is unitless
and should be greater than or equal to 0.0 and less than or equal to 1.0. RELAXATION FACTOR
values of about 1.0 are commonly used, and experience suggests that convergence can be opti-
mized in some cases with relax values of 0.97. A RELAXATION FACTOR value of 0.0 will
result in either ILU(0) or ILUT preconditioning (depending on the value specified for PRECON-
DITIONER LEVELS and/or PRECONDITIONER DROP TOLERANCE). By default, RELAX-
ATION FACTOR is zero.
preconditioner levels—optional integer value defining the level of fill for ILU decomposition used
in the ILUT and MILUT preconditioners. Higher levels of fill provide more robustness but also
require more memory. For optimal performance, it is suggested that a large level of fill be applied (7
or 8) with use of a drop tolerance. Specification of a PRECONDITIONER LEVELS value greater
than zero results in use of the ILUT preconditioner. By default, PRECONDITIONER LEVELS is
zero and the zero-fill incomplete LU factorization preconditioners (ILU(0) and MILU(0)) are used.
preconditioner drop tolerance—optional real value that defines the drop tolerance used to
drop preconditioner terms based on the magnitude of matrix entries in the ILUT and MILUT
preconditioners. A value of 10−4 works well for most problems. By default, PRECONDI-
TIONER DROP TOLERANCE is zero and the zero-fill incomplete LU factorization precondition-
ers (ILU(0) and MILU(0)) are used.
number orthogonalizations—optional integer value defining the interval used to explicitly recal-
culate the residual of the flow equation using the solver coefficient matrix, the latest dependent-
variable (for example, head) estimates, and the right hand side. For problems that benefit from
explicit recalculation of the residual, a number between 4 and 10 is appropriate. By default, NUM-
BER ORTHOGONALIZATIONS is zero.
scaling method—an optional keyword that defines the matrix scaling approach used. By default,
matrix scaling is not applied. NONE - no matrix scaling applied. DIAGONAL - symmetric matrix
scaling using the POLCG preconditioner scaling method in Hill (1992). L2NORM - symmetric
matrix scaling using the L2 norm.
reordering method—an optional keyword that defines the matrix reordering approach used. By
default, matrix reordering is not applied. NONE - original ordering. RCM - reverse Cuthill McKee
ordering. MD - minimum degree ordering.
Table 20. IMS variable values for the available complexity options..
BEGIN OPTIONS
PRINT_OPTION 1
COMPLEXITY MODERATE
END OPTIONS
BEGIN NONLINEAR
OUTER_DVCLOSE 1.E-4
OUTER_MAXIMUM 2000
UNDER_RELAXATION DBD
UNDER_RELAXATION_THETA 0.70
UNDER_RELAXATION_KAPPA 0.100000E-03
UNDER_RELAXATION_GAMMA 0.
UNDER_RELAXATION_MOMENTUM 0.
BACKTRACKING_NUMBER 20
BACKTRACKING_TOLERANCE 2.
BACKTRACKING_REDUCTION_FACTOR 0.6
BACKTRACKING_RESIDUAL_LIMIT 5.000000E-04
END NONLINEAR
Iterative Model Solution 157
BEGIN LINEAR
INNER_MAXIMUM 100
INNER_DVCLOSE 1.0E-4
INNER_RCLOSE 0.001
LINEAR_ACCELERATION BICGSTAB
RELAXATION_FACTOR 0.97
SCALING_METHOD NONE
REORDERING_METHOD NONE
END LINEAR
158 MODFLOW 6 – Description of Input and Output
Structure of Blocks
Explanation of Variables
Block: OPTIONS
Observation (OBS) Utility 159
digits—Keyword and an integer digits specifier used for conversion of simulated values to text on out-
put. The default is 5 digits. When simulated values are written to a file specified as file type DATA
in the Name File, the digits specifier controls the number of significant digits with which simulated
values are written to the output file. The digits specifier has no effect on the number of significant
digits with which the simulation time is written for continuous observations.
PRINT INPUT—keyword to indicate that the list of observation information will be written to the listing
file immediately after it is read.
Block: CONTINUOUS
Time-Variable Input
In earlier versions of MODFLOW, most stress-boundary packages read input on a stress period-by-stress
period basis, and those values were held constant during the stress period. In MODFLOW 6, many stress val-
ues can be specified with a higher degree of time resolution (from time step to time step or from subtime step
to subtime step) by using one of two time-variable approaches. Boundaries for which data are read as lists of
cells can reference “time series” to implement the time variation. Boundaries for which data are read as 2-D
arrays can reference “time-array series” to do so.
When MODFLOW 6 needs data from a time series or time-array series for a time interval representing
a time step or subtime step, the series is queried to provide a time-averaged value or array of values for the
requested time interval. For each series, the user specifies an interpolation method that determines how the
value is assumed to behave between listed times. The interpolation method thus determines how the time aver-
aging is performed. When a time-array series is used, interpolation is performed on an element-by-element
basis to generate a 2-D array of interpolated values as needed.
The supported interpolation methods are STEPWISE, LINEAR, and LINEAREND. When the STEPWISE
interpolation method is used, the value is assumed to remain constant at the value specified in one time-series
record until the time listed in the subsequent record, when the value changes abruptly to the new value. In
the LINEAR interpolation method, the value is assumed to change linearly between times listed in sequen-
tial records. LINEAREND is like LINEAR, except that instead of using the average value over a time step,
the value at the end of a time step is used. Following sections document the structure of time-series and time-
array-series files and their use.
Time Series
Any package that reads data as a list of cells and associated time-dependent input values can obtain those
values from time series. For example, flow rates for a well or stage for a river boundary can be extracted from
time series. During a simulation, values used for time-varying stresses (or auxiliary values) are based on the
values provided in the time series and are updated each time step (or each subtime step, as appropriate). Input
to define and use time series is described in this section.
A time series consists of a chronologically ordered list of time-series records, where each record includes
a discrete time and a corresponding value. The value can be used to provide any time-varying numeric input,
including stresses and auxiliary variables. A time series can be referenced in input for one or multiple vari-
ables in a given package.
Time-Series Files
Each time-series file is associated with exactly one package, and the name of a time-series file associated
with a package is listed in the OPTIONS block for the package, preceded by the keywords “TS6 FILEIN.”
Any number of time-series files can be associated with a given package; a TS6 entry is required for each time-
series file. A time-series file can contain one or more time series. Time-series files are not listed in either the
simulation Name File or the model Name File. A given time-series file cannot be associated with more than
one package. By convention, the extension “.ts” is used in names of time-series files.
Each time-series file contains an ATTRIBUTES block followed by a TIMESERIES block containing a
series of lines, where each line contains a time followed by values for one or more time series at the speci-
fied time. The ATTRIBUTES block is required to define the name for each time series and the interpolation
method to be used when an operation requires interpolation between times listed in the time series.
The time-series name(s) and interpolation method(s) are specified in the ATTRIBUTES block. Scale
factor(s) for multiplying values optionally can be provided in the ATTRIBUTES block. NAME, METHOD,
Time-Variable Input 167
METHODS, SFAC, and SFACS are keywords. For appearance when a time-series file includes multiple time
series, NAMES can be used as a synonym for the NAME keyword.
The syntax of the ATTRIBUTES block for a time-series file containing a single time series is as follows:
BEGIN ATTRIBUTES
NAME time-series-name
METHOD interpolation-method
[ SFAC sfac ]
END ATTRIBUTES
When a time-series file contains multiple time series, the time-series names are listed in a NAME (or
NAMES) entry, similar to the example above. If the time series are to have different interpolation methods,
the METHODS keyword is used in place of the METHOD keyword, and an interpolation method correspond-
ing to each name is listed. If the time series are to have different scale factors, the SFACS keyword is used in
place of the SFAC keyword.
The syntax of the ATTRIBUTES block for a time-series file containing multiple time series is as follows:
BEGIN ATTRIBUTES
NAMES time-series-name-1 [ time-series-name-2 ... time-series-name-n ]
METHODS interpolation-method-1 [ interpolation-method-2 ... ]
[ SFACS sfac-1 [ sfac-2 ... sfac-n ] ]
END ATTRIBUTES
In a case where a time-series file contains multiple time series and a single interpolation method applies to
all time series in the file, the METHOD keyword can be used, and a single interpolation method is read. Sim-
ilary, if a single scale factor applies to all time series in the file, the SFAC keyword can be used, and a single
scale factor is read.
The ATTRIBUTES block is followed by a TIMESERIES block of the form:
BEGIN TIMESERIES
time-series record
time-series record
...
time-series record
END TIMESERIES
In situations where an individual time series in a file containing multiple time series does not include val-
ues for all specified times, a “no-data” value (3.0E30) can be used as a placeholder. When the “no-data” value
is read for a time series, that time series will not include a time-series record for the corresponding time.
Explanation of Variables
time-series-name—Name by which a package references a particular time series. The name must be
unique among all time series used in a package.
sfac—Scale factor, which will multiply all tsr-value values in the time series. SFAC and SFACS are
optional attributes; if omitted, sfac = 1.0.
tsr-time—A numeric time relative to the start of the simulation, in the time unit used in the simulation.
Times must be strictly increasing.
tsr-value—A numeric data value corresponding to tsr-time. The value 3.0E30 is treated as a “no-data”
value and can be used wherever a time series in a file containing multiple time series does not have a
value corresponding to the time specified by tsr-time.
168 MODFLOW 6 – Description of Input and Output
time-series-file-name—Name of a time-series file in which time series used in the package are defined.
Each time series has a name. To specify that time-dependent values for one or more stress periods is to
be extracted from a time series, the time-series name is listed in the position where a numeric value normally
would be provided.
BEGIN TIMESERIES
# time well-A-series well-B-series well-C-series
0.0 0.0 0.0 0.0
1.0 -500.0 0.0 -400.0
2.0 -500.0 -1000.0 -500.0
5.0 -500.0 -1200.0 -200.0
8.0 -500.0 -1100.0 0.0
END TIMESERIES
BEGIN DIMENSIONS
MAXBOUND 4
END DIMENSIONS
BEGIN PERIOD 2
#layer row col Q (or time series)
9 192 44 well-A-series
10 43 17 well-B-series
11 12 17 well-C-series
END PERIOD
Time-Variable Input 169
BEGIN PERIOD 4
#layer row col Q (or time series)
9 192 44 well-A-series
10 43 17 well-B-series
11 12 17 well-C-series
2 27 36 -900.0
END PERIOD
BEGIN PERIOD 8
2 27 36 -900.0
END PERIOD
In the example above, the Well package would have zero wells active in stress period 1. Three wells whose
discharge rates are controlled by time series well-A-series, well-B-series, and well-C-series would be active
in stress periods 2 and 3. Stress periods 4 through 7 would include the three time-series-controlled wells plus
a well with a constant discharge of 900 (L3 /T). In stress period 8, only the constant-discharge well would be
active.
Time-Array Series
Any package that reads data for a structured model in the form of 2-D arrays can obtain those array data
from a time-array series. For example, recharge rates or maximum evapotranspiration rates can be extracted
from time-array series. During a simulation, values used for time-varying stresses (or auxiliary values) are
based on the values provided in the time-array series and are updated each time step (or each subtime step, as
appropriate). Input to define and use time-array series is described in this section.
A time-array series consists of a chronologically ordered list of arrays, where each array is associated with
a discrete time. The array data can be used to provide any time-varying, array-based numeric input.
Time-Array-Series Files
Each time-array-series file is associated with exactly one package, and the name of a time-array-series
file associated with a package is listed in the OPTIONS block for the package, preceded by the keywords
“TAS6 FILEIN.” Any number of time-array-series files can be associated with a given package; a TAS6 entry
is required for each time-array-series file. Time-array-series files are not listed in either the simulation Name
File or the model Name File. A given time-array-series file cannot be associated with more than one package.
One time-array-series file defines a single time-array series. A time-array-series file contains an
ATTRIBUTES block followed by a series of TIME blocks, where each TIME block contains data to define an
array corresponding to a discrete time. The READARRAY array reading utility is used to read the array. The
ATTRIBUTES block is required to define the name for the time-array series and the interpolation method to be
used when an operation requires interpolation between times listed in the time-array series. By convention, the
extension “.tas” is used in names of time-array-series files.
The syntax of the ATTRIBUTES block for a time-array-series file is as follows:
BEGIN ATTRIBUTES
NAME time-array-series-name
METHOD interpolation-method
[ SFAC sfac ]
END ATTRIBUTES
The ATTRIBUTES block is followed by any number of TIME blocks of the form:
BEGIN TIME tas-time
tas-array
END TIME
170 MODFLOW 6 – Description of Input and Output
Explanation of Variables
time-array-series-name—Name by which a package references a particular time-array series. The name
must be unique among all time-array series used in a package.
sfac—Scale factor, which will multiply all array values in time series. SFAC is an optional attribute; if omit-
ted, SFAC = 1.0.
tas-time—A numeric time relative to the start of the simulation, in the time unit used in the simulation.
Times must be strictly increasing.
tas-array—A 2-D array of numeric, floating-point values, or a constant value, readable by the READAR-
RAY array-reading utility.
A time-array series is linked to an array in one or more stress period blocks used to define package input.
To indicate that an array is to be controlled by a time-array series, the array property word is followed by the
keyword TIMEARRAYSERIES and the time-array series name. When the TIMEARRAYSERIES keyword is
found (and the array to be populated supports time-array series), the array reader is not invoked. Consequently,
the array-control record and any associated input are omitted. The syntax to define the link is:
BEGIN PERIOD kper
property-name TIMEARRAYSERIES time-array-series-name
END PERIOD
time-array-series-name—Name of time-array series. The time-array series must be defined in one of the
files listed in the OPTIONS block with the TAS6 FILEIN keywords.
Time-Variable Input 171
BEGIN PERIOD 1
IRCH
CONSTANT 1
RECHARGE TIMEARRAYSERIES RchArraySeries_1
RchMult
INTERNAL FACTOR 1.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 1.0 1.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0
0.0 1.0 1.0 1.0 1.0 0.5 0.0 0.0 0.0 0.0
0.0 1.0 1.0 1.0 1.0 1.0 0.5 0.0 0.0 0.0
0.0 0.2 1.0 1.0 1.0 1.0 1.0 0.5 0.2 0.0
0.0 0.0 0.5 1.0 1.0 1.0 1.0 0.5 0.0 0.0
0.0 0.0 0.0 0.2 0.2 0.2 0.2 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
END PERIOD
DIS Grids
Read NTXT strings of size LENTXT. Set the number of data records (NDAT) equal to number of lines that do not
begin with #.
Definition 0: ‘#Comment ...’ CHARACTER(LEN=LENTXT), comments not presently written
Definition 1: ‘NCELLS INTEGER NDIM 0 # ncells’ CHARACTER(LEN=LENTXT)
Definition 2: ‘NLAY INTEGER NDIM 0 # nlay’ CHARACTER(LEN=LENTXT)
Definition 3: ‘NROW INTEGER NDIM 0 # nrow’ CHARACTER(LEN=LENTXT)
Definition 4: ‘NCOL INTEGER NDIM 0 # ncol’ CHARACTER(LEN=LENTXT)
Definition 5: ‘NJA INTEGER NDIM 0 # nja’ CHARACTER(LEN=LENTXT)
Definition 6: ‘XORIGIN DOUBLE NDIM 0 # xorigin’ CHARACTER(LEN=LENTXT)
Definition 7: ‘YORIGIN DOUBLE NDIM 0 # yorigin’ CHARACTER(LEN=LENTXT)
Definition 8: ‘ANGROT DOUBLE NDIM 0 # angrot’ CHARACTER(LEN=LENTXT)
Definition 9: ‘DELR DOUBLE NDIM 1 ncol’ CHARACTER(LEN=LENTXT)
Definition 10: ‘DELC DOUBLE NDIM 1 nrow’ CHARACTER(LEN=LENTXT)
Definition 11: ‘TOP DOUBLE NDIM 1 nrow*ncol’ CHARACTER(LEN=LENTXT)
Definition 12: ‘BOTM DOUBLE NDIM 1 ncells’ CHARACTER(LEN=LENTXT)
Definition 13: ‘IA INTEGER NDIM 1 ncells+1’ CHARACTER(LEN=LENTXT)
Definition 14: ‘JA INTEGER NDIM 1 nja’ CHARACTER(LEN=LENTXT)
Definition 15: ‘IDOMAIN INTEGER NDIM 1 ncells’ CHARACTER(LEN=LENTXT)
Definition 16: ‘ICELLTYPE INTEGER NDIM 1 ncells’ CHARACTER(LEN=LENTXT)
DISV Grids
The binary grid file for DISV grids contains information on the vertices and which vertices comprise a
cell. The x, y coordinates for each vertex are stored in the VERTICES array. The list of vertices that comprise
all of the cells is stored in the JAVERT array. The list of vertices for any cell can be found using the IAVERT
array. The following pseudocode shows how to loop through every cell in the DISV grid and obtain the cell
vertices. The list of vertices is “closed” for each cell in that the first listed vertex is equal to the last listed ver-
tex.
DO K = 1, NLAY
DO N = 1, NCPL
PRINT *, ’THIS IS CELL (LAYER, ICELL2D): ’, K, N
NVCELL = IAVERT(N+1) - IAVERT(N)
PRINT*, ’NUMBER OF VERTICES FOR CELL IS’, NVCELL
DO IPOS = IAVERT(N), IAVERT(N + 1) - 1
IVERT = JAVERT(IPOS)
X = VERTICES(1,IVERT)
Y = VERTICES(2,IVERT)
PRINT *,’ VERTEX PAIR: ’, X, Y
ENDDO
ENDDO
ENDDO
The IA and JA arrays are also contained in the DISV binary grid file. These arrays describe the cell con-
nectivity. Connections in the JA array correspond directly with the FLOW-JA-FACE record that is written to
the budget file.
The content of the DISV binary grid file is as follows.
Read NTXT strings of size LENTXT. Set the number of data records (NDAT) equal to number of lines that do not
begin with #.
Definition 0: ‘#Comment ...’ CHARACTER(LEN=LENTXT), comments not presently written
Definition 1: ‘NCELLS INTEGER NDIM 0 # ncells’ CHARACTER(LEN=LENTXT)
Definition 2: ‘NLAY INTEGER NDIM 0 # nlay’ CHARACTER(LEN=LENTXT)
Definition 3: ‘NCPL INTEGER NDIM 0 # ncpl’ CHARACTER(LEN=LENTXT)
Definition 4: ‘NVERT INTEGER NDIM 0 # nvert’ CHARACTER(LEN=LENTXT)
Definition 5: ‘NJAVERT INTEGER NDIM 0 # njavert’ CHARACTER(LEN=LENTXT)
Definition 6: ‘NJA INTEGER NDIM 0 # nja’ CHARACTER(LEN=LENTXT)
Definition 7: ‘XORIGIN DOUBLE NDIM 0 # xorigin’ CHARACTER(LEN=LENTXT)
Definition 8: ‘YORIGIN DOUBLE NDIM 0 # yorigin’ CHARACTER(LEN=LENTXT)
Definition 9: ‘ANGROT DOUBLE NDIM 0 # angrot’ CHARACTER(LEN=LENTXT)
Definition 10: ‘TOP DOUBLE NDIM 1 ncpl’ CHARACTER(LEN=LENTXT)
Definition 11: ‘BOTM DOUBLE NDIM 1 ncells’ CHARACTER(LEN=LENTXT)
Definition 12: ‘VERTICES DOUBLE NDIM 2 2 nvert’ CHARACTER(LEN=LENTXT)
Definition 13: ‘CELLX DOUBLE NDIM 1 ncpl’ CHARACTER(LEN=LENTXT)
Definition 14: ‘CELLY DOUBLE NDIM 1 ncpl’ CHARACTER(LEN=LENTXT)
Definition 15: ‘IAVERT INTEGER NDIM 1 ncpl+1’ CHARACTER(LEN=LENTXT)
Definition 16: ‘JAVERT INTEGER NDIM 1 njavert’ CHARACTER(LEN=LENTXT)
176 MODFLOW 6 – Description of Input and Output
DISU Grids
The binary grid file for DISU grids may contain information on the vertices and which vertices comprise
a cell, but this depends on whether or not the user provided the information in the DISU Package. This infor-
mation is not required unless the XT3D or SAVE SPECIFIC DISCHARGE options are specified in the NPF
Package. If provided, the x, y coordinates for each vertex are stored in the VERTICES array. The list of ver-
tices that comprise all of the cells is stored in the JAVERT array. The list of vertices for any cell can be found
using the IAVERT array. Pseudocode for looping through cells in the grid is listed above in the section on the
binary grid file for the DISV Package. As for the DISV binary grid file, the list of vertices is “closed” for each
cell in that the first listed vertex is equal to the last listed vertex.
Read NTXT strings of size LENTXT. Set the number of data records (NDAT) equal to number of lines that do not
begin with #.
Definition 0: ‘#Comment ...’ CHARACTER(LEN=LENTXT), comments not presently written
Definition 1: ‘NODES INTEGER NDIM 0 # nodes’ CHARACTER(LEN=LENTXT)
Definition 2: ‘NJA INTEGER NDIM 0 # nja’ CHARACTER(LEN=LENTXT)
Definition 3: ‘XORIGIN DOUBLE NDIM 0 # xorigin’ CHARACTER(LEN=LENTXT)
Definition 4: ‘YORIGIN DOUBLE NDIM 0 # yorigin’ CHARACTER(LEN=LENTXT)
Definition 5: ‘ANGROT DOUBLE NDIM 0 # angrot’ CHARACTER(LEN=LENTXT)
Definition 6: ‘TOP DOUBLE NDIM 1 nodes’ CHARACTER(LEN=LENTXT)
Definition 7: ‘BOT DOUBLE NDIM 1 nodes’ CHARACTER(LEN=LENTXT)
Definition 8: ‘IA INTEGER NDIM 1 ncells+1’ CHARACTER(LEN=LENTXT)
Definition 9: ‘JA INTEGER NDIM 1 nja’ CHARACTER(LEN=LENTXT)
Definition 10: ‘ICELLTYPE INTEGER NDIM 1 ncells’ CHARACTER(LEN=LENTXT)
If vertices are provided in the DISU Package, then 5 additional definitions are included:
Definition 11: ‘VERTICES DOUBLE NDIM 2 2 nvert’ CHARACTER(LEN=LENTXT)
Definition 12: ‘CELLX DOUBLE NDIM 1 nodes’ CHARACTER(LEN=LENTXT)
Definition 13: ‘CELLY DOUBLE NDIM 1 nodes’ CHARACTER(LEN=LENTXT)
Definition 14: ‘IAVERT INTEGER NDIM 1 nodes+1’ CHARACTER(LEN=LENTXT)
Definition 15: ‘JAVERT INTEGER NDIM 1 njavert’ CHARACTER(LEN=LENTXT)
If vertices are provided in the DISU Package, then 5 additional records are included:
Record 11: ((VERT(J,K),J=1,2),K=1,NVERT) DOUBLE PRECISION ARRAY SIZE(2,NVERT)
Record 12: (CELLX(J),J=1,NODES) DOUBLE PRECISION ARRAY SIZE(NODES)
Record 13: (CELLY(J),J=1,NODES) DOUBLE PRECISION ARRAY SIZE(NODES)
Record 14: (IAVERT(J),J=1,NODES+1) INTEGER ARRAY SIZE(NODES+1)
Record 15: (JAVERT(J),J=1,NJAVERT) INTEGER ARRAY SIZE(NJAVERT)
Description of Groundwater Flow (GWF) Model Binary Output Files 179
DIS Grids
For each stress period, time step, and layer for which data are saved to the binary output file, the following
two records are written:
Record 1: KSTP,KPER,PERTIM,TOTIM,TEXT,NCOL,NROW,ILAY
Record 2: ((DATA(J,I,ILAY),J=1,NCOL),I=1,NROW)
where
DISV Grids
For each stress period, time step, and layer for which data are saved to the binary output file, the following
two records are written:
Record 1: KSTP,KPER,PERTIM,TOTIM,TEXT,NCPL,1,ILAY
Record 2: (DATA(J,ILAY),J=1,NCPL)
where
DISU Grids
For each stress period, time step, and layer for which data are saved to the binary output file, the following
two records are written:
Record 1: KSTP,KPER,PERTIM,TOTIM,TEXT,NODES,1,1
Record 2: (DATA(N),N=1,NODES)
where
For each stress period, time step, and layer for which data are saved to the binary output file, the following
two records are written:
Record 1: KSTP,KPER,PERTIM,TOTIM,TEXT,MAXBOUND,1,1
Record 2: (DATA(N),N=1,MAXBOUND)
where
Record 1: KSTP,KPER,TEXT,NDIM1,NDIM2,-NDIM3
Record 2: IMETH,DELT,PERTIM,TOTIM
IMETH=6: Read text identifiers, auxiliary text labels, and list of information.
Record 3: TXT1ID1
Record 4: TXT2ID1
Record 5: TXT1ID2
Record 6: TXT2ID2
Record 7: NDAT
Record 8: (AUXTXT(N),N=1,NDAT-1)
Record 9: NLIST
Record 10: ((ID1(N),ID2(N),(DATA2D(I,N),I=1,NDAT)),N=1,NLIST)
where
Table 22. Budget file variations that depend on discretization package type.
node number in the GWF Model grid. The second set of text identifiers refer to the information in ID2. Unless
noted otherwise in the description in table 23, TXT1ID2 is the name of the GWF Model, TXT2ID2 is the
name of the package, and ID2 is the bound number in the package; for example, this is the first constant head
cell, second constant head cell, and so forth.
Table 23. Types of information that may be contained in the GWF Model budget file.
Table 23. Types of information that may be contained in the GWF Model budget file.
Intercell Flows
MODFLOW 6 writes a special budget record for flow between connected cells. This record has a TEXT
identifier equal to FLOW-JA-FACE. For this record, the total number of values is equal to NJA, which is the
total number of connections. For each cell, the number of connections is equal to the number of connections to
adjacent cells plus one, to represent the cell itself. Therefore, this budget record corresponds to the JA array. A
value of zero is written to the node positions in the FLOW-JA-FACE record. The JA array that is written in the
binary grid corresponds directly to the FLOW-JA-FACE record.
For regular MODFLOW grids, there are no longer records for FLOW RIGHT FACE, FLOW FRONT
FACE, and FLOW LOWER FACE. Instead, intercell flows are written to the FLOW-JA-FACE record. Writing
FLOW-JA-FACE allows face flows to be specified in straightforward manner, particularly when the IDOMAIN
capability is used to remove cells and specify vertical pass-through cells.
The following pseudocode shows how to loop through and process intercell flows using the IA and JA
arrays (which can be read from the binary grid file) and the FLOWJA array, which is written to the budget
file. For a cell (N) that has been eliminated with IDOMAIN, the value for IA(N) and IA(N+1) will be equal,
indicating that there are no connections or flows for that cell.
186 MODFLOW 6 – Description of Input and Output
DO N = 1, NCELLS
PRINT *, ’THIS IS CELL: ’, N
NCON = IA(N+1) - IA(N) - 1
IF(NCON<0) NCON=0
PRINT*, ’NUMBER OF CONNECTED CELLS IS ’, NCON
DO IPOS = IA(N) + 1, IA(N + 1) - 1
M = JA(IPOS)
Q = FLOWJA(IPOS)
PRINT *,’ N M Q: ’, N,M,Q
ENDDO
ENDDO
Description of Groundwater Flow (GWF) Model Binary Output Files 187
CSUB Package
For each stress period, time step, and compaction data type that is saved to the CSUB Package binary out-
put files as IMETH=1 budget file type. The compaction data that are written to the CSUB Package binary files
are summarized in Tables 24.
Table 24. Data written to the CSUB Package compaction binary output files.
For each stress period, time step, and data type that is saved to the LAK, MAW, SFR, and UZF Packages
binary output files as IMETH=6 budget file type. For all advanced packages, NDIM1 is equal to the number of
nodes, NDIM2 is equal to 1, and NDIM3 is equal to -1. The data that are written to the LAK, MAW, SFR, and
UZF Package binary files are summarized in Tables 25 to 28, respectively.
Table 25. Data written to the LAK Package binary output file. Flow terms are listed in the order they are written to the LAK
Package binary output file.
Table 26. Data written to the MAW Package binary output file. Flow terms are listed in the order they are written to the MAW
Package binary output file.
Table 27. Data written to the SFR Package binary output file. Flow terms are listed in the order they are written to the SFR
Package binary output file.
Table 28. Data written to the UZF Package binary output file. Flow terms are listed in the order they are written to the UZF
Package binary output file.
where
TYPE (bytes 1–4 of Record 1) is “cont “ — “cont” indicates the file contains continuous observations ;
PRECISION (bytes 6–11 of Record 1) will always be “double” to indicate that floating-point values are writ-
ten in double precision (8 bytes);
LENOBSNAME (bytes 12–15 of Record 1) is an integer indicating the number of characters used to store each
observation name in following records (in the initial release of MODFLOW 6, LENOBSNAME equals
40);
NOBS (4-byte integer) is the number of observations recorded in the file;
OBSNAME (LENOBSNAME bytes) is an observation name;
TIME (floating-point) is the simulation time; and
SIMVALUE (floating-point) is the simulated value.
References Cited R–1
References Cited
Anderman, E.R., and Hill, M.C., 2000, MODFLOW-2000, the U.S. Geological Survey modular ground-water
model-documentation of the Hydrogeologic-Unit Flow (HUF) Package: U.S. Geological Survey Open-File
Report 2000–342, 89 p.
Anderman, E.R., and Hill, M.C., 2003, MODFLOW-2000, the U.S. Geological Survey modular ground-water
model—Three additions to the Hydrogeologic-Unit Flow (HUF) Package: Alternative storage for the upper-
most active cells, flows in hydrogeologic units, and the hydraulic-conductivity depth-dependence (KDEP)
capability: U.S. Geological Survey Open-File Report 2003–347, 36 p.
Bakker, Mark, Schaars, Frans, Hughes, J.D., Langevin, C.D., and Dausman, A.M., 2013, Documentation of
the seawater intrusion (SWI2) package for MODFLOW: U.S. Geological Survey Techniques and Methods,
book 6, chap. A46, 47 p., accessed June 27, 2017, at https://pubs.er.usgs.gov/publication/tm6A46.
Banta, E.R., 2000, MODFLOW-2000, the U.S. Geological Survey Modular Ground-Water Model; documenta-
tion of packages for simulating evapotranspiration with a segmented function (ETS1) and drains with return
flow (DRT1): U.S. Geological Survey Open File Report 2000–466, 127 p.
Banta, E.R., 2011, MODFLOW-CDSS, a version of MODFLOW-2005 with modifications for Colorado Deci-
sion Support Systems: U.S. Geological Survey Open-File Report 2011–1213, 19 p., accessed June 27, 2017,
at https://pubs.er.usgs.gov/publication/ofr20111213.
Fenske, J.P., Leake, S.A., and Prudic, D.E., 1996, Documentation of a computer program (RES1) to simulate
leakage from reservoirs using the modular finite-difference ground-water flow model (MODFLOW): U.S.
Geological Survey Open-File Report 96–364, 51 p., accessed June 27, 2017, at https://pubs.er.usgs.gov/
publication/ofr96364.
Halford, K.J., and Hanson, R.T., 2002, User guide for the drawdown-limited, multi-node well (MNW) pack-
age for the U.S. Geological Survey’s modular three-dimensional finite-difference ground-water flow model,
versions MODFLOW-96 and MODFLOW-2000: U.S. Geological Survey Open-File Report 02–293, 33 p.
Hanson, R.T., and Leake, S.A., 1999, Documentation for HYDMOD—A program for extracting and process-
ing time-series data from the U.S. Geological Survey’s modular three-dimensional finite-difference ground-
water flow model: U.S. Geological Survey Open-File Report 98–564, 57 p., accessed June 27, 2017, at
https://pubs.er.usgs.gov/publication/ofr98564.
Harbaugh, A.W., 2005, MODFLOW-2005, the U.S. Geological Survey modular ground-water model—the
Ground-Water Flow Process: U.S. Geological Survey Techniques and Methods, book 6, chap. A16, vari-
ously paged, accessed June 27, 2017, at https://pubs.usgs.gov/tm/2005/tm6A16/.
Hill, M.C., 1990, Preconditioned Conjugate-Gradient 2 (PCG2), a computer program for solving ground-water
flow equations: U.S. Geological Survey Water-Resources Investigations Report 90–4048, 25 p., accessed
June 27, 2017, at https://pubs.usgs.gov/wri/wrir 90-4048.
Hill, M.C., Banta, E.R., Harbaugh, A.W., and Anderman, E.R., 2000, MODFLOW-2000, the U.S. Geological
Survey modular ground-water model—User guide to the observation, sensitivity, and parameter-estimation
processes and three post-processing programs: U.S. Geological Survey Open-File Report 00–184, 210 p.
Hsieh, P.A., and Freckleton, J.R., 1993, Documentation of a computer program to simulate horizontal-flow
barriers using the U.S. Geological Survey’s modular three-dimensional finite-difference ground-water flow
model: U.S. Geological Survey Open-File Report 92–477, 32 p., accessed June 27, 2017, at https://pubs.er.
usgs.gov/publication/ofr92477.
Hughes, J.D., Langevin, C.D., Chartier, K.L., and White, J.T., 2012, Documentation of the Surface-Water
Routing (SWR1) Process for modeling surface-water flow with the U.S. Geological Survey modular
groundwater model (MODFLOW-2005): U.S. Geological Survey Techniques and Methods, book 6, chap.
A40 (Version 1.0), 113 p., accessed June 27, 2017, at https://pubs.usgs.gov/tm/6a40/.
R–2 MODFLOW 6 – Description of Input and Output
Hughes, J.D., Langevin, C.D., and Banta, E.R., 2017, Documentation for the MODFLOW 6 framework: U.S.
Geological Survey Techniques and Methods, book 6, chap. A57, 36 p., accessed August 4, 2017, at https:
//doi.org/10.3133/tm6A57.
Konikow, L.F., Hornberger, G.Z., Halford, K.J., and Hanson, R.T., 2009, Revised multi-node well (MNW2)
package for MODFLOW ground-water flow model: U.S. Geological Survey Techniques and Methods, book
6, chap. A30, 67 p., accessed June 27, 2017, at https://pubs.usgs.gov/tm/tm6a30/.
Langevin, C.D., Hughes, J.D., Provost, A.M., Banta, E.R., Niswonger, R.G., and Panday, Sorab, 2017, Docu-
mentation for the MODFLOW 6 Groundwater Flow (GWF) Model: U.S. Geological Survey Techniques and
Methods, book 6, chap. A55, 197 p., accessed August 4, 2017, at https://doi.org/10.3133/tm6A55.
Leake, S.A., and Lilly, M.R., 1997, Documentation of computer program (FHB1) for assignment of transient
specified-flow and specified-head boundaries in applications of the modular finite-diference ground-water
flow model (MODFLOW): U.S. Geological Survey Open-File Report 97–571, 50 p., accessed June 27,
2017, at https://pubs.er.usgs.gov/publication/ofr97571.
Maddock, Thomas, III, Baird, K.J., Hanson, R.T., Schmid, Wolfgang, and Ajami, Hoori, 2012, RIP-ET—A
Riparian Evapotranspiration Package for MODFLOW-2005: U.S. Geological Survey Techniques and Meth-
ods, book 6, chap. A39, 76 p., accessed June 27, 2017, at https://pubs.usgs.gov/tm/tm6a39/.
Merritt, M.L., and Konikow, L.F., 2000, Documentation of a computer program to simulate lake-aquifer inter-
action using the MODFLOW ground-water flow model and the MOC3D solute-transport model: U.S.
Geological Survey Water-Resources Investigations Report 00–4167, 146 p., accessed June 27, 2017, at
https://pubs.er.usgs.gov/publication/wri004167.
Niswonger, R.G., and Prudic, D.E., 2005, Documentation of the Streamflow-Routing (SFR2) Package to
include unsaturated flow beneath streams—A modification to SFR1: U.S. Geological Survey Techniques
and Methods, book 6, chap. A13, 50 p., accessed June 27, 2017, at https://pubs.er.usgs.gov/publication/
tm6A13.
Niswonger, R.G., Prudic, D.E., and Regan, R.S., 2006, Documentation of the Unsaturated-Zone Flow (UZF1)
Package for modeling unsaturated flow between the land surface and the water table with MODFLOW-
2005: U.S. Geological Survey Techniques and Methods, book 6, chap. A19, 62 p., accessed June 27, 2017,
at https://pubs.usgs.gov/tm/2006/tm6a19/.
Panday, Sorab, Langevin, C.D., Niswonger, R.G., Ibaraki, Motomu, and Hughes, J.D., 2013, MODFLOW-
USG version 1—An unstructured grid version of MODFLOW for simulating groundwater flow and tightly
coupled processes using a control volume finite-difference formulation: U.S. Geological Survey Techniques
and Methods, book 6, chap. A45, 66 p., accessed June 27, 2017, at https://pubs.usgs.gov/tm/06/a45/.
Provost, A.M., Langevin, C.D., and Hughes, J.D., 2017, Documentation for the “XT3D” Option in the Node
Property Flow (NPF) Package of MODFLOW 6: U.S. Geological Survey Techniques and Methods, book 6,
chap. A56, 46 p., accessed August 4, 2017, at https://doi.org/10.3133/tm6A56.
Prudic, D.E., 1989, Documentation of a computer program to simulate stream-aquifer relations using a mod-
ular, finite-difference, ground-water flow model: U.S. Geological Survey Open-File Report 88–729, 113 p.,
accessed June 27, 2017, at https://pubs.er.usgs.gov/publication/ofr88729.
Prudic, D.E., Konikow, L.F., and Banta, E.R., 2004, A New Streamflow-Routing (SFR1) Package to simulate
stream-aquifer interaction with MODFLOW-2000: U.S. Geological Survey Open File Report 2004–1042,
104 p., accessed June 27, 2017, at https://pubs.er.usgs.gov/publication/ofr20041042.
Zheng, Chunmiao, Hill, M.C., and Hsieh, P.A., 2001, MODFLOW-2000, the U.S. Geological Survey Modu-
lar Ground-Water Model—User guide to the LMT6 package, the linkage with MT3DMS for multi-species
mass transport modeling: U.S. Geological Survey Open-File Report 01–82, 43 p., accessed June 27, 2017,
at https://pubs.er.usgs.gov/publication/ofr0182.
Appendix A. List of Blocks A–1
Table A–1. List of block names organized by component and input file type. OPEN/CLOSE indicates whether or not the block
information can be contained in separate file.
Table A–1. List of block names organized by component and input file type. OPEN/CLOSE indicates whether or not the block
information can be contained in separate file.—Continued
Table A–1. List of block names organized by component and input file type. OPEN/CLOSE indicates whether or not the block
information can be contained in separate file.—Continued
Office of Groundwater
U.S. Geological Survey
Mail Stop 411
12201 Sunrise Valley Drive
Reston, VA 20192
(703) 648–5001
https://water.usgs.gov/ogw/
MODFLOW 6 Development Team— MODFLOW 6 – Description of Input and Output
https://doi.org/10.5066/F76Q1VQV