MODFLOW 6
version 6.7.0.dev0
USGS Modular Hydrologic Model
|
This module contains the GweGweExchangeModule Module. More...
Data Types | |
type | gweexchangetype |
Derived type for GwtExchangeType. More... | |
Functions/Subroutines | |
subroutine, public | gweexchange_create (filename, name, id, m1_id, m2_id, input_mempath) |
@ brief Create GWT GWT exchange More... | |
subroutine | gwe_gwe_df (this) |
@ brief Define GWE GWE exchange More... | |
subroutine | validate_exchange (this) |
validate exchange data after reading More... | |
subroutine | gwe_gwe_ar (this) |
@ brief Allocate and read More... | |
subroutine | gwe_gwe_rp (this) |
@ brief Read and prepare More... | |
subroutine | gwe_gwe_ad (this) |
@ brief Advance More... | |
subroutine | gwe_gwe_fc (this, kiter, matrix_sln, rhs_sln, inwtflag) |
@ brief Fill coefficients More... | |
subroutine | gwe_gwe_bd (this, icnvg, isuppress_output, isolnid) |
@ brief Budget More... | |
subroutine | gwe_gwe_bdsav (this) |
@ brief Budget save More... | |
subroutine | gwe_gwe_bdsav_model (this, model) |
@ brief Budget save More... | |
subroutine | gwe_gwe_ot (this) |
@ brief Output More... | |
subroutine | source_options (this, iout) |
@ brief Source options More... | |
subroutine | read_mvt (this, iout) |
@ brief Read mover More... | |
subroutine | allocate_scalars (this) |
@ brief Allocate scalars More... | |
subroutine | gwe_gwe_da (this) |
@ brief Deallocate More... | |
subroutine | allocate_arrays (this) |
@ brief Allocate arrays More... | |
subroutine | gwe_gwe_df_obs (this) |
@ brief Define observations More... | |
subroutine | gwe_gwe_rp_obs (this) |
@ brief Read and prepare observations More... | |
subroutine | gwe_gwe_fp (this) |
@ brief Final processing More... | |
logical(lgp) function | gwe_gwe_connects_model (this, model) |
Return true when this exchange provides matrix coefficients for solving. More... | |
logical(lgp) function | use_interface_model (this) |
Should interface model be used for this exchange. More... | |
subroutine | gwe_gwe_save_simvals (this) |
@ brief Save simulated flow observations More... | |
subroutine | gwe_gwe_process_obsid (obsrv, dis, inunitobs, iout) |
@ brief Obs ID processor More... | |
class(gweexchangetype) function, pointer, public | castasgweexchange (obj) |
@ brief Cast polymorphic object as exchange More... | |
class(gweexchangetype) function, pointer, public | getgweexchangefromlist (list, idx) |
@ brief Get exchange from list More... | |
This module contains the code for connecting two GWE Models. The methods are based on the simple two point flux approximation with the option to use ghost nodes to improve accuracy. This exchange is used by GweGweConnection with the more sophisticated interface model coupling approach when XT3D is needed.
subroutine gwegweexchangemodule::allocate_arrays | ( | class(gweexchangetype) | this | ) |
Allocate arrays
this | GweExchangeType |
Definition at line 851 of file exg-gwegwe.f90.
subroutine gwegweexchangemodule::allocate_scalars | ( | class(gweexchangetype) | this | ) |
Allocate scalar variables
this | GwtExchangeType |
Definition at line 781 of file exg-gwegwe.f90.
class(gweexchangetype) function, pointer, public gwegweexchangemodule::castasgweexchange | ( | class(*), intent(inout), pointer | obj | ) |
Cast polymorphic object as exchange
Definition at line 1140 of file exg-gwegwe.f90.
class(gweexchangetype) function, pointer, public gwegweexchangemodule::getgweexchangefromlist | ( | type(listtype), intent(inout) | list, |
integer(i4b), intent(in) | idx | ||
) |
Return an exchange from the list for specified index
Definition at line 1160 of file exg-gwegwe.f90.
subroutine gwegweexchangemodule::gwe_gwe_ad | ( | class(gweexchangetype) | this | ) |
|
private |
Allocated and read and calculate saturated conductance
this | GwtExchangeType |
Definition at line 308 of file exg-gwegwe.f90.
|
private |
Accumulate budget terms
this | GweExchangeType |
Definition at line 374 of file exg-gwegwe.f90.
subroutine gwegweexchangemodule::gwe_gwe_bdsav | ( | class(gweexchangetype) | this | ) |
Output individual flows to listing file and binary budget files
this | GweExchangeType |
Definition at line 416 of file exg-gwegwe.f90.
|
private |
Output individual flows to listing file and binary budget files
this | GwtExchangeType |
Definition at line 450 of file exg-gwegwe.f90.
|
private |
model | ||
this | GweExchangeType | |
[in] | model | the model to which the exchange might hold a connection |
Definition at line 1014 of file exg-gwegwe.f90.
subroutine gwegweexchangemodule::gwe_gwe_da | ( | class(gweexchangetype) | this | ) |
Deallocate memory associated with this object
this | GwtExchangeType |
Definition at line 805 of file exg-gwegwe.f90.
subroutine gwegweexchangemodule::gwe_gwe_df | ( | class(gweexchangetype) | this | ) |
Define GWE to GWE exchange object.
this | GwtExchangeType |
Definition at line 195 of file exg-gwegwe.f90.
subroutine gwegweexchangemodule::gwe_gwe_df_obs | ( | class(gweexchangetype) | this | ) |
Define the observations associated with this object
this | GweExchangeType |
Definition at line 919 of file exg-gwegwe.f90.
|
private |
Calculate conductance and fill coefficient matrix
this | GwtExchangeType |
Definition at line 358 of file exg-gwegwe.f90.
subroutine gwegweexchangemodule::gwe_gwe_fp | ( | class(gweexchangetype) | this | ) |
Conduct any final processing
this | GwtExchangeType |
Definition at line 1006 of file exg-gwegwe.f90.
subroutine gwegweexchangemodule::gwe_gwe_ot | ( | class(gweexchangetype) | this | ) |
subroutine gwegweexchangemodule::gwe_gwe_process_obsid | ( | type(observetype), intent(inout) | obsrv, |
class(disbasetype), intent(in) | dis, | ||
integer(i4b), intent(in) | inunitobs, | ||
integer(i4b), intent(in) | iout | ||
) |
Process observations for this exchange
Definition at line 1101 of file exg-gwegwe.f90.
|
private |
Read new data for mover and obs
this | GweExchangeType |
Definition at line 323 of file exg-gwegwe.f90.
|
private |
Handle observation exchanges exchange-boundary names.
this | GwtExchangeType |
Definition at line 935 of file exg-gwegwe.f90.
|
private |
Save the simulated flows for each exchange
Definition at line 1057 of file exg-gwegwe.f90.
subroutine, public gwegweexchangemodule::gweexchange_create | ( | character(len=*), intent(in) | filename, |
character(len=*) | name, | ||
integer(i4b), intent(in) | id, | ||
integer(i4b), intent(in) | m1_id, | ||
integer(i4b), intent(in) | m2_id, | ||
character(len=*), intent(in) | input_mempath | ||
) |
Create a new GWT to GWT exchange object.
[in] | filename | filename for reading |
[in] | id | id for the exchange |
name | the exchange name | |
[in] | m1_id | id for model 1 |
[in] | m2_id | id for model 2 |
Definition at line 110 of file exg-gwegwe.f90.
subroutine gwegweexchangemodule::read_mvt | ( | class(gweexchangetype) | this, |
integer(i4b), intent(in) | iout | ||
) |
Read and process movers
this | GwtExchangeType |
Definition at line 760 of file exg-gwegwe.f90.
subroutine gwegweexchangemodule::source_options | ( | class(gweexchangetype) | this, |
integer(i4b), intent(in) | iout | ||
) |
Source the options block
this | GweExchangeType |
Definition at line 672 of file exg-gwegwe.f90.
|
private |
For now this always returns true, since we do not support a classic-style two-point flux approximation for GWT-GWT. If we ever add logic to support a simpler non-interface model flux calculation, then logic should be added here to set the return accordingly.
this | GweExchangeType |
Definition at line 1042 of file exg-gwegwe.f90.
subroutine gwegweexchangemodule::validate_exchange | ( | class(gweexchangetype) | this | ) |
this | GweExchangeType |
Definition at line 248 of file exg-gwegwe.f90.