MODFLOW 6  version 6.7.0.dev0
USGS Modular Hydrologic Model
gweinputdatamodule Module Reference

Data Types

type  gweinputdatatype
 Data for sharing among multiple packages. Originally read in from. More...
 

Functions/Subroutines

subroutine, public gweshared_dat_cr (gwe_dat)
 Allocate the shared data. More...
 
subroutine, public set_gwe_dat_ptrs (this, gwerhow, gwecpw, gwelatheatvap, gwerhos, gwecps)
 Allocate and read data from EST. More...
 
subroutine set_gwe_scalar_ptrs (this, gwerhow, gwecpw, gwelatheatvap)
 Set pointers to scalars read by the EST package for use by other packages. More...
 
subroutine set_gwe_array_ptrs (this, gwerhos, gwecps)
 Set pointers to data arrays read by the EST package for use by other packages. More...
 
subroutine gweshared_dat_da (this)
 @ brief Deallocate memory More...
 

Function/Subroutine Documentation

◆ gweshared_dat_cr()

subroutine, public gweinputdatamodule::gweshared_dat_cr ( type(gweinputdatatype), pointer  gwe_dat)
Parameters
gwe_datthe input data block

Definition at line 45 of file GweInputData.f90.

46  ! modules
47  ! dummy
48  type(GweInputDataType), pointer :: gwe_dat !< the input data block
49 
50  ! create the object
51  allocate (gwe_dat)
52 
Here is the caller graph for this function:

◆ gweshared_dat_da()

subroutine gweinputdatamodule::gweshared_dat_da ( class(gweinputdatatype this)
private

Set pointers to null

Parameters
thisthe input data block

Definition at line 131 of file GweInputData.f90.

132  ! dummy
133  class(GweInputDataType) :: this !< the input data block
134 
135  ! scalars
136  this%gwelatheatvap => null()
137  this%gwerhow => null()
138  this%gwecpw => null()
139 
140  ! arrays
141  this%gwerhos => null()
142  this%gwecps => null()
143 

◆ set_gwe_array_ptrs()

subroutine gweinputdatamodule::set_gwe_array_ptrs ( class(gweinputdatatype this,
real(dp), dimension(:), intent(in), pointer, contiguous  gwerhos,
real(dp), dimension(:), intent(in), pointer, contiguous  gwecps 
)
private

Set pointers to GWE-related arrays for use by multiple packages

Parameters
thisGweInputDataType object

Definition at line 113 of file GweInputData.f90.

114  ! dummy
115  class(GweInputDataType) :: this !< GweInputDataType object
116  real(DP), dimension(:), pointer, contiguous, intent(in) :: gwerhos
117  real(DP), dimension(:), pointer, contiguous, intent(in) :: gwecps
118 
119  ! set the pointers
120  ! spatially-variable density of aquifer solid material
121  this%gwerhos => gwerhos
122  ! spatially-variable heat capacity of aquifer solid material
123  this%gwecps => gwecps
124 

◆ set_gwe_dat_ptrs()

subroutine, public gweinputdatamodule::set_gwe_dat_ptrs ( class(gweinputdatatype this,
real(dp), intent(in), pointer  gwerhow,
real(dp), intent(in), pointer  gwecpw,
real(dp), intent(in), pointer  gwelatheatvap,
real(dp), dimension(:), pointer, contiguous  gwerhos,
real(dp), dimension(:), pointer, contiguous  gwecps 
)

EST data, including heat capacity of water (cpw), density of water (rhow), latent heat of vaporization (latheatvap), heat capacity of the aquifer material (cps), and density of the aquifer material (rhow) is used among other packages and is therefore stored in a separate class

Parameters
thisthe input data block
[in]gwerhowptr to density of water specified in EST
[in]gwecpwptr to heat capacity of water specified in EST
[in]gwelatheatvapptr to latent heat of vaporization specified in EST
gwerhosptr to sptially-variably density of aquifer material specified in EST
gwecpsptr to sptially-variably heat capacity of aquifer material specified in EST

Definition at line 63 of file GweInputData.f90.

65  ! dummy
66  class(GweInputDataType) :: this !< the input data block
67  real(DP), intent(in), pointer :: gwerhow !< ptr to density of water specified in EST
68  real(DP), intent(in), pointer :: gwecpw !< ptr to heat capacity of water specified in EST
69  real(DP), intent(in), pointer :: gwelatheatvap !< ptr to latent heat of vaporization specified in EST
70  real(DP), dimension(:), pointer, contiguous :: gwerhos !< ptr to sptially-variably density of aquifer material specified in EST
71  real(DP), dimension(:), pointer, contiguous :: gwecps !< ptr to sptially-variably heat capacity of aquifer material specified in EST
72 
73  ! allocate scalars
74  call this%set_gwe_scalar_ptrs(gwerhow, gwecpw, gwelatheatvap)
75 
76  ! allocate arrays
77  call this%set_gwe_array_ptrs(gwerhos, gwecps)
78 
Here is the caller graph for this function:

◆ set_gwe_scalar_ptrs()

subroutine gweinputdatamodule::set_gwe_scalar_ptrs ( class(gweinputdatatype this,
real(dp), intent(in), pointer  gwerhow,
real(dp), intent(in), pointer  gwecpw,
real(dp), intent(in), optional, pointer  gwelatheatvap 
)
private

Set pointers to GWE-related scalars and arrays for use by multiple packages. For example, a package capable of simulating evaporation will need access to latent heat of of vaporization.

Parameters
thisGweInputDataType object
[in]gwerhowdensity of water
[in]gwecpwmass-based heat capacity of water
[in]gwelatheatvaplatent heat of vaporization

Definition at line 89 of file GweInputData.f90.

90  ! dummy
91  class(GweInputDataType) :: this !< GweInputDataType object
92  real(DP), pointer, intent(in) :: gwerhow !< density of water
93  real(DP), pointer, intent(in) :: gwecpw !< mass-based heat capacity of water
94  real(DP), pointer, intent(in), optional :: gwelatheatvap !< latent heat of vaporization
95 
96  ! set the pointers
97  ! fixed density of water to be used by GWE (vs GWT-based density)
98  this%gwerhow => gwerhow
99  ! spatially constant heat capacity of water ! kluge note: "specific heat" (which is heat capacity per unit mass) is probably the more correct term
100  this%gwecpw => gwecpw
101  ! latent heat of vaporization
102  if (present(gwelatheatvap)) then
103  this%gwelatheatvap => gwelatheatvap
104  end if
105