![]() |
MODFLOW 6
version 6.9.0.dev0
USGS Modular Hydrologic Model
|
Data Types | |
| type | gweuzetype |
Functions/Subroutines | |
| subroutine, public | uze_create (packobj, id, ibcnum, inunit, iout, namemodel, pakname, mempath, fmi, eqnsclfac, gwecommon, dvt, dvu, dvua) |
| Create a new UZE package. More... | |
| subroutine | find_uze_package (this) |
| Find corresponding uze package. More... | |
| real(dp) function | uze_setting_value (this, itemno, key) |
| Value for a package-specific PERIOD setting. 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... | |
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 940 of file gwe-uze.f90.
| subroutine gweuzemodule::area_error | ( | class(gweuzetype) | this, |
| integer(i4b) | iloc | ||
| ) |
Definition at line 1361 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 666 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 303 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 1326 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 1282 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, | ||
| character(len=*), intent(in) | mempath, | ||
| 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] | mempath | input memory path |
| [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 96 of file gwe-uze.f90.

| subroutine gweuzemodule::uze_da | ( | class(gweuzetype) | this | ) |
Definition at line 987 of file gwe-uze.f90.
| subroutine gweuzemodule::uze_df_obs | ( | class(gweuzetype) | this | ) |
This subroutine:
Definition at line 1187 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 460 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 646 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 1013 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 370 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 1054 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 1121 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 1257 of file gwe-uze.f90.
| real(dp) function gweuzemodule::uze_setting_value | ( | class(gweuzetype), intent(inout) | this, |
| integer(i4b), intent(in) | itemno, | ||
| character(len=*), intent(in) | key | ||
| ) |
Already resolved by the input context; this only supplies it for the shared apt_rp table echo.
Definition at line 281 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 680 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 600 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 1149 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 1083 of file gwe-uze.f90.
| character(len=*), parameter gweuzemodule::flowtype = 'UZF' |
Definition at line 48 of file gwe-uze.f90.
| character(len=*), parameter gweuzemodule::ftype = 'UZE' |
Definition at line 47 of file gwe-uze.f90.
| character(len=16) gweuzemodule::text = ' UZE' |
Definition at line 49 of file gwe-uze.f90.