MODFLOW 6
version 6.6.0.dev0
USGS Modular Hydrologic Model
|
Data Types | |
type | gweuzetype |
Functions/Subroutines | |
subroutine, public | uze_create (packobj, id, ibcnum, inunit, iout, namemodel, pakname, fmi, eqnsclfac, gwecommon, dvt, dvu, dvua) |
Create a new UZE package. More... | |
subroutine | find_uze_package (this) |
Find corresponding uze package. More... | |
subroutine | uze_ac (this, moffset, sparse) |
Add package connection to matrix. More... | |
subroutine | uze_mc (this, moffset, matrix_sln) |
Map package connection to matrix. More... | |
subroutine | uze_fc_expanded (this, rhs, ia, idxglo, matrix_sln) |
Add matrix terms related to UZE. More... | |
subroutine | uze_solve (this) |
Explicit solve. More... | |
integer(i4b) function | uze_get_nbudterms (this) |
Return the number of UZE-specific budget terms. More... | |
real(dp) function, dimension(:), pointer, contiguous | get_mvr_depvar (this) |
Override similarly named function in APT. More... | |
subroutine | uze_setup_budobj (this, idx) |
Setup budget object. More... | |
subroutine | uze_fill_budobj (this, idx, x, flowja, ccratin, ccratout) |
Fill UZE budget object. More... | |
subroutine | allocate_scalars (this) |
Allocate scalars. More... | |
subroutine | uze_allocate_arrays (this) |
Allocate arrays. More... | |
subroutine | uze_da (this) |
Deallocate memory. More... | |
subroutine | uze_infl_term (this, ientry, n1, n2, rrate, rhsval, hcofval) |
Infiltration term. More... | |
subroutine | uze_rinf_term (this, ientry, n1, n2, rrate, rhsval, hcofval) |
Rejected infiltration term. More... | |
subroutine | uze_uzet_term (this, ientry, n1, n2, rrate, rhsval, hcofval) |
Evapotranspiration from the unsaturated-zone term. More... | |
subroutine | uze_ritm_term (this, ientry, n1, n2, rrate, rhsval, hcofval) |
Rejected infiltration to MVR/MVT term. More... | |
subroutine | uze_theq_term (this, ientry, n1, n2, rrate) |
Heat transferred through thermal equilibrium with the solid phase. More... | |
subroutine | uze_df_obs (this) |
Define UZE Observation. More... | |
subroutine | uze_rp_obs (this, obsrv, found) |
Process package specific obs. More... | |
subroutine | uze_bd_obs (this, obstypeid, jj, v, found) |
Calculate observation value and pass it back to APT. More... | |
subroutine | uze_ad_chk (this) |
Check if UZF object area is not equal to the cell area. More... | |
subroutine | area_error (this, iloc) |
Print and store error msg indicating area of UZF object is not equal to that of the host cell. More... | |
subroutine | uze_set_stressperiod (this, itemno, keyword, found) |
Sets the stress period attributes for keyword use. More... | |
Variables | |
character(len= *), parameter | ftype = 'UZE' |
character(len= *), parameter | flowtype = 'UZF' |
character(len=16) | text = ' UZE' |
subroutine gweuzemodule::allocate_scalars | ( | class(gweuzetype) | this | ) |
Allocate scalars specific to UZE package
Definition at line 915 of file gwe-uze.f90.
subroutine gweuzemodule::area_error | ( | class(gweuzetype) | this, |
integer(i4b) | iloc | ||
) |
Definition at line 1342 of file gwe-uze.f90.
subroutine gweuzemodule::find_uze_package | ( | class(gweuzetype) | this | ) |
real(dp) function, dimension(:), pointer, contiguous gweuzemodule::get_mvr_depvar | ( | class(gweuzetype) | this | ) |
Set the temperature to be used by MVE as the user-specified temperature applied to the infiltration
Definition at line 641 of file gwe-uze.f90.
subroutine gweuzemodule::uze_ac | ( | class(gweuzetype), intent(inout) | this, |
integer(i4b), intent(in) | moffset, | ||
type(sparsematrix), intent(inout) | sparse | ||
) |
Overrides apt_ac to fold the UZE heat balance terms into the row corresponding to the host cell and enforce thermal equilibrium between UZE and the GWE cell.
[in] | moffset | current models starting position in global matrix |
Definition at line 278 of file gwe-uze.f90.
subroutine gweuzemodule::uze_ad_chk | ( | class(gweuzetype), intent(inout) | this | ) |
GWE equilibrates the temperature of a UZE object with the host cell. UZE assumes that the area associated with a specific UZE object is equal to the area of the host cell. When this condition is not true, the code exits with an appropriate message.
Definition at line 1307 of file gwe-uze.f90.
subroutine gweuzemodule::uze_allocate_arrays | ( | class(gweuzetype), intent(inout) | this | ) |
subroutine gweuzemodule::uze_bd_obs | ( | class(gweuzetype), intent(inout) | this, |
character(len=*), intent(in) | obstypeid, | ||
integer(i4b), intent(in) | jj, | ||
real(dp), intent(inout) | v, | ||
logical, intent(inout) | found | ||
) |
Definition at line 1263 of file gwe-uze.f90.
subroutine, public gweuzemodule::uze_create | ( | class(bndtype), pointer | packobj, |
integer(i4b), intent(in) | id, | ||
integer(i4b), intent(in) | ibcnum, | ||
integer(i4b), intent(in) | inunit, | ||
integer(i4b), intent(in) | iout, | ||
character(len=*), intent(in) | namemodel, | ||
character(len=*), intent(in) | pakname, | ||
type(tspfmitype), pointer | fmi, | ||
real(dp), intent(in), pointer | eqnsclfac, | ||
type(gweinputdatatype), intent(in), target | gwecommon, | ||
character(len=*), intent(in) | dvt, | ||
character(len=*), intent(in) | dvu, | ||
character(len=*), intent(in) | dvua | ||
) |
[in] | eqnsclfac | governing equation scale factor |
[in] | gwecommon | shared data container for use by multiple GWE packages |
[in] | dvt | For GWE, set to "TEMPERATURE" in TspAptType |
[in] | dvu | For GWE, set to "energy" in TspAptType |
[in] | dvua | For GWE, set to "E" in TspAptType |
Definition at line 94 of file gwe-uze.f90.
subroutine gweuzemodule::uze_da | ( | class(gweuzetype) | this | ) |
Definition at line 968 of file gwe-uze.f90.
subroutine gweuzemodule::uze_df_obs | ( | class(gweuzetype) | this | ) |
This subroutine:
Definition at line 1168 of file gwe-uze.f90.
subroutine gweuzemodule::uze_fc_expanded | ( | class(gweuzetype) | this, |
real(dp), dimension(:), intent(inout) | rhs, | ||
integer(i4b), dimension(:), intent(in) | ia, | ||
integer(i4b), dimension(:), intent(in) | idxglo, | ||
class(matrixbasetype), pointer | matrix_sln | ||
) |
This will be called from TspAptTypeapt_fc_expanded() in order to add matrix terms specifically for this package
Definition at line 435 of file gwe-uze.f90.
subroutine gweuzemodule::uze_fill_budobj | ( | class(gweuzetype) | this, |
integer(i4b), intent(inout) | idx, | ||
real(dp), dimension(:), intent(in) | x, | ||
real(dp), dimension(:), intent(inout), contiguous | flowja, | ||
real(dp), intent(inout) | ccratin, | ||
real(dp), intent(inout) | ccratout | ||
) |
integer(i4b) function gweuzemodule::uze_get_nbudterms | ( | class(gweuzetype) | this | ) |
Function to return the number of budget terms just for this package. This overrides function in parent.
Definition at line 621 of file gwe-uze.f90.
subroutine gweuzemodule::uze_infl_term | ( | class(gweuzetype) | this, |
integer(i4b), intent(in) | ientry, | ||
integer(i4b), intent(inout) | n1, | ||
integer(i4b), intent(inout) | n2, | ||
real(dp), intent(inout), optional | rrate, | ||
real(dp), intent(inout), optional | rhsval, | ||
real(dp), intent(inout), optional | hcofval | ||
) |
Accounts for energy added to the subsurface via infiltration, for example, energy entering the model domain via rainfall or irrigation.
Definition at line 994 of file gwe-uze.f90.
subroutine gweuzemodule::uze_mc | ( | class(gweuzetype), intent(inout) | this, |
integer(i4b), intent(in) | moffset, | ||
class(matrixbasetype), pointer | matrix_sln | ||
) |
Definition at line 345 of file gwe-uze.f90.
subroutine gweuzemodule::uze_rinf_term | ( | class(gweuzetype) | this, |
integer(i4b), intent(in) | ientry, | ||
integer(i4b), intent(inout) | n1, | ||
integer(i4b), intent(inout) | n2, | ||
real(dp), intent(inout), optional | rrate, | ||
real(dp), intent(inout), optional | rhsval, | ||
real(dp), intent(inout), optional | hcofval | ||
) |
Accounts for energy that is added to the model from specifying an infiltration rate and temperature, but is subsequently removed from the model as that portion of the infiltration that is rejected (and NOT transferred to another advanced package via the MVR/MVT packages).
Definition at line 1035 of file gwe-uze.f90.
subroutine gweuzemodule::uze_ritm_term | ( | class(gweuzetype) | this, |
integer(i4b), intent(in) | ientry, | ||
integer(i4b), intent(inout) | n1, | ||
integer(i4b), intent(inout) | n2, | ||
real(dp), intent(inout), optional | rrate, | ||
real(dp), intent(inout), optional | rhsval, | ||
real(dp), intent(inout), optional | hcofval | ||
) |
Accounts for energy that is added to the model from specifying an infiltration rate and temperature, but does not infiltrate into the subsurface. This subroutine is called when the rejected infiltration is transferred to another advanced package via the MVR/MVT packages.
Definition at line 1102 of file gwe-uze.f90.
subroutine gweuzemodule::uze_rp_obs | ( | class(gweuzetype), intent(inout) | this, |
type(observetype), intent(inout) | obsrv, | ||
logical, intent(inout) | found | ||
) |
Method to process specific observations for this package.
[in,out] | this | package class |
[in,out] | obsrv | observation object |
[in,out] | found | indicate whether observation was found |
Definition at line 1238 of file gwe-uze.f90.
subroutine gweuzemodule::uze_set_stressperiod | ( | class(gweuzetype), intent(inout) | this, |
integer(i4b), intent(in) | itemno, | ||
character(len=*), intent(in) | keyword, | ||
logical, intent(inout) | found | ||
) |
Definition at line 1362 of file gwe-uze.f90.
subroutine gweuzemodule::uze_setup_budobj | ( | class(gweuzetype) | this, |
integer(i4b), intent(inout) | idx | ||
) |
Set up the budget object that stores all the unsaturated-zone flows
Definition at line 655 of file gwe-uze.f90.
subroutine gweuzemodule::uze_solve | ( | class(gweuzetype) | this | ) |
There should be no explicit solve for uze. However, if there were, then this subroutine would add terms specific to the unsaturated zone to the explicit unsaturated-zone solve
Definition at line 575 of file gwe-uze.f90.
subroutine gweuzemodule::uze_theq_term | ( | class(gweuzetype) | this, |
integer(i4b), intent(in) | ientry, | ||
integer(i4b), intent(inout) | n1, | ||
integer(i4b), intent(inout) | n2, | ||
real(dp), intent(inout) | rrate | ||
) |
Accounts for the transfer of energy from the liquid phase to the solid phase as a result of the instantaneous thermal equilibrium assumption.
Definition at line 1130 of file gwe-uze.f90.
subroutine gweuzemodule::uze_uzet_term | ( | class(gweuzetype) | this, |
integer(i4b), intent(in) | ientry, | ||
integer(i4b), intent(inout) | n1, | ||
integer(i4b), intent(inout) | n2, | ||
real(dp), intent(inout), optional | rrate, | ||
real(dp), intent(inout), optional | rhsval, | ||
real(dp), intent(inout), optional | hcofval | ||
) |
Accounts for thermal cooling in the unsaturated zone as a result of evapotranspiration from the unsaturated zone. Amount of water converted to vapor phase (UZET) determined by GWF model
Definition at line 1064 of file gwe-uze.f90.
character(len=*), parameter gweuzemodule::flowtype = 'UZF' |
Definition at line 46 of file gwe-uze.f90.
character(len=*), parameter gweuzemodule::ftype = 'UZE' |
Definition at line 45 of file gwe-uze.f90.
character(len=16) gweuzemodule::text = ' UZE' |
Definition at line 47 of file gwe-uze.f90.