MODFLOW 6
version 6.5.0.dev2
MODFLOW 6 Code Documentation
|
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 938 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 658 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 280 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 1315 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 997 of file gwe-uze.f90.
subroutine gweuzemodule::uze_df_obs | ( | class(gweuzetype) | this | ) |
This subroutine:
Definition at line 1215 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 443 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 635 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 1026 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 350 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 1070 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 1143 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 1288 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 1357 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 672 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 586 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 1174 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 1102 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.