Manual Modflow 6 201 250
Manual Modflow 6 201 250
strt—real value that defines the starting concentration for the reach.
aux—represents the values of the auxiliary variables for each reach. The values of auxiliary variables
must be present for each reach. 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 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: 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.
reachsetting—line of information that is parsed into a keyword and values. Keyword values that can
be used to start the REACHSETTING string include: STATUS, CONCENTRATION, RAINFALL,
EVAPORATION, RUNOFF, and AUXILIARY. These settings are used to assign the concentration
of associated with the corresponding flow terms. Concentrations cannot be specified for all flow
terms. For example, the Streamflow Package supports a “DIVERSION” flow term. Diversion water
will be routed using the calculated concentration of the reach.
STATUS <status>
CONCENTRATION <concentration>
RAINFALL <rainfall>
EVAPORATION <evaporation>
RUNOFF <runoff>
INFLOW <inflow>
AUXILIARY <auxname> <auxval>
status—keyword option to define reach status. STATUS can be ACTIVE, INACTIVE, or CON-
STANT. By default, STATUS is ACTIVE, which means that concentration will be calculated for
the reach. If a reach is inactive, then there will be no solute mass fluxes into or out of the reach and
the inactive value will be written for the reach concentration. If a reach is constant, then the concen-
tration for the reach will be fixed at the user specified value.
concentration—real or character value that defines the concentration for the reach. The specified
CONCENTRATION is only applied if the reach is a constant concentration 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.
rainfall—real or character value that defines the rainfall solute concentration (M L−3 ) for 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.
190 MODFLOW 6 – Description of Input and Output
evaporation—real or character value that defines the concentration of evaporated water (M L−3 ) for
the reach. If this concentration value is larger than the simulated concentration in the reach, then
the evaporated water will be removed at the same concentration as 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.
runoff—real or character value that defines the concentration of runoff (M L−3 ) for the reach. 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 concentration of inflow (M L−3 ) for the reach. 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.
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 PACKAGEDATA
# L STRT aux1 aux2 bname
1 0.00000000 99.00000000 999.00000000 REACH1
2 0.00000000 99.00000000 999.00000000 REACH2
3 0.00000000 99.00000000 999.00000000 REACH3
END PACKAGEDATA
BEGIN PERIOD 1
1 STATUS ACTIVE
2 STATUS ACTIVE
3 STATUS ACTIVE
END PERIOD 1
rates for individual reaches, or groups of reaches. The data required for each SFT Package observation type
is defined in table 25. Negative and positive values for sft observations represent a loss from and gain to the
GWT model, respectively. For all other flow terms, negative and positive values represent a loss from and gain
from the SFT package, respectively.
BEGIN options
DIGITS 7
PRINT_INPUT
END options
Structure of Blocks
BEGIN OPTIONS
[FLOW_PACKAGE_NAME <flow_package_name>]
[AUXILIARY <auxiliary(naux)>]
[FLOW_PACKAGE_AUXILIARY_NAME <flow_package_auxiliary_name>]
[BOUNDNAMES]
[PRINT_INPUT]
[PRINT_CONCENTRATION]
[PRINT_FLOWS]
[SAVE_FLOWS]
[CONCENTRATION FILEOUT <concfile>]
[BUDGET FILEOUT <budgetfile>]
[TS6 FILEIN <ts6_filename>]
[OBS6 FILEIN <obs6_filename>]
END OPTIONS
BEGIN PACKAGEDATA
<lakeno> <strt> [<aux(naux)>] [<boundname>]
<lakeno> <strt> [<aux(naux)>] [<boundname>]
...
END PACKAGEDATA
Explanation of Variables
Block: OPTIONS
flow package name—keyword to specify the name of the corresponding flow package. If not spec-
ified, then the corresponding flow package must have the same name as this advanced transport
package (the name associated with this package in the GWT name file).
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
194 MODFLOW 6 – Description of Input and Output
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.
flow package auxiliary name—keyword to specify the name of an auxiliary variable in the corre-
sponding flow package. If specified, then the simulated concentrations from this advanced trans-
port package will be copied into the auxiliary variable specified with this name. Note that the flow
package must have an auxiliary variable with this name or the program will terminate with an error.
If the flows for this advanced transport package are read from a file, then this option will have no
effect.
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 CONCENTRATION—keyword to indicate that the list of lake concentration 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 CONCENTRATION is specified, then concentration 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.
CONCENTRATION—keyword to specify that record corresponds to concentration.
concfile—name of the binary output file to write concentration 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.
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 LKT package. See the “Observation
utility” section for instructions for preparing observation input files. Tables 30 and 31 lists observa-
tion type(s) supported by the LKT package.
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.
Groundwater Transport (GWT) Model Input 195
strt—real value that defines the starting concentration for the lake.
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: 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.
lakeno—integer value that defines the lake number associated with the specified PERIOD data on the
line. LAKENO must be greater than zero and less than or equal to NLAKES.
laksetting—line of information that is parsed into a keyword and values. Keyword values that can be
used to start the LAKSETTING string include: STATUS, CONCENTRATION, RAINFALL, EVAP-
ORATION, RUNOFF, and AUXILIARY. These settings are used to assign the concentration of
associated with the corresponding flow terms. Concentrations cannot be specified for all flow terms.
For example, the Lake Package supports a “WITHDRAWAL” flow term. If this withdrawal term is
active, then water will be withdrawn from the lake at the calculated concentration of the lake.
STATUS <status>
CONCENTRATION <concentration>
RAINFALL <rainfall>
EVAPORATION <evaporation>
RUNOFF <runoff>
EXT-INFLOW <ext-inflow>
AUXILIARY <auxname> <auxval>
status—keyword option to define lake status. STATUS can be ACTIVE, INACTIVE, or CONSTANT.
By default, STATUS is ACTIVE, which means that concentration will be calculated for the lake.
If a lake is inactive, then there will be no solute mass fluxes into or out of the lake and the inactive
value will be written for the lake concentration. If a lake is constant, then the concentration for the
lake will be fixed at the user specified value.
concentration—real or character value that defines the concentration for the lake. The specified
CONCENTRATION is only applied if the lake is a constant concentration 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 solute concentration (M L−3 ) for the 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.
196 MODFLOW 6 – Description of Input and Output
evaporation—real or character value that defines the concentration of evaporated water (M L−3 )
for the lake. If this concentration value is larger than the simulated concentration in the lake, then
the evaporated water will be removed at the same concentration as the 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.
runoff—real or character value that defines the concentration of runoff (M L−3 ) 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.
ext-inflow—real or character value that defines the concentration of external inflow (M L−3 ) for the
lake. Value must be greater than or equal to zero. 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.
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 PACKAGEDATA
# L STRT aux1 aux2 bname
1 0.00000000 99.00000000 999.00000000 MYLAKE1
2 0.00000000 99.00000000 999.00000000 MYLAKE2
3 0.00000000 99.00000000 999.00000000 MYLAKE3
END PACKAGEDATA
BEGIN PERIOD 1
1 STATUS ACTIVE
2 STATUS ACTIVE
3 STATUS ACTIVE
END PERIOD 1
ual outlets, lakes, or groups of lakes (outlet). The data required for each LKT Package observation type is
defined in table 26. Negative and positive values for lkt observations represent a loss from and gain to the
GWT model, respectively. For all other flow terms, negative and positive values represent a loss from and gain
from the LKT package, respectively.
BEGIN options
DIGITS 7
PRINT_INPUT
END options
Structure of Blocks
BEGIN OPTIONS
[FLOW_PACKAGE_NAME <flow_package_name>]
[AUXILIARY <auxiliary(naux)>]
[FLOW_PACKAGE_AUXILIARY_NAME <flow_package_auxiliary_name>]
[BOUNDNAMES]
[PRINT_INPUT]
[PRINT_CONCENTRATION]
[PRINT_FLOWS]
[SAVE_FLOWS]
[CONCENTRATION FILEOUT <concfile>]
[BUDGET FILEOUT <budgetfile>]
[TS6 FILEIN <ts6_filename>]
[OBS6 FILEIN <obs6_filename>]
END OPTIONS
BEGIN PACKAGEDATA
<mawno> <strt> [<aux(naux)>] [<boundname>]
<mawno> <strt> [<aux(naux)>] [<boundname>]
...
END PACKAGEDATA
Explanation of Variables
Block: OPTIONS
flow package name—keyword to specify the name of the corresponding flow package. If not spec-
ified, then the corresponding flow package must have the same name as this advanced transport
package (the name associated with this package in the GWT name file).
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
200 MODFLOW 6 – Description of Input and Output
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.
flow package auxiliary name—keyword to specify the name of an auxiliary variable in the corre-
sponding flow package. If specified, then the simulated concentrations from this advanced trans-
port package will be copied into the auxiliary variable specified with this name. Note that the flow
package must have an auxiliary variable with this name or the program will terminate with an error.
If the flows for this advanced transport package are read from a file, then this option will have no
effect.
BOUNDNAMES—keyword to indicate that boundary names may be provided with the list of well cells.
PRINT INPUT—keyword to indicate that the list of well information will be written to the listing file
immediately after it is read.
PRINT CONCENTRATION—keyword to indicate that the list of well concentration 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 CONCENTRATION is specified, then concentration are
printed for the last time step of each stress period.
PRINT FLOWS—keyword to indicate that the list of well 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 well flow terms will be written to the file specified with “BUD-
GET FILEOUT” in Output Control.
CONCENTRATION—keyword to specify that record corresponds to concentration.
concfile—name of the binary output file to write concentration 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.
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 MWT package. See the “Observation
utility” section for instructions for preparing observation input files. Tables 30 and 31 lists observa-
tion type(s) supported by the MWT package.
Block: PACKAGEDATA
mawno—integer value that defines the well number associated with the specified PACKAGEDATA data
on the line. MAWNO must be greater than zero and less than or equal to NMAWWELLS. Well
information must be specified for every well or the program will terminate with an error. The pro-
gram will also terminate with an error if information for a well is specified more than once.
Groundwater Transport (GWT) Model Input 201
strt—real value that defines the starting concentration for the well.
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.
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.
mawno—integer value that defines the well number associated with the specified PERIOD data on the
line. MAWNO must be greater than zero and less than or equal to NMAWWELLS.
mwtsetting—line of information that is parsed into a keyword and values. Keyword values that can
be used to start the MWTSETTING string include: STATUS, CONCENTRATION, RAINFALL,
EVAPORATION, RUNOFF, and AUXILIARY. These settings are used to assign the concentration
of associated with the corresponding flow terms. Concentrations cannot be specified for all flow
terms. For example, the Multi-Aquifer Well Package supports a “WITHDRAWAL” flow term. If
this withdrawal term is active, then water will be withdrawn from the well at the calculated concen-
tration of the well.
STATUS <status>
CONCENTRATION <concentration>
RATE <rate>
AUXILIARY <auxname> <auxval>
status—keyword option to define well status. STATUS can be ACTIVE, INACTIVE, or CONSTANT.
By default, STATUS is ACTIVE, which means that concentration will be calculated for the well.
If a well is inactive, then there will be no solute mass fluxes into or out of the well and the inactive
value will be written for the well concentration. If a well is constant, then the concentration for the
well will be fixed at the user specified value.
concentration—real or character value that defines the concentration for the well. The specified
CONCENTRATION is only applied if the well is a constant concentration well. 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—real or character value that defines the injection solute concentration (M L−3 ) for the well. 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.
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.
202 MODFLOW 6 – Description of Input and Output
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
AUXILIARY aux1 aux2
BOUNDNAMES
PRINT_INPUT
PRINT_CONCENTRATION
PRINT_FLOWS
SAVE_FLOWS
CONCENTRATION FILEOUT gwt_mwt_02.mwt.bin
BUDGET FILEOUT gwt_mwt_02.mwt.bud
OBS6 FILEIN gwt_mwt_02.mwt.obs
END OPTIONS
BEGIN PACKAGEDATA
# L STRT aux1 aux2 bname
1 0.00000000 99.00000000 999.00000000 MYWELL1
2 0.00000000 99.00000000 999.00000000 MYWELL2
3 0.00000000 99.00000000 999.00000000 MYWELL3
END PACKAGEDATA
BEGIN PERIOD 1
1 STATUS ACTIVE
2 STATUS ACTIVE
3 STATUS ACTIVE
END PERIOD 1
BEGIN options
DIGITS 12
PRINT_INPUT
END options
mwt4cnst CONSTANT 4
mwt1fmvr FROM-MVR 1
mwt2fmvr FROM-MVR 2
mwt3fmvr FROM-MVR 3
mwt4fmvr FROM-MVR 4
mwt1rate RATE 1
mwt2rate RATE 2
mwt3rate RATE 3
mwt4rate RATE 4
mwt1rtmv RATE-TO-MVR 1
mwt2rtmv RATE-TO-MVR 2
mwt3rtmv RATE-TO-MVR 3
mwt4rtmv RATE-TO-MVR 4
mwt1fwrt FW-RATE 1
mwt2fwrt FW-RATE 2
mwt3fwrt FW-RATE 3
mwt4fwrt FW-RATE 4
mwt1frtm FW-RATE-TO-MVR 1
mwt2frtm FW-RATE-TO-MVR 2
mwt3frtm FW-RATE-TO-MVR 3
mwt4frtm FW-RATE-TO-MVR 4
END continuous FILEOUT gwt_mwt_02.mwt.obs.csv
Groundwater Transport (GWT) Model Input 205
Structure of Blocks
BEGIN OPTIONS
[FLOW_PACKAGE_NAME <flow_package_name>]
[AUXILIARY <auxiliary(naux)>]
[FLOW_PACKAGE_AUXILIARY_NAME <flow_package_auxiliary_name>]
[BOUNDNAMES]
[PRINT_INPUT]
[PRINT_CONCENTRATION]
[PRINT_FLOWS]
[SAVE_FLOWS]
[CONCENTRATION FILEOUT <concfile>]
[BUDGET FILEOUT <budgetfile>]
[TS6 FILEIN <ts6_filename>]
[OBS6 FILEIN <obs6_filename>]
END OPTIONS
BEGIN PACKAGEDATA
<uzfno> <strt> [<aux(naux)>] [<boundname>]
<uzfno> <strt> [<aux(naux)>] [<boundname>]
...
END PACKAGEDATA
Explanation of Variables
Block: OPTIONS
flow package name—keyword to specify the name of the corresponding flow package. If not spec-
ified, then the corresponding flow package must have the same name as this advanced transport
package (the name associated with this package in the GWT name file).
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
206 MODFLOW 6 – Description of Input and Output
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.
flow package auxiliary name—keyword to specify the name of an auxiliary variable in the corre-
sponding flow package. If specified, then the simulated concentrations from this advanced trans-
port package will be copied into the auxiliary variable specified with this name. Note that the flow
package must have an auxiliary variable with this name or the program will terminate with an error.
If the flows for this advanced transport package are read from a file, then this option will have no
effect.
BOUNDNAMES—keyword to indicate that boundary names may be provided with the list of unsaturated
zone flow cells.
PRINT INPUT—keyword to indicate that the list of unsaturated zone flow information will be written to
the listing file immediately after it is read.
PRINT CONCENTRATION—keyword to indicate that the list of UZF cell concentration 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 CONCENTRATION is specified, then concentration
are printed for the last time step of each stress period.
PRINT FLOWS—keyword to indicate that the list of unsaturated zone flow rates will be printed to the list-
ing 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 unsaturated zone flow terms will be written to the file specified
with “BUDGET FILEOUT” in Output Control.
CONCENTRATION—keyword to specify that record corresponds to concentration.
concfile—name of the binary output file to write concentration 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.
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 UZT package. See the “Observation
utility” section for instructions for preparing observation input files. Tables 30 and 31 lists observa-
tion type(s) supported by the UZT package.
Block: PACKAGEDATA
uzfno—integer value that defines the UZF cell number associated with the specified PACKAGEDATA
data on the line. UZFNO must be greater than zero and less than or equal to NUZFCELLS. Unsatu-
rated zone flow information must be specified for every UZF cell or the program will terminate with
Groundwater Transport (GWT) Model Input 207
an error. The program will also terminate with an error if information for a UZF cell is specified
more than once.
strt—real value that defines the starting concentration for the unsaturated zone flow cell.
aux—represents the values of the auxiliary variables for each unsaturated zone flow. The values of aux-
iliary variables must be present for each unsaturated zone flow. 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 unsaturated zone flow 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: 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.
uzfno—integer value that defines the UZF cell number associated with the specified PERIOD data on
the line. UZFNO must be greater than zero and less than or equal to NUZFCELLS.
uztsetting—line of information that is parsed into a keyword and values. Keyword values that can be
used to start the UZTSETTING string include: STATUS, CONCENTRATION, INFILTRATION,
UZET, and AUXILIARY. These settings are used to assign the concentration of associated with the
corresponding flow terms. Concentrations cannot be specified for all flow terms.
STATUS <status>
CONCENTRATION <concentration>
INFILTRATION <infiltration>
UZET <uzet>
AUXILIARY <auxname> <auxval>
status—keyword option to define UZF cell status. STATUS can be ACTIVE, INACTIVE, or CON-
STANT. By default, STATUS is ACTIVE, which means that concentration will be calculated for the
UZF cell. If a UZF cell is inactive, then there will be no solute mass fluxes into or out of the UZF
cell and the inactive value will be written for the UZF cell concentration. If a UZF cell is constant,
then the concentration for the UZF cell will be fixed at the user specified value.
concentration—real or character value that defines the concentration for the unsaturated zone flow
cell. The specified CONCENTRATION is only applied if the unsaturated zone flow cell is a con-
stant concentration cell. 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.
infiltration—real or character value that defines the infiltration solute concentration (M L−3 ) for
the UZF cell. 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.
208 MODFLOW 6 – Description of Input and Output
uzet—real or character value that defines the concentration of unsaturated zone evapotranspiration
water (M L−3 ) for the UZF cell. If this concentration value is larger than the simulated concentra-
tion in the UZF cell, then the unsaturated zone ET water will be removed at the same concentration
as the UZF cell. 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.
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
AUXILIARY aux1 aux2
BOUNDNAMES
PRINT_INPUT
PRINT_CONCENTRATION
PRINT_FLOWS
SAVE_FLOWS
CONCENTRATION FILEOUT gwt_02.uzt.bin
BUDGET FILEOUT gwt_02.uzt.bud
OBS6 FILEIN gwt_02.uzt.obs
END OPTIONS
BEGIN PACKAGEDATA
# L STRT aux1 aux2 bname
1 0.00000000 99.00000000 999.00000000 MYUZFCELL1
2 0.00000000 99.00000000 999.00000000 MYUZFCELL2
3 0.00000000 99.00000000 999.00000000 MYUZFCELL3
END PACKAGEDATA
BEGIN PERIOD 1
1 STATUS ACTIVE
2 STATUS ACTIVE
3 STATUS ACTIVE
END PERIOD 1
DIGITS 7
PRINT_INPUT
END options
• Flows are provided by a corresponding GWF Model running in the same simulation—in this case, all
groundwater flows are calculated by the corresponding GWF Model and provided through FMI to the
transport model. This is a common use case in which the user wants to run the flow and transport models
as part of a single simulation. The GWF and GWT models must be part of a GWF-GWT Exchange that
is listed in mfsim.nam. If a GWF-GWT Exchange is specified by the user, then the user does not need to
specify an FMI Package input file for the simulation, unless an FMI option is needed. If a GWF-GWT
Exchange is specified and the FMI Package is specified, then the PACKAGEDATA block below is not
read or used.
• There is no groundwater flow and the user is interested only in the effects of diffusion, sorption, and
decay or production—in this case, FMI should not be provided in the GWT name file and the GWT
model should not be listed in any GWF-GWT Exchanges in mfsim.nam. In this case, all groundwater
flows are assumed to be zero and cells are assumed to be fully saturated. The SSM Package should not be
activated in this case, because there can be no sources or sinks of water. Likewise, none of the advanced
transport packages (LKT, SFT, MWT, and UZT) should be specified in the GWT name file. This type of
model simulation without an FMI Package is included as an option to represent diffusion, sorption, and
decay or growth in the absence of any groundwater flow.
• Flows are provided from a previous GWF model simulation—in this case FMI should be provided in the
GWT name file and the head and budget files should be listed in the FMI PACKAGEDATA block. In this
case, FMI reads the simulated head and flows from these files and makes them available to the transport
model. There are some additional considerations when the heads and flows are provided from binary files.
– The binary budget file must contain the simulated flows for all of the packages that were
included in the GWF model run. Saving of flows can be activated for all packages by specifying
“SAVE FLOWS” as an option in the GWF name file. The GWF Output Control Package must also
have “SAVE BUGET ALL” specified. The easiest way to ensure that all flows and heads are saved
is to use the following simple form of a GWF Output Control file:
BEGIN OPTIONS
HEAD FILEOUT mymodel.hds
BUDGET FILEOUT mymodel.bud
END OPTIONS
BEGIN PERIOD 1
SAVE HEAD ALL
SAVE BUDGET ALL
END PERIOD
– The binary budget file must have the same number of budget terms listed for each time step. This
will always be the case when the binary budget file is created by MODFLOW 6.
212 MODFLOW 6 – Description of Input and Output
– The advanced flow packages (LAK, SFR, MAW, and UZF) all have options for saving a detailed
budget file the describes all of the flows for each lake, reach, well, or UZF cell. These budget files
can also be used as input to FMI if a corresponding advanced transport package is needed, such as
LKT, SFT, MWT, and UZT. If the Water Mover Package is also specified for the GWF Model, then
the the budget file for the Water Mover Package will also need to be specified as input to this FMI
Package.
– The binary heads file must have heads saved for all layers in the model. This will always be the case
when the binary head file is created by MODFLOW 6. This was not always the case as previous
MODFLOW versions allowed different save options for each layer.
– If the binary budget and head files have more than one time step for a single stress period, then the
budget and head information must be contained within the binary file for every time step in the sim-
ulation stress period.
– The binary budget and head files must correspond in terms of information stored for each time step
and stress period.
– If the binary budget and head files have information provided for only the first time step of each
stress period, then this information will be used for all time steps in the GWT model run for that
stress period. This makes it possible to provide flows, for example, from a steady state GWF stress
period and have those flows used for all steps in the GWT simulation. With this option, it is possible
to have smaller time steps in the GWT model than the time steps used in the GWF model. Note that
this cannot be done when the GWF and GWT models are run in the same simulation, because in
that case, both models are solved for each time step in the stress period, as listed in the TDIS Pack-
age. This option for reading flows from a previous GWF simulation may offer an efficient alterna-
tive to running both models in the same simulation, but it comes at the cost of having potentially
very large budget files.
Determination of which FMI use case to invoke requires careful consideration of the different advantages
and disadvantages of each case. For example, running GWT and GWF in the same simulation can often be
faster because GWF flows are passed through memory to the GWT model instead of being written to files.
The disadvantage of this approach is that the same time step lengths must be used for both GWF and GWT.
Ultimately, it should be relatively straightforward to test different ways in which GWF and GWT interact and
select the use case most appropriate for the particular problem.
Structure of Blocks
BEGIN OPTIONS
[SAVE_FLOWS]
[FLOW_IMBALANCE_CORRECTION]
END OPTIONS
BEGIN PACKAGEDATA
<flowtype> FILEIN <fname>
<flowtype> FILEIN <fname>
...
END PACKAGEDATA
Explanation of Variables
Block: OPTIONS
Groundwater Transport (GWT) Model Input 213
SAVE FLOWS—keyword to indicate that FMI flow terms will be written to the file specified with “BUD-
GET FILEOUT” in Output Control.
FLOW IMBALANCE CORRECTION—correct for an imbalance in flows by assuming that any residual
flow error comes in or leaves at the concentration of the cell. When this option is activated, the
GWT Model budget written to the listing file will contain two additional entries: FLOW-ERROR
and FLOW-CORRECTION. These two entries will be equal but opposite in sign. The FLOW-
CORRECTION term is a mass flow that is added to offset the error caused by an imprecise flow
balance. If these terms are not relatively small, the flow model should be rerun with stricter conver-
gence tolerances.
Block: PACKAGEDATA
flowtype—is the word GWFBUDGET, GWFHEAD, GWFMOVER or the name of an advanced GWF
stress package. If GWFBUDGET is specified, then the corresponding file must be a budget file from
a previous GWF Model run. If an advanced GWF stress package name appears then the correspond-
ing file must be the budget file saved by a LAK, SFR, MAW or UZF Package.
FILEIN—keyword to specify that an input filename is expected next.
fname—is the name of the file containing flows. The path to the file should be included if the file is not
located in the folder where the program was run.
BEGIN OPTIONS
FLOW_IMBALANCE_CORRECTION
END OPTIONS
BEGIN PACKAGEDATA
GWFBUDGET FILEIN ../flow/mygwfmodel.bud
GWFHEAD FILEIN ../flow/mygwfmodel.hds
GWFMOVER FILEIN ../flow/mygwfmodel.hds
LAK-1 FILEIN ../flow/mygwfmodel.lak.bud
SFR-1 FILEIN ../flow/mygwfmodel.sfr.bud
MAW-1 FILEIN ../flow/mygwfmodel.maw.bud
UZF-1 FILEIN ../flow/mygwfmodel.uzf.bud
LAK-2 FILEIN ../flow/mygwfmodel-2.lak.bud
END PACKAGEDATA
214 MODFLOW 6 – Description of Input and Output
Structure of Blocks
BEGIN OPTIONS
[PRINT_INPUT]
[PRINT_FLOWS]
[SAVE_FLOWS]
[BUDGET FILEOUT <budgetfile>]
END OPTIONS
Explanation of Variables
Block: OPTIONS
PRINT INPUT—keyword to indicate that the list of mover information will be written to the listing file
immediately after it is read.
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.
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.
BEGIN OPTIONS
PRINT_INPUT
PRINT_FLOWS
SAVE_FLOWS
BUDGET FILEOUT mygwtmodel.mvt.bud
END OPTIONS
Iterative Model Solution 215
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>]]
[ATS_OUTER_MAXIMUM_FRACTION <ats_outer_maximum_fraction>]
END OPTIONS
BEGIN NONLINEAR
OUTER_DVCLOSE <outer_dvclose>
OUTER_MAXIMUM <outer_maximum>
[UNDER_RELAXATION <under_relaxation>]
[UNDER_RELAXATION_GAMMA <under_relaxation_gamma>]
[UNDER_RELAXATION_THETA <under_relaxation_theta>]
[UNDER_RELAXATION_KAPPA <under_relaxation_kappa>]
[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.
216 MODFLOW 6 – Description of Input and Output
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
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.
ats outer maximum fraction—real value defining the fraction of the maximum allowable outer iter-
ations used with the Adaptive Time Step (ATS) capability if it is active. If this value is set to zero by
the user, then this solution will have no effect on ATS behavior. This value must be greater than or
Iterative Model Solution 217
equal to zero and less than or equal to 0.5 or the program will terminate with an error. If it not spec-
ified by the user, then it is assigned a default value of one third. When the number of outer iterations
for this solution is less than the product of this value and the maximum allowable outer iterations,
then ATS will increase the time step length by a factor of DTADJ in the ATS input file. When the
number of outer iterations for this solution is greater than the maximum allowable outer iterations
minus the product of this value and the maximum allowable outer iterations, then the ATS (if active)
will decrease the time step length by a factor of 1 / DTADJ.
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,
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. Under-relaxation is also known as dampening, and is used to reduce the size of the calculated
dependent variable before proceeding to the next outer iteration. Under-relaxation can be an effec-
tive tool for highly nonlinear models when there are large and often counteracting changes in the
calculated dependent variable between successive outer iterations. By default under-relaxation is not
used. NONE - under-relaxation is not used (default). SIMPLE - Simple under-relaxation scheme
with a fixed relaxation factor (UNDER RELAXATION GAMMA) is used. COOLEY - Cooley
under-relaxation scheme is used. DBD - delta-bar-delta under-relaxation is used. Note that the
under-relaxation schemes are often used in conjunction with problems that use the Newton-Raphson
formulation, however, experience has indicated that they also work well for non-Newton problems,
such as those with the wet/dry options of MODFLOW 6.
under relaxation gamma—real value defining either the relaxation factor for the SIMPLE scheme
or the history or memory term factor of the Cooley and delta-bar-delta algorithms. For the SIM-
PLE scheme, a value of one indicates that there is no under-relaxation and the full head change is
applied. This value can be gradually reduced from one as a way to improve convergence; for well
behaved problems, using a value less than one can increase the number of outer iterations required
for convergence and needlessly increase run times. UNDER RELAXATION GAMMA must be
greater than zero for the SIMPLE scheme or the program will terminate with an error. For the Coo-
ley and delta-bar-delta schemes, UNDER RELAXATION GAMMA is a memory term that can
range between zero and 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 mem-
ory 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 over-
come 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.
218 MODFLOW 6 – Description of Input and Output
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 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-
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
Iterative Model Solution 219
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 con-
vergence. Commonly, INNER DVCLOSE is set equal to or an order of magnitude less than the
OUTER DVCLOSE value specified for the NONLINEAR block. The keyword, INNER HCLOSE
can be still be specified instead of INNER DVCLOSE for backward compatibility with previous
versions of MODFLOW 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
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
220 MODFLOW 6 – Description of Input and Output
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.
The values that are assigned to the nonlinear and linear variables for the the simple, moderate,
and complex complexity options are summarized in table 29. The values defined for the simple complexity
option are assigned if the COMPLEXITY keyword is not specified in the OPTIONS block.
Iterative Model Solution 221
Table 29. IMS variable values for the available complexity options..
BEGIN OPTIONS
PRINT_OPTION ALL
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
222 MODFLOW 6 – Description of Input and Output
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
Observation (OBS) Utility 223
Structure of Blocks
Explanation of Variables
Block: OPTIONS
224 MODFLOW 6 – Description of Input and Output
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
lak, maw, sfr, uzf-gwrch, uzf-gwd, uzf-gwd-to-mvr, and uzf-gwet) represent a loss from and gain to the GWF
model, respectively. For other advanced stress package flow terms, negative and positive values represent a
loss from and gain from the advanced package, respectively.
GWT Observations
Observations are available for GWT models and GWT stress packages. Available observation types have
been listed for each package that supports observations (tables 22 to 28). All available observation types are
repeated in Table 31 for convenience.
The sign convention adopted for transport observations are identical to the conventions used in budgets
contained in listing files and used in the cell-by-cell budget output. For flow-ja-face observation types, nega-
tive and positive values represent a loss from and gain to the cellid specified for ID, respectively. For standard
stress packages, negative and positive values represent a loss from and gain to the GWT model, respectively.
For advanced transport packages (Package = LKT, MWT, SFT, and UZT), negative and positive values for
exchanges with the GWT model (Observation type = lkt, mwt, sft, and uzt) represent a loss from and gain to
the GWT model, respectively. For other advanced stress package flow terms, negative and positive values rep-
resent a loss from and gain from the advanced package, respectively.