Skip to content

Commit

Permalink
feat(swf-gwf): generalize and improve SWF-GWF Exchange (#1910)
Browse files Browse the repository at this point in the history
* feat(swf-gwf): add upstream weighting for swf-gwf exchange

* additional smoothing for the zdg package and upstream weighting to smoothing parameter for swf-gwf exchange

* minor change from dfn2f90

* fprettify
  • Loading branch information
langevin-usgs authored Jun 27, 2024
1 parent 12dea73 commit fef2c67
Show file tree
Hide file tree
Showing 5 changed files with 350 additions and 2,349 deletions.
6 changes: 3 additions & 3 deletions autotest/test_swf_dfw_gwf.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@ def build_models(idx, test):
add_gwf_model(sim)

swfgwf_data = [
((0,), (0, 0, 0), 1.0),
((1,), (0, 0, 1), 1.0),
((2,), (0, 0, 2), 1.0),
((0,), (0, 0, 0), 1.0, 1.0),
((1,), (0, 0, 1), 1.0, 1.0),
((2,), (0, 0, 2), 1.0, 1.0),
]
swfgwf = flopy.mf6.ModflowSwfgwf(
sim,
Expand Down
34 changes: 26 additions & 8 deletions doc/mf6io/mf6ivar/dfn/exg-swfgwf.dfn
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@ longname keyword to print swfgwf flows to list file
description keyword to indicate that the list of exchange flow rates will be printed to the listing file for every stress period in which ``SAVE BUDGET'' is specified in Output Control.
mf6internal ipr_flow

block options
name fixed_conductance
type keyword
reader urword
optional true
longname keyword to indicate conductance is fixed
description keyword to indicate that the product of the bedleak and cfact input variables in the exchangedata block represents conductance. This conductance is fixed and does not change as a function of head in the surface water and groundwater models.
mf6internal ifixedcond

block options
name obs_filerecord
type record obs6 filein obs6_filename
Expand Down Expand Up @@ -77,7 +86,7 @@ description keyword and integer value specifying the number of SWF-GWF exchanges

block exchangedata
name exchangedata
type recarray cellidm1 cellidm2 cond
type recarray cellidm1 cellidm2 bedleak cfact
shape (nexg)
reader urword
optional false
Expand All @@ -91,8 +100,8 @@ in_record true
tagged false
reader urword
optional false
longname cellid of first cell
description is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell.
longname cellid of cell in surface water model
description is the cellid of the cell in model 1, which must be the surface water model. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell.
numeric_index true

block exchangedata
Expand All @@ -102,17 +111,26 @@ in_record true
tagged false
reader urword
optional false
longname cellid of second cell
description is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell.
longname cellid of cell in groundwater model
description is the cellid of the cell in model 2, which must be the groundwater model. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell.
numeric_index true

block exchangedata
name cond
name bedleak
type double precision
in_record true
tagged false
reader urword
optional false
longname conductance
description is the conductance between the surface water cell and the groundwater cell.
longname bed leakance
description is the leakance between the surface water and groundwater. bedleak has dimensions of 1/T and is equal to the hydraulic conductivity of the bed sediments divided by the thickness of the bed sediments.

block exchangedata
name cfact
type double precision
in_record true
tagged false
reader urword
optional false
longname factor used for conductance calculation
description is the factor used for the conductance calculation. The definition for this parameter depends the type of surface water model and whether or not the fixed\_conductance option is specified. If the fixed\_conductance option is specified, then the hydraulic conductance is calculated as the product of bedleak and cfact. In this case, the conductance is fixed and does not change as a function of the calculated surface water and groundwater head. If the fixed\_conductance option is not specified, then the definition of cfact depends on whether the surface water model represents one-dimensional channel flow or two-dimensional overland flow. If the surface water model represents one-dimensional channel flow, then cfact is the length of the channel cell in the groundwater model cell. If the surface water model represents two-dimensional overland flow, then cfact is the intersection area of the overland flow cell and the underlying groundwater model cell.
Loading

0 comments on commit fef2c67

Please sign in to comment.