Skip to content

Commit

Permalink
feat(mf6): Add MODFLOW 6 GWT dfn and classes (#1006)
Browse files Browse the repository at this point in the history
  • Loading branch information
jdhughes-usgs committed Oct 21, 2020
1 parent 8f3dbec commit 0bc91e4
Show file tree
Hide file tree
Showing 56 changed files with 10,391 additions and 86 deletions.
3 changes: 3 additions & 0 deletions flopy/mf6/data/dfn/exg-gwfgwt.dfn
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# --------------------- exg gwfgwt options ---------------------


145 changes: 145 additions & 0 deletions flopy/mf6/data/dfn/gwf-buy.dfn
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
# --------------------- gwf buy options ---------------------

block options
name hhformulation_rhs
type keyword
reader urword
optional true
longname hh formulation on right-hand side
description use the variable-density hydraulic head formulation and add off-diagonal terms to the right-hand. This option will prevent the BUY Package from adding asymmetric terms to the flow matrix.

block options
name denseref
type double
reader urword
optional true
longname reference density
description fluid reference density used in the equation of state. This value is set to 1000. if not specified as an option.
default_value 1000.

block options
name density_filerecord
type record density fileout densityfile
shape
reader urword
tagged true
optional true
longname
description

block options
name density
type keyword
shape
in_record true
reader urword
tagged true
optional false
longname density keyword
description keyword to specify that record corresponds to density.

block options
name fileout
type keyword
shape
in_record true
reader urword
tagged true
optional false
longname file keyword
description keyword to specify that an output filename is expected next.

block options
name densityfile
type string
preserve_case true
shape
in_record true
reader urword
tagged false
optional false
longname file keyword
description name of the binary output file to write density information. The density file has the same format as the head file. Density values will be written to the density file whenever heads are written to the binary head file. The settings for controlling head output are contained in the Output Control option.

block options
name dev_efh_formulation
type keyword
reader urword
optional true
longname use equivalent freshwater head formulation
description use the variable-density equivalent freshwater head formulation instead of the hydraulic head head formulation. This dev option has only been implemented for confined aquifer conditions and should generally not be used.



# --------------------- gwf buy dimensions ---------------------

block dimensions
name nrhospecies
type integer
reader urword
optional false
longname number of species used in density equation of state
description number of species used in density equation of state. This value must be one or greater. The value must be one if concentrations are specified using the CONCENTRATION keyword in the PERIOD block below.


# --------------------- gwf buy packagedata ---------------------

block packagedata
name packagedata
type recarray irhospec drhodc crhoref modelname auxspeciesname
shape (nrhospecies)
reader urword
longname
description

block packagedata
name irhospec
type integer
shape
tagged false
in_record true
reader urword
longname species number for this entry
description integer value that defines the species number associated with the specified PACKAGEDATA data on the line. IRHOSPECIES must be greater than zero and less than or equal to NRHOSPECIES. Information must be specified for each of the NRHOSPECIES species or the program will terminate with an error. The program will also terminate with an error if information for a species is specified more than once.
numeric_index true

block packagedata
name drhodc
type double precision
shape
tagged false
in_record true
reader urword
longname slope of the density-concentration line
description real value that defines the slope of the density-concentration line for this species used in the density equation of state.

block packagedata
name crhoref
type double precision
shape
tagged false
in_record true
reader urword
longname reference concentration value
description real value that defines the reference concentration value used for this species in the density equation of state.

block packagedata
name modelname
type string
in_record true
tagged false
shape
reader urword
longname modelname
description name of GWT model used to simulate a species that will be used in the density equation of state. This name will have no affect if the simulation does not include a GWT model that corresponds to this GWF model.

block packagedata
name auxspeciesname
type string
in_record true
tagged false
shape
reader urword
longname modelname
description name of an auxiliary variable in a GWF stress package that will be used for this species to calculate a density value. If a density value is needed by the Buoyancy Package then it will use the concentration values in this AUXSPECIESNAME column in the density equation of state. For advanced stress packages (LAK, SFR, MAW, and UZF) that have an associated advanced transport package (LKT, SFT, MWT, and UZT), the FLOW\_PACKAGE\_AUXILIARY\_NAME option in the advanced transport package can be used to transfer simulated concentrations into the flow package auxiliary variable. In this manner, the Buoyancy Package can calculate density values for lakes, streams, multi-aquifer wells, and unsaturated zone flow cells using simulated concentrations.

2 changes: 1 addition & 1 deletion flopy/mf6/data/dfn/gwf-dis.dfn
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,6 @@ reader readarray
layered true
optional true
longname idomain existence array
description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in the simulation. Furthermore, the first existing cell above will be connected to the first existing cell below. This type of cell is referred to as a ``vertical pass through'' cell.
description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1 or greater, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in the simulation. Furthermore, the first existing cell above will be connected to the first existing cell below. This type of cell is referred to as a ``vertical pass through'' cell.


2 changes: 1 addition & 1 deletion flopy/mf6/data/dfn/gwf-disu.dfn
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ reader readarray
layered false
optional true
longname idomain existence array
description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1, the cell exists in the simulation. IDOMAIN values of -1 cannot be specified for the DISU Package.
description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1 or greater, the cell exists in the simulation. IDOMAIN values of -1 cannot be specified for the DISU Package.

# --------------------- gwf disu connectiondata ---------------------

Expand Down
2 changes: 1 addition & 1 deletion flopy/mf6/data/dfn/gwf-disv.dfn
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ reader readarray
layered true
optional true
longname idomain existence array
description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in the simulation. Furthermore, the first existing cell above will be connected to the first existing cell below. This type of cell is referred to as a ``vertical pass through'' cell.
description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1 or greater, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in the simulation. Furthermore, the first existing cell above will be connected to the first existing cell below. This type of cell is referred to as a ``vertical pass through'' cell.


# --------------------- gwf disv vertices ---------------------
Expand Down
20 changes: 10 additions & 10 deletions flopy/mf6/data/dfn/gwf-maw.dfn
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ longname save well flows to budget file
description REPLACE save_flows {'{#1}': 'multi-aquifer well'}

block options
name stage_filerecord
name head_filerecord
type record head fileout headfile
shape
reader urword
Expand All @@ -68,7 +68,7 @@ in_record true
reader urword
tagged true
optional false
longname stage keyword
longname head keyword
description keyword to specify that record corresponds to head.

block options
Expand All @@ -81,7 +81,7 @@ reader urword
tagged false
optional false
longname file keyword
description name of the binary output file to write stage information.
description name of the binary output file to write head information.

block options
name budget_filerecord
Expand Down Expand Up @@ -292,7 +292,7 @@ tagged false
in_record true
reader urword
longname well radius
description radius for the multi-aquifer well.
description radius for the multi-aquifer well. The program will terminate with an error if the radius is less than or equal to zero.

block packagedata
name bottom
Expand All @@ -302,7 +302,7 @@ tagged false
in_record true
reader urword
longname well bottom
description bottom elevation of the multi-aquifer well. The well bottom is reset to the cell bottom in the lowermost GWF cell connection in cases where the specified well bottom is above the bottom of this GWF cell.
description bottom elevation of the multi-aquifer well. If CONDEQN is SPECIFIED, THIEM, SKIN, or COMPOSITE, 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.

block packagedata
name strt
Expand All @@ -312,7 +312,7 @@ tagged false
in_record true
reader urword
longname starting head
description starting head for the multi-aquifer well.
description 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.

block packagedata
name condeqn
Expand Down Expand Up @@ -407,7 +407,7 @@ tagged false
in_record true
reader urword
longname screen top
description value that defines the top elevation of the screen for the multi-aquifer well connection. If the specified SCRN\_TOP is greater than the top of the GWF cell it is set equal to the top of the cell. SCRN\_TOP can be any value if CONDEQN is SPECIFIED, THIEM, SKIN, or COMPOSITE and SCRN\_TOP is set to the top of the cell.
description value that defines the top elevation of the screen for the multi-aquifer well connection. If CONDEQN is SPECIFIED, THIEM, SKIN, or COMPOSITE, 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.

block connectiondata
name scrn_bot
Expand All @@ -417,7 +417,7 @@ tagged false
in_record true
reader urword
longname screen bottom
description value that defines the bottom elevation of the screen for the multi-aquifer well connection. If the specified SCRN\_BOT is less than the bottom of the GWF cell it is set equal to the bottom of the cell. SCRN\_BOT can be any value if CONDEQN is SPECIFIED, THIEM, SKIN, or COMPOSITE and SCRN\_BOT is set to the bottom of the cell.
description value that defines the bottom elevation of the screen for the multi-aquifer well connection. If CONDEQN is SPECIFIED, THIEM, SKIN, or COMPOSITE, SCRN\_BOT can be any value 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.

block connectiondata
name hk_skin
Expand All @@ -437,7 +437,7 @@ tagged false
in_record true
reader urword
longname skin radius
description real value that defines the skin radius (filter pack radius) for the multi-aquifer well. RADIUS\_SKIN can be any value if CONDEQN is SPECIFIED or THIEM. Otherwise, RADIUS\_SKIN must be greater than RADIUS for the multi-aquifer well.
description 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.


# --------------------- gwf maw period ---------------------
Expand Down Expand Up @@ -563,7 +563,7 @@ in_record true
reader urword
time_series true
longname well head
description 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.
description 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.

block period
name head_limit
Expand Down
2 changes: 1 addition & 1 deletion flopy/mf6/data/dfn/gwf-sfr.dfn
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@ tagged false
in_record true
reader urword
longname number of connected reaches
description integer value that defines the number of reaches connected to the reach.
description integer value that defines the number of reaches connected to the reach. If a value of zero is specified for NCON an entry for RNO is still required in the subsequent CONNECTIONDATA block.

block packagedata
name ustrf
Expand Down
11 changes: 11 additions & 0 deletions flopy/mf6/data/dfn/gwt-adv.dfn
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# --------------------- gwt adv options ---------------------

block options
name scheme
type string
valid central upstream tvd
reader urword
optional true
longname advective scheme
description scheme used to solve the advection term. Can be upstream, central, or TVD.

Loading

0 comments on commit 0bc91e4

Please sign in to comment.