MODFLOW 6
version 6.6.0.dev0
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.