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_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 911 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 637 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 274 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 1259 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 92 of file gwe-uze.f90.
subroutine gweuzemodule::uze_da | ( | class(gweuzetype) | this | ) |
Definition at line 964 of file gwe-uze.f90.
subroutine gweuzemodule::uze_df_obs | ( | class(gweuzetype) | this | ) |
This subroutine:
Definition at line 1164 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 431 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 617 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 990 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 341 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 1031 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 1098 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 1234 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 1298 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 651 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 571 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 1126 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 1060 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.