Online Guide to MODFLOW

WEL - Well Package

Hide Navigation Pane

WEL - Well Package

Previous topic Next topic No directory for this topic Expand/collapse all hidden text  

WEL - Well Package

Previous topic Next topic Topic directory requires JavaScript JavaScript is required for expanding text JavaScript is required for the print function  

Abbreviation in Name file

WEL

Purpose

The Well package is used to simulate a specified flux to individual cells and specified in units of length3/time.

Documentation

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 6-A16. https://pubs.usgs.gov/tm/2005/tm6A16/

Related Packages

The Recharge package is used to simulate a specified flux distributed over the top of the model and specified in units of length/time.  Within MODFLOW, these rates are multiplied by the horizontal area of the cells to which they are applied to calculate the volumetric flux rates.
The Flow and Head Boundary package can be used to simulate a specified flux to particular cells specified in units of length3/time and varying as a function of time within stress periods.

Supported in

MODFLOW-2000
MODFLOW-2005
MODFLOW-LGR
MODFLOW-CFP
MODFLOW-NWT
MODFLOW-OWHM

Other Notes

In MODFLOW-NWT version 1.1 WEL parameters can not be used if NUMTAB  > 0
MODFLOW-NWT version 1.1 does not read auxiliary variables for wells when tabfiles are used.

Input Instructions

Input to the Well (WEL) Package is read from the file that has type "WEL" in the name file. Optional variables are shown in brackets. All variables are free format if the option “FREE” is specified in the Basic Package input file; otherwise, the non-optional variables have 10-character fields and the optional variables are free format.

FOR EACH SIMULATION

Data Set 0

[#Text]

Item 0 is optional—“#” must be in column 1. Item 0 can be repeated multiple times.

Text—is a character variable (199 characters) that starts in column 2. Any characters can be included in Text. The “#” character must be in column 1. Except for the name file, lines beginning with # are restricted to these first lines of the file. Text is printed when the file is read.

Data Set 1

[ PARAMETER NPWEL MXL]

This optional item must start with the word “PARAMETER”.

NPWEL—is the number of well parameters.

In MODFLOW-2000, the maximum number of allowed parameters is 999.  In MODFLOW-2005,-LGR, and -CFP the maximum number of allowed parametersis 2000. In MODFLOW-OWHM, the maximum number of allowed parameters is specified in the Basic package.

In MODFLOW-NWT version 1.1 WELL parameters can not be used if NUMTAB  > 0

MXL—is the maximum number of wells that will be defined using parameters.

Options Block (MODFLOW-NWT version 1.1

Note that the following changes to the Well Package input no longer supports previous input files that read the key word option SPECIFY in Data Set 2B. In MODFLOW-NWT version 1.1.3 backwards compatibility was restored by allowing the options to be read in Data Set 2B.

The input format for specifying the keyword (character) variable SPECIFY has changed.This character variable is now specified within the OPTIONS block that is specified between Data Set 0 and Data Set 1. A new character variable option was added that allows users to specify pumping rates using separate tabular input files for each well. Each tabular input file consists of a series of simulation times and pumping rates that should begin with time equal to zero. The applied pumping rate will be interpolated from the tabular input file using the times at the end and beginning of the time step. Options must be proceeded with the "OPTIONS" specification and followed by the "END" specification. Characters can be specified as upper or lower case.

In MODFLOW-NWT version 1.3, backwards compatibility was restored by allowing the SPECIFY keyword to again be specified in Option in data set 2A.

Optional character variables for WELL in any order:

OPTIONS
[SPECIFY PHIRAMP IUNITRAMP]
[TABFILES NUMTAB MAXVAL]
END

SPECIFY is a keyword option used to specify a value for PHIRAMP. If SPECIFY is not specified then a default value of 0.05 is used.

PHIRAMP is the fraction of the cell thickness used as an interval for smoothly adjusting negative pumping rates to 0 for dry cells. Negative pumping rates are adjusted to 0 or a smaller negative value when the head in the cell is equal to or less than the calculated interval above the cell bottom (see equations 24 and 25 on page 14 of Niswonger and others, 2011).

Changes were made to report wells with reduced pumping due to dewatered conditions to a separate output file or to the main listing file. If the wells with reduced pumping rates are written to a separate output file then a file of type "DATA" must be included in the Name file with a unit number that matches the unit number specified in the Well file (following the variable PHIRAMP in Item 2b). For example, a value of PHIRAMP (see MODFLOW-NWT documentation report) of 0.3 and a unit number of 50 can be specified in the second line of the Well file using the key word "SPECIFY" as:

 

SPECIFY  0.3  50

 

The following line must be added to the Name file:

 

DATA     50    Reduced_wells.out

 

Thus, wells with reduced pumping will be written for each time step to the output file "Reduced_wells.out" with unit number 50. For example, wells with reduced pumping will be reported to file "reduced_wells.out" as:

 

 WELLS WITH REDUCED PUMPING FOR STRESS PERIOD     6 TIME STEP     2

   LAY   ROW   COL         APPL.Q          ACT.Q        GW-HEAD       CELL-BOT

     4    91    69  -0.104400E+04  -0.104399E+04   0.208142E+04   0.205380E+04

     4    91    69  -0.208800E+04  -0.208798E+04   0.208142E+04   0.205380E+04

     4    91    69  -0.208800E+04  -0.208798E+04   0.208142E+04   0.205380E+04

 

 

 WELLS WITH REDUCED PUMPING FOR STRESS PERIOD     6 TIME STEP     3

   LAY   ROW   COL         APPL.Q          ACT.Q        GW-HEAD       CELL-BOT

     4    91    69  -0.104400E+04  -0.967118E+03   0.207686E+04   0.205380E+04

     4    91    69  -0.208800E+04  -0.193424E+04   0.207686E+04   0.205380E+04

     4    91    69  -0.208800E+04  -0.193424E+04   0.207686E+04   0.205380E+04

TABFILES -- An optional character variable. When TABFILES is specified, all pumping rates for all wells in the model will be input using separage time series tabular input files.  See: Well Tab Files

NUMTAB -- An integer variable that is the number of tabular input files that will be read for interpolating pumping rates for each well in the model. A separate tabular input file is required for each well in the model. Wells can be made inactive by specifying pumping rates of zero for times when a well is inactive. (In MODFLOW-NWT version 1.1 WELL parameters can not be used if NUMTAB  > 0) See: Well Tab Files

MAXVAL -- An integer value equal to the maximum number of time series values specified in the tabular input file, not including header lines. Tabular input files each can have a different number of values and MAXVAL is the number of lines in the tabular input file that has the most lines as compared to all other tabular input files.  See: Well Tab Files

 

Data Set 1a-1 (MODFLOW-OWHM only)

[TABFILE NTAB FILEIO TIMEOPTION]

TABFILE is a keyword that triggers reading subsequent tabfile information.

NTAB is the number of tabfiles that will be read.

FILIO is a flag that determines if the tabfile is loaded entirely into memory or if only the portion that pertains to the current timestep is read in. If FILEIO is set to 0, then the entire tabfile is loaded into memory. If it is set to a nonzero value, then only the portion of the tabfile that pertains to the current time step is loaded into memory.

TIMEOPTION is a required flag that must be one of the two following keywords.

SIMTIME The keyword “SIMTIME” (without quotes) specifies that tabfile times use the model simulated time with time units specified by the DIS and a starting point of 0. This is the default operation and will occur if TIMEOPTION is not specified.
REALTIME The keyword “REALTIME” (without quotes) specifies that tabfile times use decimal years that begin with the date specified in the DIS with the keyword STARTTIME. IF STARTTIME is not specified in the DIS, then MODFLOW will raise an error message and stop the program.

 

Data Set 1a-2 (MODFLOW-OWHM only)

[TABNAM TABLOCATION]

READ NTAB TIMES IF NTAB>0

TABNAM is a unique name (max of 20 characters) that identifies the tabfile. It is also used to link a model feature (i.e. layer, row, and column) to a specific tabfile.

TABLOCATION is either the path and filename (relative or absolute) of the tabfile or is the keyword “EXTERNAL” followed by a unit number. The unit number must refer to the tabfile that is opened by the Name file. The tabfile is self-counted, stored, and associated with the unique ID TABNAM.

 

Data Set 1a-3 (MODFLOW-OWHM only)

[PrintOption NLNK]

READ IF NTAB>0

PrintOption is a required flag that must be one of the two following keywords.

TABPRINT, The keyword “TABPRINT” (without quotes) will produce a detailed output of the tabfile information that is applied at each time step to the list file.

TABNOPRINT, The keyword “TABNOPRINT” will not produce tabfile output to the list file.

NLNK is the number features that will be linked to a tabfile.

 

Data Set 1a-4 (MODFLOW-OWHM only)

[LAYER ROW COL TABNAM TSFAC]

READ NLNK TIMES IF NLNK>0

Layer is the layer number of the model cell that contains a feature linked to the tabfile TABNAM.

Row is the row number of the model cell that contains a feature linked to the tabfile TABNAM.

COL is the column number of the model cell that contains a feature linked to the tabfile TABNAM.

TABNAM is a unique name (max of 20 characters) that identifies the tabfile. It is also used to link segments to a specific tabfile.

TSFAC is a feature’s scale factor. This factor is multiplied with the tabfile value before it is applied to a feature.

 

Note: If you have multiple wells located at the same layer, row, and column that are linked to different tabfiles, then the tabfiles will be applied in the order that they appear here. For example if you specify 3 identical wells with the same layer, row and column, but with each linked to a different tabfile and then have a stress period with only 2 of the 3 wells identical wells specified. When this occurs only the first two tabfiles read in here are applied and the third is ignored. This does not apply to identical wells that use the same tabfile, but have different scale factors.

Data Set 2a

MXACTW IWELCB [Option]

MXACTW—is the maximum number of wells in use during any stress period. MXACTW includes wells that are defined using parameters as well as wells that are defined without using parameters.

IWELCB—is a flag and a unit number.

If IWELCB > 0, it is the unit number to which cell-by-cell flow terms will be written when "SAVE BUDGET" or a non-zero value for ICBCFL is specified in Output Control.
If IWELCB = 0, cell-by-cell flow terms will not be written.
If IWELCB < 0, well recharge for each well will be written to the listing file when "SAVE BUDGET" or a non-zero value for ICBCFL is specified in Output Control.

Option—is an optional list of character values.

AUXILIARY abc” or “AUX abc”—defines an auxiliary variable, named "abc", which will be read for each well as part of Items 4 and 6. Up to 20 variables can be specified, each of which must be preceded by "AUXILIARY" or "AUX." These variables will not be used by the Groundwater Flow Process, but they will be available for use by other processes. The auxiliary variable values will be read after the Q variable.

Auxiliary parameters are used with MODPATH and the Groundwater Transport process.  In MODPATH, the variable IFACE is specified with an auxiliary parameter.  In the Groundwater Transport process, concentration is specified with an auxiliary parameter.  The option COMPACT BUDGET AUXILIARY must be used in the Output Control when IFACE is used for MODPATH.

MODFLOW-NWT version 1.1 does not read auxiliary variables for wells when tabfiles are used.

CBCALLOCATE” or “CBC”—indicates that memory should be allocated to store cell-by-cell flow for each well in order to make these flows available for use in other packages. (This option is  only available in MODFLOW-2000.)
NOPRINT”—suppresses the printing of cell lists.

Data Set 2b

Data set 2b can only be specified in versions of MODFLOW that include the NWT solver. PHIRAMP is only used if NWT is the selected solver. Otherwise, it is ignored.

[SPECIFY PHIRAMP IUNITRAMP]

SPECIFY is a keyword option used to specify a value for PHIRAMP. If SPECIFY is not specified then a default value of 0.05 is used.

PHIRAMP is the fraction of the cell thickness used as an interval for smoothly adjusting negative pumping rates to 0 for dry cells. Negative pumping rates are adjusted to 0 or a smaller negative value when the head in the cell is equal to or less than the calculated interval above the cell bottom (see equations 24 and 25 on page 14 of Niswonger and others, 2011).

Changes were made to report wells with reduced pumping due to dewatered conditions to a separate output file or to the main listing file. If the wells with reduced pumping rates are written to a separate output file then a file of type "DATA" must be included in the Name file with a unit number that matches the unit number specified in the Well file (following the variable PHIRAMP in Item 2b). For example, a value of PHIRAMP (see MODFLOW-NWT documentation report) of 0.3 and a unit number of 50 can be specified in the second line of the Well file using the key word "SPECIFY" as:

 

SPECIFY  0.3  50

 

The following line must be added to the Name file:

 

DATA     50    Reduced_wells.out

 

Thus, wells with reduced pumping will be written for each time step to the output file "Reduced_wells.out" with unit number 50. For example, wells with reduced pumping will be reported to file "reduced_wells.out" as:

 

 WELLS WITH REDUCED PUMPING FOR STRESS PERIOD     6 TIME STEP     2

   LAY   ROW   COL         APPL.Q          ACT.Q        GW-HEAD       CELL-BOT

     4    91    69  -0.104400E+04  -0.104399E+04   0.208142E+04   0.205380E+04

     4    91    69  -0.208800E+04  -0.208798E+04   0.208142E+04   0.205380E+04

     4    91    69  -0.208800E+04  -0.208798E+04   0.208142E+04   0.205380E+04

 

 

 WELLS WITH REDUCED PUMPING FOR STRESS PERIOD     6 TIME STEP     3

   LAY   ROW   COL         APPL.Q          ACT.Q        GW-HEAD       CELL-BOT

     4    91    69  -0.104400E+04  -0.967118E+03   0.207686E+04   0.205380E+04

     4    91    69  -0.208800E+04  -0.193424E+04   0.207686E+04   0.205380E+04

     4    91    69  -0.208800E+04  -0.193424E+04   0.207686E+04   0.205380E+04

Note that the following changes to the Well Package input no longer supports previous input files that read the key word option SPECIFY in Data Set 2B.

The input format for specifying the keyword (character) variable SPECIFY has changed. This character variable is now specified within the OPTIONS block that is specified between Data Set 0 and Data Set 1.

Repeat Items 3 and 4 for each NPWEL parameter.

Data Set 3

[PARNAM PARTYP Parval NLST [INSTANCES NUMINST]]

If PARNAM is to be a time-varying parameter, the keyword “INSTANCES” and a value for NUMINST must be entered.

PARNAM—is the name of a parameter. This name can consist of 1 to 10 characters and is not case sensitive. That is, any combination of the same characters with different case will be equivalent. All parameter names must be unique.

PARTYP—is the type of parameter. For the WEL Package, the only allowed parameter type is Q, which defines values of the volumetric recharge rate.

Parval—is the parameter value. This parameter value may be overridden by a value in the PVAL file, the Sensitivity Process (SEN) input file, or by a value generated by the Parameter-Estimation (PES) Process.

NLST—is the number of wells that are included in a non-time-varying parameter or in each instance of a time-varying parameter.

INSTANCES – is an optional keyword that designates a parameter as time varying. The keyword is case-insensitive; that is, it may be entered in any combination of upper- and lower-case letters. If INSTANCES is present, it must be followed by a value for NUMINST. If INSTANCES is absent, PARNAM is non-time-varying and NUMINST should not be present.

NUMINST – is the number of instances that are included in the definition of a time-varying parameter, where each instance is a list of wells and associated properties. If the keyword INSTANCES is present, NUMINST must be present and must be at least 1. If the keyword INSTANCES is absent, NUMINST should not be present.

Data Set 4a

INSTNAM

Item 4a is read only if PARNAM is time-varying. NUMINST repetitions of Item 4 (parts a and b) are read. After each repetition of Item 4a, NLST repetitions of Item 4b are read.

INSTNAM – is the name of an instance associated with the parameter PARNAM specified in the corresponding Item 3. The name can consist of 1 to 10 characters and is not case sensitive. That is, any combination of the same characters with different case will be equivalent. Names entered for INSTNAM must be unique for any given parameter, but names may be reused for instances associated with different parameters.

Data Set 4b

Layer Row Column Qfact [xyz]

NLST repetitions of Item 4b are required; they are read by module ULSTRD. (SFAC of the ULSTRD utility module applies to Qfact).  The NLST repetitions of Item 4b follow each repetition of Item 4a when PARNAM is time-varying.

Layer—is the layer number of the model cell that contains the well.

Row—is the row number of the model cell that contains the well.

Column—is the column number of the model cell that contains the well.

Qfact—is the factor used to calculate well recharge rate from the parameter value. The recharge rate is the product of Qfact and the parameter value.

[xyz]—represents any auxiliary variables for a well that has been defined in Item 2. The auxiliary variables must be present in each repetition of Items 4 and 6 if they are defined in Item 2.

FOR EACH STRESS PERIOD

Data Set 5

ITMP NP

ITMP—is a flag and a counter.

If ITMP < 0, non-parameter well data from the last stress period will be reused.
If ITMP 0, ITMP will be the number of non-parameter wells read for the current stress period.

NP—is the number of parameters in use in the current stress period.

If NUMTAB > 0, Data sets 5, 6, and 7 are only read for stress period 1. WELL Parameters can not be used if NUMTAB > 0.

 

MODFLOW-NWT version 1.1

IF TABFILES is specified then DATA SET 6 is replaced with the following NUMTAB lines for stress period 1 only. DATA SET 6 is not required for stress periods following the first stress period when the TABFILES option is used.

[TABUNIT TABVAL TABLAY TABROW TABCOL]  

#repeat this line NUMTAB times for stress period 1.

TABUNIT -- An integer value equal to the unit number for the tabular input file. This unit number must match the unit number specified in the MODFLOW Name file as type data.

TABVAL -- An integer value equal to the number of lines in this tabular input file not including header lines.

TABLAY -- An integer value equal to the MODFLOW layer for the cell to which the pumping rates will be applied

TABROW -- An integer value equal to the MODFLOW row for the cell to which the pumping rates will be applied.

TABCOL -- An integer value equal to the MODFLOW column for the cell to which the pumping rates will be applied.

 

Data Set 6

Layer Row Column Q [xyz]

ITMP repetitions of Item 6 are read by module ULSTRD if ITMP > 0. (SFAC of the ULSTRD utility module applies to Q.) Item 6 is not read if ITMP is negative or zero.

Layer—is the layer number of the model cell that contains the well.

Row—is the row number of the model cell that contains the well.

Column—is the column number of the model cell that contains the well.

Q—is the volumetric recharge rate. A positive value indicates recharge and a negative value indicates discharge (pumping).

[xyz]—represents any auxiliary variables for a well that has been defined in Item 2. The auxiliary variables must be present in each repetition of Items 4 and 6 if they are defined in Item 2.

Data Set 7

[Pname [Iname]]

Item 7 is repeated NP times. It is not read if NP is negative or 0.  Iname is read if Pname is a time-varying parameter.

Pname—is the name of a parameter that is being used in the current stress period. NP parameter names will be read.

Iname – is an instance name that is read only if Pname is a time-varying parameter. Multiple instances of the same time-varying parameter are not allowed in a stress period.