GWF-WEL
Structure of Blocks
FOR EACH SIMULATION
BEGIN OPTIONS
[AUXILIARY <auxiliary>]
[AUXMULTNAME <auxmultname>]
[BOUNDNAMES]
[PRINT_INPUT]
[PRINT_FLOWS]
[SAVE_FLOWS]
[AUTO_FLOW_REDUCE <auto_flow_reduce>]
[AUTO_FLOW_REDUCE_CSV FILEOUT <afrcsvfile>]
[FLOW_REDUCTION_LENGTH]
[AUTO_FLOW_REDUCE_AUXNAME <auto_flow_reduce_auxname>]
[TS6 FILEIN <ts6_filename>]
[OBS6 FILEIN <obs6_filename>]
[MOVER]
END OPTIONS
BEGIN DIMENSIONS
MAXBOUND <maxbound>
END DIMENSIONS
FOR ANY STRESS PERIOD
BEGIN PERIOD <iper>
<cellid> <q> [<aux(naux)>] [<boundname>]
<cellid> <q> [<aux(naux)>] [<boundname>]
...
END PERIOD
Explanation of Variables
Block: OPTIONS
auxiliarydefines 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.auxmultnamename of auxiliary variable to be used as multiplier of well flow rate.BOUNDNAMESkeyword to indicate that boundary names may be provided with the list of well cells.PRINT_INPUTkeyword to indicate that the list of well information will be written to the listing file immediately after it is read.PRINT_FLOWSkeyword 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_FLOWSkeyword to indicate that well flow terms will be written to the file specified with “BUDGET FILEOUT” in Output Control.auto_flow_reducekeyword and real value that defines the fraction of the cell thickness used as an interval for smoothly adjusting negative pumping rates to 0 in cells with head values less than or equal to the bottom of the cell. 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. AUTO_FLOW_REDUCE is set to 0.1 if the specified value is less than or equal to zero. AUTO_FLOW_REDUCE is set to 1.0 if the specified value is greater than 1.0 and the FLOW_REDUCTION_LENGTH option is not specified (that is, the value is interpreted as a fraction of the cell thickness). By default, negative pumping rates are not reduced during a simulation. This AUTO_FLOW_REDUCE option only applies to wells in model cells that are marked as “convertible” (ICELLTYPE /= 0) in the Node Property Flow (NPF) input file. Reduction in flow will not occur for wells in cells marked as confined (ICELLTYPE = 0).AUTO_FLOW_REDUCE_CSVkeyword to specify that record corresponds to the AUTO_FLOW_REDUCE output option in which a new record is written for each well and for each time step in which the user-requested extraction rate is reduced by the program.FILEOUTkeyword to specify that an output filename is expected next.afrcsvfilename of the comma-separated value (CSV) output file to write information about well extraction rates that have been reduced by the program. Entries are only written if the extraction rates are reduced.FLOW_REDUCTION_LENGTHkeyword that indicates the AUTO_FLOW_REDUCE value is a length instead of a fraction of the cell thickness. A warning will be issued if the FLOW_REDUCTION_LENGTH option is specified but the AUTO_FLOW_REDUCE option is not specified in the options block. The program will terminate with an error if the FLOW_REDUCTION_LENGTH option is specified and the AUTO_FLOW_REDUCE value specified in the options block is less than or equal to zero.auto_flow_reduce_auxnamename of a variable listed in AUXILIARY that defines the per-well AUTO_FLOW_REDUCE value used to compute the flow reduction threshold for each well. The auxiliary variable is interpreted the same way as the global AUTO_FLOW_REDUCE value: as a length above the cell bottom when FLOW_REDUCTION_LENGTH is specified, or otherwise as a fraction of the cell thickness. When specified, the per-well auxiliary value overrides the global AUTO_FLOW_REDUCE value for that well. A warning will be issued if AUTO_FLOW_REDUCE_AUXNAME is specified but AUTO_FLOW_REDUCE is not specified in the OPTIONS block. A warning will be issued if AUTO_FLOW_REDUCE_AUXNAME is specified but FLOW_REDUCTION_LENGTH is not specified in the OPTIONS block. The program will terminate with an error if AUTO_FLOW_REDUCE_AUXNAME is specified but no AUXILIARY variables are specified, or if the named AUXILIARY variable cannot be found. The per-well value must be greater than zero and less than or equal to 1 when FLOW_REDUCTION_LENGTH is not specified, or greater than zero and less than or equal to the cell thickness when FLOW_REDUCTION_LENGTH is specified; the program will terminate with an error if a value is outside the valid range.TS6keyword to specify that record corresponds to a time-series file.FILEINkeyword to specify that an input filename is expected next.ts6_filenamedefines 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.OBS6keyword to specify that record corresponds to an observations file.obs6_filenamename of input file to define observations for the WEL package. See the “Observation utility” section for instructions for preparing observation input files. Table ref{table:gwf-obstypetable} lists observation type(s) supported by the WEL package.MOVERkeyword to indicate that this instance of the Well 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
maxboundinteger value specifying the maximum number of wells cells that will be specified for use during any stress period.
Block: PERIOD
iperinteger 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 continue to apply for all subsequent stress periods, unless the program encounters another PERIOD block.cellidis 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.qis the volumetric well rate. A positive value indicates recharge (injection) and a negative value indicates 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.auxrepresents 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.boundnamename 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.
Example Input File
Example 1
#The OPTIONS block is optional
BEGIN OPTIONS
AUXILIARY depth screen_length
BOUNDNAMES
PRINT_INPUT
PRINT_FLOWS
SAVE_FLOWS
END OPTIONS
#The DIMENSIONS block is required
BEGIN DIMENSIONS
MAXBOUND 5
END DIMENSIONS
#The following block of wells will be activated for stress periods
#2 and 3. No wells are present in stress period 1 due to an
#absence of a block for that period.
BEGIN PERIOD 2
#layer row col Q depth screen_length boundname
#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
#Turn off all wells for stress period 4
BEGIN PERIOD 4
#An empty block indicates that there are no wells.
END PERIOD
#For stress period 5, turn on wells 1 and 4,
#and add three wells that are grouped in a well field
BEGIN PERIOD 5
#layer row col Q depth screen_length boundname
7 102 17 -19000 275.9 17.6 CW_1
10 43 17 -12000 301.3 9.6 CW_4
#wells in well field
5 27 50 -11000 190.0 20.0 well_field
5 27 51 -10000 185.0 20.0 well_field
5 28 50 -12000 187.3 15.0 well_field
END PERIOD
#Use a list of wells in ASCII file wells_sp6.txt for stress period 6.
#Use these wells until the end of the simulation.
BEGIN PERIOD 6
OPEN/CLOSE wells_sp6.txt
END PERIOD
Example 2
# File generated by Flopy version 3.10.0.dev3 on 09/04/2025 at 15:35:26.
BEGIN options
READARRAYGRID
auxiliary concentration
OBS6 FILEIN flow.wel.obs
END options
BEGIN period 1
q
INTERNAL FACTOR 1.0
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
concentration
INTERNAL FACTOR 1.0
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30
END period 1
Available Observation Types
| Stress Package | Observation Type | ID1 | ID2 | Description |
|---|---|---|---|---|
| WEL | wel | cellid or boundname | -- | Flow between the groundwater system and a well boundary or a group of well boundaries. |
| WEL | to-mvr | cellid or boundname | -- | Well boundary discharge that is available for the MVR package for a well boundary or a group of well boundaries. |
| WEL | wel-reduction | cellid or boundname | -- | Reduction in the specified well boundary discharge calculated when the AUTO_FLOW_REDUCE option is specified. |
Example Observation Input File
Example 1
BEGIN OPTIONS
DIGITS 7
PRINT_INPUT
END OPTIONS
BEGIN CONTINUOUS FILEOUT my_model.wel.obs.csv
# obsname obstype ID
wel-7-102-17 WEL 7 102 17
wel-7-102-17 WEL CW_1
well-field WEL well_field
END CONTINUOUS
Example Observation Input File
Example 2
# File generated by Flopy version 3.10.0.dev3 on 09/04/2025 at 15:35:26.
BEGIN options
DIGITS 20
PRINT_INPUT
END options
BEGIN continuous FILEOUT wel_obs.csv
w1_1_1 WEL 1 1 1
END continuous FILEOUT wel_obs.csv