# autogenerated file, do not modify
from os import PathLike, curdir
from typing import Union
from flopy.mf6.data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator
from flopy.mf6.mfpackage import MFChildPackages, MFPackage
[docs]class ModflowGwfmaw(MFPackage):
"""
ModflowGwfmaw defines a MAW package.
Parameters
----------
model
Model that this package is a part of. Package is automatically
added to model when it is initialized.
loading_package : bool, default False
Do not set this parameter. It is intended for debugging and internal
processing purposes only.
auxiliary : [string]
defines an array of one or more auxiliary variable names. there is no limit on
the number of auxiliary variables that can be provided on this line; however,
lists of information provided in subsequent blocks must have a column of data
for each auxiliary variable name defined here. the number of auxiliary
variables detected on this line determines the value for naux. comments cannot
be provided anywhere on this line as they will be interpreted as auxiliary
variable names. auxiliary variables may not be used by the package, but they
will be available for use by other parts of the program. the program will
terminate with an error if auxiliary variables are specified on more than one
line in the options block.
boundnames : keyword
keyword to indicate that boundary names may be provided with the list of multi-
aquifer well cells.
print_input : keyword
keyword to indicate that the list of multi-aquifer well information will be
written to the listing file immediately after it is read.
print_head : keyword
keyword to indicate that the list of multi-aquifer well {#2} 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_{#3} is
specified, then {#2} are printed for the last time step of each stress period.
print_flows : keyword
keyword to indicate that the list of multi-aquifer well flow rates will be
printed to the listing file for every stress period time step in which 'budget
print' is specified in output 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
keyword to indicate that multi-aquifer well flow terms will be written to the
file specified with 'budget fileout' in output control.
head_filerecord : (headfile)
* headfile : string
name of the binary output file to write head information.
budget_filerecord : (budgetfile)
* budgetfile : string
name of the binary output file to write budget information.
budgetcsv_filerecord : (budgetcsvfile)
* budgetcsvfile : string
name of the comma-separated value (CSV) output file to write budget summary
information. A budget summary record will be written to this file for each
time step of the simulation.
no_well_storage : keyword
keyword that deactivates inclusion of well storage contributions to the multi-
aquifer well package continuity equation.
flow_correction : keyword
keyword that activates flow corrections in cases where the head in a multi-
aquifer well is below the bottom of the screen for a connection or the head in
a convertible cell connected to a multi-aquifer well is below the cell bottom.
when flow corrections are activated, unit head gradients are used to calculate
the flow between a multi-aquifer well and a connected gwf cell. by default,
flow corrections are not made.
flowing_wells : keyword
keyword that activates the flowing wells option for the multi-aquifer well
package.
shutdown_theta : double precision
value that defines the weight applied to discharge rate for wells that limit
the water level in a discharging well (defined using the head_limit keyword in
the stress period data). shutdown_theta is used to control discharge rate
oscillations when the flow rate from the aquifer is less than the specified
flow rate from the aquifer to the well. values range between 0.0 and 1.0, and
larger values increase the weight (decrease under-relaxation) applied to the
well discharge rate. the head_limit option has been included to facilitate
backward compatibility with previous versions of modflow but use of the
rate_scaling option instead of the head_limit option is recommended. by
default, shutdown_theta is 0.7.
shutdown_kappa : double precision
value that defines the weight applied to discharge rate for wells that limit
the water level in a discharging well (defined using the head_limit keyword in
the stress period data). shutdown_kappa is used to control discharge rate
oscillations when the flow rate from the aquifer is less than the specified
flow rate from the aquifer to the well. values range between 0.0 and 1.0, and
larger values increase the weight applied to the well discharge rate. the
head_limit option has been included to facilitate backward compatibility with
previous versions of modflow but use of the rate_scaling option instead of the
head_limit option is recommended. by default, shutdown_kappa is 0.0001.
mfrcsv_filerecord : (mfrcsvfile)
* mfrcsvfile : string
name of the comma-separated value (CSV) output file to write information about
multi-aquifer well extraction or injection rates that have been reduced by the
program. Entries are only written if the extraction or injection rates are
reduced.
timeseries : record ts6 filein ts6_filename
Contains data for the ts package. Data can be passed as a dictionary to the ts
package with variable names as keys and package data as values. Data for the
timeseries variable is also acceptable. See ts package documentation for more
information.
observations : record obs6 filein obs6_filename
Contains data for the obs package. Data can be passed as a dictionary to the
obs package with variable names as keys and package data as values. Data for
the observations variable is also acceptable. See obs package documentation for
more information.
mover : keyword
keyword to indicate that this instance of the maw package can be used with the
water mover (mvr) package. when the mover option is specified, additional
memory is allocated within the package to store the available, provided, and
received water.
nmawwells : integer
integer value specifying the number of multi-aquifer wells that will be
simulated for all stress periods.
packagedata : [(ifno, radius, bottom, strt, condeqn, ngwfnodes, aux, boundname)]
* ifno : integer
integer value that defines the well number associated with the specified PERIOD
data on the line. IFNO must be greater than zero and less than or equal to
NMAWWELLS.
* radius : double precision
radius for the multi-aquifer well. The program will terminate with an error if
the radius is less than or equal to zero.
* bottom : double precision
bottom elevation of the multi-aquifer well. If CONDEQN is SPECIFIED, THIEM,
SKIN, or CUMULATIVE, BOTTOM is set to the cell bottom in the lowermost GWF cell
connection in cases where the specified well bottom is above the bottom of this
GWF cell. If CONDEQN is MEAN, BOTTOM is set to the lowermost GWF cell
connection screen bottom in cases where the specified well bottom is above this
value. The bottom elevation defines the lowest well head that will be simulated
when the NEWTON UNDER_RELAXATION option is specified in the GWF model name
file. The bottom elevation is also used to calculate volumetric storage in the
well.
* strt : double precision
starting head for the multi-aquifer well. The program will terminate with an
error if the starting head is less than the specified well bottom.
* condeqn : string
character string that defines the conductance equation that is used to
calculate the saturated conductance for the multi-aquifer well. Possible multi-
aquifer well CONDEQN strings include: SPECIFIED--character keyword to indicate
the multi-aquifer well saturated conductance will be specified. THIEM--
character keyword to indicate the multi-aquifer well saturated conductance will
be calculated using the Thiem equation, which considers the cell top and
bottom, aquifer hydraulic conductivity, and effective cell and well radius.
SKIN--character keyword to indicate that the multi-aquifer well saturated
conductance will be calculated using the cell top and bottom, aquifer and
screen hydraulic conductivity, and well and skin radius. CUMULATIVE--character
keyword to indicate that the multi-aquifer well saturated conductance will be
calculated using a combination of the Thiem and SKIN equations. MEAN--
character keyword to indicate the multi-aquifer well saturated conductance will
be calculated using the aquifer and screen top and bottom, aquifer and screen
hydraulic conductivity, and well and skin radius. The CUMULATIVE conductance
equation is identical to the SKIN LOSSTYPE in the Multi-Node Well (MNW2)
package for MODFLOW-2005. The program will terminate with an error condition if
CONDEQN is SKIN or CUMULATIVE and the calculated saturated conductance is less
than zero; if an error condition occurs, it is suggested that the THIEM or MEAN
conductance equations be used for these multi-aquifer wells.
* ngwfnodes : integer
integer value that defines the number of GWF nodes connected to this (IFNO)
multi-aquifer well. NGWFNODES must be greater than zero.
* aux : [double precision]
represents the values of the auxiliary variables for each multi-aquifer well.
The values of auxiliary variables must be present for each multi-aquifer well.
The values must be specified in the order of the auxiliary variables specified
in the OPTIONS block. If the package supports time series and the Options
block includes a TIMESERIESFILE entry (see the 'Time-Variable Input' section),
values can be obtained from a time series by entering the time-series name in
place of a numeric value.
* boundname : string
name of the multi-aquifer well cell. BOUNDNAME is an ASCII character variable
that can contain as many as 40 characters. If BOUNDNAME contains spaces in it,
then the entire name must be enclosed within single quotes.
connectiondata : [(ifno, icon, cellid, scrn_top, scrn_bot, hk_skin, radius_skin)]
* ifno : integer
integer value that defines the well number associated with the specified PERIOD
data on the line. IFNO must be greater than zero and less than or equal to
NMAWWELLS.
* icon : integer
integer value that defines the GWF connection number for this multi-aquifer
well connection entry. ICONN must be greater than zero and less than or equal
to NGWFNODES for multi-aquifer well IFNO.
* cellid : [integer]
is the cell identifier, and depends on the type of grid that is used for the
simulation. For a structured grid that uses the DIS input file, CELLID is the
layer, row, and column. For a grid that uses the DISV input file, CELLID is
the layer and CELL2D number. If the model uses the unstructured discretization
(DISU) input file, CELLID is the node number for the cell. One or more screened
intervals can be connected to the same CELLID if CONDEQN for a well is MEAN.
The program will terminate with an error if MAW wells using SPECIFIED, THIEM,
SKIN, or CUMULATIVE conductance equations have more than one connection to the
same CELLID.
* scrn_top : double precision
value that defines the top elevation of the screen for the multi-aquifer well
connection. If CONDEQN is SPECIFIED, THIEM, SKIN, or CUMULATIVE, SCRN_TOP can
be any value and is set to the top of the cell. If CONDEQN is MEAN, SCRN_TOP is
set to the multi-aquifer well connection cell top if the specified value is
greater than the cell top. The program will terminate with an error if the
screen top is less than the screen bottom.
* scrn_bot : double precision
value that defines the bottom elevation of the screen for the multi-aquifer
well connection. If CONDEQN is SPECIFIED, THIEM, SKIN, or CUMULATIVE, SCRN_BOT
can be any value and is set to the bottom of the cell. If CONDEQN is MEAN,
SCRN_BOT is set to the multi-aquifer well connection cell bottom if the
specified value is less than the cell bottom. The program will terminate with
an error if the screen bottom is greater than the screen top.
* hk_skin : double precision
value that defines the skin (filter pack) hydraulic conductivity (if CONDEQN
for the multi-aquifer well is SKIN, CUMULATIVE, or MEAN) or conductance (if
CONDEQN for the multi-aquifer well is SPECIFIED) for each GWF node connected to
the multi-aquifer well (NGWFNODES). If CONDEQN is SPECIFIED, HK_SKIN must be
greater than or equal to zero. HK_SKIN can be any value if CONDEQN is THIEM.
Otherwise, HK_SKIN must be greater than zero. If CONDEQN is SKIN, the contrast
between the cell transmissivity (the product of geometric mean horizontal
hydraulic conductivity and the cell thickness) and the well transmissivity (the
product of HK_SKIN and the screen thicknesses) must be greater than one in node
CELLID or the program will terminate with an error condition; if an error
condition occurs, it is suggested that the HK_SKIN be reduced to a value less
than K11 and K22 in node CELLID or the THIEM or MEAN conductance equations be
used for these multi-aquifer wells.
* radius_skin : double precision
real value that defines the skin radius (filter pack radius) for the multi-
aquifer well. RADIUS_SKIN can be any value if CONDEQN is SPECIFIED or THIEM. If
CONDEQN is SKIN, CUMULATIVE, or MEAN, the program will terminate with an error
if RADIUS_SKIN is less than or equal to the RADIUS for the multi-aquifer well.
perioddata : [(ifno, mawsetting)]
* ifno : integer
integer value that defines the well number associated with the specified period
data on the line. ifno must be greater than zero and less than or equal to
nmawwells.
* mawsetting : status | flowing_wellrecord | rate | well_head | head_limit | shutoffrecord | rate_scalingrecord | auxiliaryrecord
line of information that is parsed into a keyword and values. keyword values
that can be used to start the mawsetting string include: status, flowing_well,
rate, well_head, head_limit, shut_off, rate_scaling, and auxiliary.
* status : string
keyword option to define well status. status can be active, inactive, or
constant. by default, status is active.
* flowing_wellrecord : (flowing_well, fwelev, fwcond, fwrlen)
* flowing_well : keyword
keyword to indicate the well is a flowing well. The FLOWING_WELL option can be
used to simulate flowing wells when the simulated well head exceeds the
specified drainage elevation.
* fwelev : double precision
elevation used to determine whether or not the well is flowing.
* fwcond : double precision
conductance used to calculate the discharge of a free flowing well. Flow
occurs when the head in the well is above the well top elevation (FWELEV).
* fwrlen : double precision
length used to reduce the conductance of the flowing well. When the head in
the well drops below the well top plus the reduction length, then the
conductance is reduced. This reduction length can be used to improve the
stability of simulations with flowing wells so that there is not an abrupt
change in flowing well rates.
* rate : double precision
is the volumetric pumping rate for the multi-aquifer well. a positive value
indicates recharge and a negative value indicates discharge (pumping). rate
only applies to active (status is active) multi-aquifer wells. if the options
block includes a timeseriesfile entry (see the 'time-variable input' section),
values can be obtained from a time series by entering the time-series name in
place of a numeric value. by default, the rate for each multi-aquifer well is
zero.
* well_head : double precision
is the head in the multi-aquifer well. well_head is only applied to constant
head (status is constant) and inactive (status is inactive) multi-aquifer
wells. if the options block includes a timeseriesfile entry (see the 'time-
variable input' section), values can be obtained from a time series by entering
the time-series name in place of a numeric value. the program will terminate
with an error if well_head is less than the bottom of the well.
* head_limit : string
is the limiting water level (head) in the well, which is the minimum of the
well rate or the well inflow rate from the aquifer. head_limit can be applied
to extraction wells (rate < 0) or injection wells (rate > 0). head_limit can be
deactivated by specifying the text string 'off'. the head_limit option is based
on the head_limit functionality available in the mnw2 citep{konikow2009}
package for modflow-2005. the head_limit option has been included to facilitate
backward compatibility with previous versions of modflow but use of the
rate_scaling option instead of the head_limit option is recommended. by
default, head_limit is 'off'.
* shutoffrecord : (shut_off, minrate, maxrate)
* shut_off : keyword
keyword for activating well shut off capability. Subsequent values define the
minimum and maximum pumping rate that a well must exceed to shutoff or
reactivate a well, respectively, during a stress period. SHUT_OFF is only
applied to injection wells (RATE:math:`<0`) and if HEAD_LIMIT is specified (not
set to 'OFF'). If HEAD_LIMIT is specified, SHUT_OFF can be deactivated by
specifying a minimum value equal to zero. The SHUT_OFF option is based on the
SHUT_OFF functionality available in the MNW2 citep{konikow2009} package for
MODFLOW-2005. The SHUT_OFF option has been included to facilitate backward
compatibility with previous versions of MODFLOW but use of the RATE_SCALING
option instead of the SHUT_OFF option is recommended. By default, SHUT_OFF is
not used.
* minrate : double precision
is the minimum rate that a well must exceed to shutoff a well during a stress
period. The well will shut down during a time step if the flow rate to the well
from the aquifer is less than MINRATE. If a well is shut down during a time
step, reactivation of the well cannot occur until the next time step to reduce
oscillations. MINRATE must be less than maxrate.
* maxrate : double precision
is the maximum rate that a well must exceed to reactivate a well during a
stress period. The well will reactivate during a timestep if the well was
shutdown during the previous time step and the flow rate to the well from the
aquifer exceeds maxrate. Reactivation of the well cannot occur until the next
time step if a well is shutdown to reduce oscillations. maxrate must be greater
than MINRATE.
* rate_scalingrecord : (rate_scaling, pump_elevation, scaling_length)
* rate_scaling : keyword
activate rate scaling. If RATE_SCALING is specified, both PUMP_ELEVATION and
SCALING_LENGTH must be specified. RATE_SCALING cannot be used with HEAD_LIMIT.
RATE_SCALING can be used for extraction or injection wells. For extraction
wells, the extraction rate will start to decrease once the head in the well
lowers to a level equal to the pump elevation plus the scaling length. If the
head in the well drops below the pump elevation, then the extraction rate is
calculated to be zero. For an injection well, the injection rate will begin to
decrease once the head in the well rises above the specified pump elevation.
If the head in the well rises above the pump elevation plus the scaling length,
then the injection rate will be set to zero.
* pump_elevation : double precision
is the elevation of the multi-aquifer well pump (PUMP_ELEVATION).
PUMP_ELEVATION should not be less than the bottom elevation (BOTTOM) of the
multi-aquifer well.
* scaling_length : double precision
height above the pump elevation (SCALING_LENGTH). If the simulated well head
is below this elevation (pump elevation plus the scaling length), then the
pumping rate is reduced.
* auxiliaryrecord : (auxiliary, auxname, auxval)
* auxiliary : keyword
keyword for specifying auxiliary variable.
* auxname : string
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 : double precision
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.
filename : str or PathLike, optional
Name or path of file where this package is stored.
pname : str, optional
Package name.
**kwargs
Extra keywords for :class:`flopy.mf6.mfpackage.MFPackage`.
"""
auxiliary = ArrayTemplateGenerator(("gwf6", "maw", "options", "auxiliary"))
head_filerecord = ListTemplateGenerator(
("gwf6", "maw", "options", "head_filerecord")
)
budget_filerecord = ListTemplateGenerator(
("gwf6", "maw", "options", "budget_filerecord")
)
budgetcsv_filerecord = ListTemplateGenerator(
("gwf6", "maw", "options", "budgetcsv_filerecord")
)
mfrcsv_filerecord = ListTemplateGenerator(
("gwf6", "maw", "options", "mfrcsv_filerecord")
)
ts_filerecord = ListTemplateGenerator(("gwf6", "maw", "options", "ts_filerecord"))
obs_filerecord = ListTemplateGenerator(("gwf6", "maw", "options", "obs_filerecord"))
packagedata = ListTemplateGenerator(("gwf6", "maw", "packagedata", "packagedata"))
connectiondata = ListTemplateGenerator(
("gwf6", "maw", "connectiondata", "connectiondata")
)
perioddata = ListTemplateGenerator(("gwf6", "maw", "period", "perioddata"))
package_abbr = "gwfmaw"
_package_type = "maw"
dfn_file_name = "gwf-maw.dfn"
dfn = [
["header", "multi-package", "package-type advanced-stress-package"],
[
"block options",
"name auxiliary",
"type string",
"shape (naux)",
"reader urword",
"optional true",
],
[
"block options",
"name boundnames",
"type keyword",
"shape",
"reader urword",
"optional true",
],
[
"block options",
"name print_input",
"type keyword",
"reader urword",
"optional true",
],
[
"block options",
"name print_head",
"type keyword",
"reader urword",
"optional true",
],
[
"block options",
"name print_flows",
"type keyword",
"reader urword",
"optional true",
],
[
"block options",
"name save_flows",
"type keyword",
"reader urword",
"optional true",
],
[
"block options",
"name head_filerecord",
"type record head fileout headfile",
"shape",
"reader urword",
"tagged true",
"optional true",
],
[
"block options",
"name head",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block options",
"name headfile",
"type string",
"preserve_case true",
"shape",
"in_record true",
"reader urword",
"tagged false",
"optional false",
],
[
"block options",
"name budget_filerecord",
"type record budget fileout budgetfile",
"shape",
"reader urword",
"tagged true",
"optional true",
],
[
"block options",
"name budget",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block options",
"name fileout",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block options",
"name budgetfile",
"type string",
"preserve_case true",
"shape",
"in_record true",
"reader urword",
"tagged false",
"optional false",
],
[
"block options",
"name budgetcsv_filerecord",
"type record budgetcsv fileout budgetcsvfile",
"shape",
"reader urword",
"tagged true",
"optional true",
],
[
"block options",
"name budgetcsv",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block options",
"name budgetcsvfile",
"type string",
"preserve_case true",
"shape",
"in_record true",
"reader urword",
"tagged false",
"optional false",
],
[
"block options",
"name no_well_storage",
"type keyword",
"reader urword",
"optional true",
],
[
"block options",
"name flow_correction",
"type keyword",
"reader urword",
"optional true",
],
[
"block options",
"name flowing_wells",
"type keyword",
"reader urword",
"optional true",
],
[
"block options",
"name shutdown_theta",
"type double precision",
"reader urword",
"optional true",
],
[
"block options",
"name shutdown_kappa",
"type double precision",
"reader urword",
"optional true",
],
[
"block options",
"name mfrcsv_filerecord",
"type record maw_flow_reduce_csv fileout mfrcsvfile",
"shape",
"reader urword",
"tagged true",
"optional true",
],
[
"block options",
"name maw_flow_reduce_csv",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block options",
"name mfrcsvfile",
"type string",
"preserve_case true",
"shape",
"in_record true",
"reader urword",
"tagged false",
"optional false",
],
[
"block options",
"name ts_filerecord",
"type record ts6 filein ts6_filename",
"shape",
"reader urword",
"tagged true",
"optional true",
"construct_package ts",
"construct_data timeseries",
"parameter_name timeseries",
],
[
"block options",
"name ts6",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block options",
"name filein",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block options",
"name ts6_filename",
"type string",
"preserve_case true",
"in_record true",
"reader urword",
"optional false",
"tagged false",
],
[
"block options",
"name obs_filerecord",
"type record obs6 filein obs6_filename",
"shape",
"reader urword",
"tagged true",
"optional true",
"construct_package obs",
"construct_data observations",
"parameter_name continuous",
],
[
"block options",
"name obs6",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block options",
"name obs6_filename",
"type string",
"preserve_case true",
"in_record true",
"tagged false",
"reader urword",
"optional false",
],
[
"block options",
"name mover",
"type keyword",
"tagged true",
"reader urword",
"optional true",
],
[
"block dimensions",
"name nmawwells",
"type integer",
"reader urword",
"optional false",
],
[
"block packagedata",
"name packagedata",
"type recarray ifno radius bottom strt condeqn ngwfnodes aux boundname",
"shape (nmawwells)",
"reader urword",
],
[
"block packagedata",
"name ifno",
"type integer",
"shape",
"tagged false",
"in_record true",
"reader urword",
"numeric_index true",
],
[
"block packagedata",
"name radius",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block packagedata",
"name bottom",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block packagedata",
"name strt",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block packagedata",
"name condeqn",
"type string",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block packagedata",
"name ngwfnodes",
"type integer",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block packagedata",
"name aux",
"type double precision",
"in_record true",
"tagged false",
"shape (naux)",
"reader urword",
"time_series true",
"optional true",
],
[
"block packagedata",
"name boundname",
"type string",
"shape",
"tagged false",
"in_record true",
"reader urword",
"optional true",
],
[
"block connectiondata",
"name connectiondata",
"type recarray ifno icon cellid scrn_top scrn_bot hk_skin radius_skin",
"reader urword",
],
[
"block connectiondata",
"name ifno",
"type integer",
"shape",
"tagged false",
"in_record true",
"reader urword",
"numeric_index true",
],
[
"block connectiondata",
"name icon",
"type integer",
"shape",
"tagged false",
"in_record true",
"reader urword",
"numeric_index true",
],
[
"block connectiondata",
"name cellid",
"type integer",
"shape (ncelldim)",
"tagged false",
"in_record true",
"reader urword",
],
[
"block connectiondata",
"name scrn_top",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block connectiondata",
"name scrn_bot",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block connectiondata",
"name hk_skin",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block connectiondata",
"name radius_skin",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block period",
"name iper",
"type integer",
"block_variable true",
"in_record true",
"tagged false",
"shape",
"valid",
"reader urword",
"optional false",
],
[
"block period",
"name perioddata",
"type recarray ifno mawsetting",
"shape",
"reader urword",
],
[
"block period",
"name ifno",
"type integer",
"shape",
"tagged false",
"in_record true",
"reader urword",
"numeric_index true",
],
[
"block period",
"name mawsetting",
"type keystring status flowing_wellrecord rate well_head head_limit shutoffrecord rate_scalingrecord auxiliaryrecord",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block period",
"name status",
"type string",
"shape",
"tagged true",
"in_record true",
"reader urword",
],
[
"block period",
"name flowing_wellrecord",
"type record flowing_well fwelev fwcond fwrlen",
"shape",
"tagged",
"in_record true",
"reader urword",
],
[
"block period",
"name flowing_well",
"type keyword",
"shape",
"in_record true",
"reader urword",
],
[
"block period",
"name fwelev",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block period",
"name fwcond",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block period",
"name fwrlen",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block period",
"name rate",
"type double precision",
"shape",
"tagged true",
"in_record true",
"reader urword",
"time_series true",
],
[
"block period",
"name well_head",
"type double precision",
"shape",
"tagged true",
"in_record true",
"reader urword",
"time_series true",
],
[
"block period",
"name head_limit",
"type string",
"shape",
"tagged true",
"in_record true",
"reader urword",
],
[
"block period",
"name shutoffrecord",
"type record shut_off minrate maxrate",
"shape",
"tagged",
"in_record true",
"reader urword",
],
[
"block period",
"name shut_off",
"type keyword",
"shape",
"in_record true",
"reader urword",
],
[
"block period",
"name minrate",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block period",
"name maxrate",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block period",
"name rate_scalingrecord",
"type record rate_scaling pump_elevation scaling_length",
"shape",
"tagged",
"in_record true",
"reader urword",
],
[
"block period",
"name rate_scaling",
"type keyword",
"shape",
"in_record true",
"reader urword",
],
[
"block period",
"name pump_elevation",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block period",
"name scaling_length",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block period",
"name auxiliaryrecord",
"type record auxiliary auxname auxval",
"shape",
"tagged",
"in_record true",
"reader urword",
],
[
"block period",
"name auxiliary",
"type keyword",
"shape",
"in_record true",
"reader urword",
],
[
"block period",
"name auxname",
"type string",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block period",
"name auxval",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
"time_series true",
],
]
def __init__(
self,
model,
loading_package=False,
auxiliary=None,
boundnames=None,
print_input=None,
print_head=None,
print_flows=None,
save_flows=None,
head_filerecord=None,
budget_filerecord=None,
budgetcsv_filerecord=None,
no_well_storage=None,
flow_correction=None,
flowing_wells=None,
shutdown_theta=None,
shutdown_kappa=None,
mfrcsv_filerecord=None,
timeseries=None,
observations=None,
mover=None,
nmawwells=None,
packagedata=None,
connectiondata=None,
perioddata=None,
filename=None,
pname=None,
**kwargs,
):
"""Initialize ModflowGwfmaw."""
super().__init__(
parent=model,
package_type="maw",
filename=filename,
pname=pname,
loading_package=loading_package,
**kwargs,
)
self.auxiliary = self.build_mfdata("auxiliary", auxiliary)
self.boundnames = self.build_mfdata("boundnames", boundnames)
self.print_input = self.build_mfdata("print_input", print_input)
self.print_head = self.build_mfdata("print_head", print_head)
self.print_flows = self.build_mfdata("print_flows", print_flows)
self.save_flows = self.build_mfdata("save_flows", save_flows)
self.head_filerecord = self.build_mfdata("head_filerecord", head_filerecord)
self.budget_filerecord = self.build_mfdata(
"budget_filerecord", budget_filerecord
)
self.budgetcsv_filerecord = self.build_mfdata(
"budgetcsv_filerecord", budgetcsv_filerecord
)
self.no_well_storage = self.build_mfdata("no_well_storage", no_well_storage)
self.flow_correction = self.build_mfdata("flow_correction", flow_correction)
self.flowing_wells = self.build_mfdata("flowing_wells", flowing_wells)
self.shutdown_theta = self.build_mfdata("shutdown_theta", shutdown_theta)
self.shutdown_kappa = self.build_mfdata("shutdown_kappa", shutdown_kappa)
self.mfrcsv_filerecord = self.build_mfdata(
"mfrcsv_filerecord", mfrcsv_filerecord
)
self._ts_filerecord = self.build_mfdata("ts_filerecord", None)
self._ts_package = self.build_child_package(
"ts", timeseries, "timeseries", self._ts_filerecord
)
self._obs_filerecord = self.build_mfdata("obs_filerecord", None)
self._obs_package = self.build_child_package(
"obs", observations, "continuous", self._obs_filerecord
)
self.mover = self.build_mfdata("mover", mover)
self.nmawwells = self.build_mfdata("nmawwells", nmawwells)
self.packagedata = self.build_mfdata("packagedata", packagedata)
self.connectiondata = self.build_mfdata("connectiondata", connectiondata)
self.perioddata = self.build_mfdata("perioddata", perioddata)
self._init_complete = True