![]() |
MODFLOW 6
version 6.7.0.dev3
USGS Modular Hydrologic Model
|
This module contains the SwfGwfExchangeModule Module. More...
Data Types | |
| type | swfgwfexchangetype |
Functions/Subroutines | |
| subroutine | initialize (this, filename, name, swf_ftype, id, m1_id, m2_id, input_mempath) |
| @ brief Initialize SWF GWF exchange More... | |
| subroutine | swf_gwf_ac (this, sparse) |
| @ brief Add connections More... | |
| subroutine | swf_gwf_mc (this, matrix_sln) |
| @ brief Map connections More... | |
| subroutine | swf_gwf_fc (this, kiter, matrix_sln, rhs_sln, inwtflag) |
| @ brief Fill coefficients More... | |
| subroutine | swf_gwf_cq (this, icnvg, isuppress_output, isolnid) |
| @ brief Calculate flow More... | |
| subroutine | swf_gwf_da (this) |
| @ brief Deallocate More... | |
| subroutine | allocate_scalars (this) |
| @ brief Allocate scalars More... | |
| subroutine | allocate_arrays (this) |
| Allocate array data, using the number of connected nodes. More... | |
| integer(i4b) function | noder (this, model, cellid, iout) |
| character(len=20) function | cellstr (this, model, cellid, iout) |
| subroutine | swf_gwf_calc_simvals (this) |
| Calculate flow rates for the exchanges and store them in a member array. More... | |
| real(dp) function | qcalc (this, iexg, hswf, hgwf) |
| @ brief Calculate flow More... | |
| real(dp) function | get_cond (this, iexg, hswf, hgwf) |
| @ brief Calculate conductance More... | |
| real(dp) function | get_wetted_perimeter (this, nodeswf, depth) |
| @ brief Get wetted perimeter for swf channel model More... | |
| subroutine | swf_gwf_add_to_flowja (this) |
| Add exchange flow to each model flowja diagonal position so that residual is calculated correctly. More... | |
| subroutine | swf_gwf_bd (this, icnvg, isuppress_output, isolnid) |
| @ brief Budget More... | |
| subroutine | swf_gwf_chd_bd (this) |
| @ brief swf-gwf-chd-bd More... | |
| subroutine | swf_gwf_bdsav (this) |
| @ brief Budget save More... | |
| subroutine | swf_gwf_ot (this) |
| @ brief Output More... | |
| subroutine | swf_gwf_save_simvals (this) |
| @ brief Save simulated flow observations More... | |
| logical(lgp) function | swf_gwf_connects_model (this, model) |
| Should return true when the exchange should be added to the solution where the model resides. More... | |
This module contains the code for connecting a SWF model with a GWF model. The SwfGwfExchangeType class is a parent to the CHF and OLF models and should not be used directly.
|
private |
| subroutine swfgwfexchangemodule::allocate_scalars | ( | class(swfgwfexchangetype) | this | ) |
Allocate scalar variables
| this | SwfGwfExchangeType |
Definition at line 364 of file exg-swfgwf.f90.
| character(len=20) function swfgwfexchangemodule::cellstr | ( | class(swfgwfexchangetype) | this, |
| class(numericalmodeltype), intent(in), pointer | model, | ||
| integer(i4b), dimension(:), intent(in) | cellid, | ||
| integer(i4b), intent(in) | iout | ||
| ) |
| this | instance of exchange object | |
| [in] | iout | the output file unit |
Definition at line 432 of file exg-swfgwf.f90.
|
private |
Calculate the conductance between the surface water cell and the underlying groundwater cell.
| this | SwfGwfExchangeType | |
| [in] | iexg | exchange number |
| [in] | hswf | surface water model head |
| [in] | hgwf | groundwater model head |
Definition at line 518 of file exg-swfgwf.f90.

| real(dp) function swfgwfexchangemodule::get_wetted_perimeter | ( | class(swfgwfexchangetype) | this, |
| integer(i4b), intent(in) | nodeswf, | ||
| real(dp), intent(in) | depth | ||
| ) |
| this | SwfGwfExchangeType | |
| [in] | nodeswf | node number for surface water model cell |
| [in] | depth | water depth in surface water model cell |
Definition at line 564 of file exg-swfgwf.f90.
|
private |
| this | SwfGwfExchangeType | |
| [in] | filename | filename for reading |
| name | exchange name | |
| swf_ftype | type of swf model, CHF or OLF | |
| [in] | id | id for the exchange |
| [in] | m1_id | id for model 1 |
| [in] | m2_id | id for model 2 |
Definition at line 96 of file exg-swfgwf.f90.

|
private |
| this | instance of exchange object | |
| [in] | iout | the output file unit |
Definition at line 405 of file exg-swfgwf.f90.

| real(dp) function swfgwfexchangemodule::qcalc | ( | class(swfgwfexchangetype) | this, |
| integer(i4b), intent(in) | iexg, | ||
| real(dp), intent(in) | hswf, | ||
| real(dp), intent(in) | hgwf | ||
| ) |
Calculate the flow for the specified exchange and node numbers. Flow is positive into the surface water model
| this | SwfGwfExchangeType |
Definition at line 496 of file exg-swfgwf.f90.
|
private |
Override parent exg_ac so that gnc can add connections here.
| this | SwfGwfExchangeType |
Definition at line 178 of file exg-swfgwf.f90.
|
private |
|
private |
Accumulate budget terms
| this | SwfGwfExchangeType |
Definition at line 621 of file exg-swfgwf.f90.

| subroutine swfgwfexchangemodule::swf_gwf_bdsav | ( | class(swfgwfexchangetype) | this | ) |
Output individual flows to listing file and binary budget files
| this | SwfGwfExchangeType |
Definition at line 726 of file exg-swfgwf.f90.
|
private |
| subroutine swfgwfexchangemodule::swf_gwf_chd_bd | ( | class(swfgwfexchangetype) | this | ) |
Account for flow from an external model into a chd cell
| this | GwfExchangeType |
Definition at line 664 of file exg-swfgwf.f90.
| logical(lgp) function swfgwfexchangemodule::swf_gwf_connects_model | ( | class(swfgwfexchangetype) | this, |
| class(basemodeltype), intent(in), pointer | model | ||
| ) |
| this | the instance of the exchange | |
| [in] | model | the model to which the exchange might hold a connection |
Definition at line 1006 of file exg-swfgwf.f90.
| subroutine swfgwfexchangemodule::swf_gwf_cq | ( | class(swfgwfexchangetype) | this, |
| integer(i4b), intent(inout) | icnvg, | ||
| integer(i4b), intent(in) | isuppress_output, | ||
| integer(i4b), intent(in) | isolnid | ||
| ) |
Calculate flow between two cells and store in simvals, also set information needed for specific discharge calculation
| this | SwfGwfExchangeType |
Definition at line 309 of file exg-swfgwf.f90.
|
private |
Deallocate memory associated with this object
| this | SwfGwfExchangeType |
Definition at line 331 of file exg-swfgwf.f90.
| subroutine swfgwfexchangemodule::swf_gwf_fc | ( | class(swfgwfexchangetype) | this, |
| integer(i4b), intent(in) | kiter, | ||
| class(matrixbasetype), pointer | matrix_sln, | ||
| real(dp), dimension(:), intent(inout) | rhs_sln, | ||
| integer(i4b), intent(in), optional | inwtflag | ||
| ) |
Fill conductance into coefficient matrix. For now assume all connections are vertical and no newton correction is needed.
| this | SwfGwfExchangeType |
Definition at line 224 of file exg-swfgwf.f90.

| subroutine swfgwfexchangemodule::swf_gwf_mc | ( | class(swfgwfexchangetype) | this, |
| class(matrixbasetype), pointer | matrix_sln | ||
| ) |
Map the connections in the global matrix
| this | SwfGwfExchangeType |
| matrix_sln | the system matrix |
Definition at line 200 of file exg-swfgwf.f90.
|
private |
Write output
| this | SwfGwfExchangeType |
Definition at line 916 of file exg-swfgwf.f90.
| subroutine swfgwfexchangemodule::swf_gwf_save_simvals | ( | class(swfgwfexchangetype), intent(inout) | this | ) |
Save the simulated flows for each exchange
Definition at line 961 of file exg-swfgwf.f90.
