MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
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 gweshared_dat_df (this, nodes)
 Define the shared data. More...
 
subroutine allocate_shared_vars (this, nodes)
 Define the information this object holds. More...
 
subroutine, public set_gwe_dat_ptrs (this, gwerhow, gwecpw, gwerhos, gwecps, gwelatheatvap)
 Allocate and read data from EST. More...
 
subroutine set_gwe_shared_scalars (this, gwerhow, gwecpw, gwelatheatvap)
 Set pointers to scalars read by the EST package for use by other packages. More...
 
subroutine set_gwe_shared_arrays (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

◆ allocate_shared_vars()

subroutine gweinputdatamodule::allocate_shared_vars ( class(gweinputdatatype this,
integer(i4b), intent(in)  nodes 
)
private

Allocate strings for storing label names Intended to be analogous to allocate_scalars()

Parameters
thisTspLabelsType object

Definition at line 80 of file GweInputData.f90.

81  ! -- dummy
82  class(GweInputDataType) :: this !< TspLabelsType object
83  integer(I4B), intent(in) :: nodes
84  ! -- local
85  integer(I4B) :: i
86  !
87  allocate (this%gwecpw)
88  allocate (this%gwerhow)
89  allocate (this%gwelatheatvap)
90  allocate (this%gwerhos(nodes))
91  allocate (this%gwecps(nodes))
92  !
93  ! -- Initialize values
94  this%gwecpw = dzero
95  this%gwerhow = dzero
96  this%gwelatheatvap = dzero
97  do i = 1, nodes
98  this%gwecps(i) = dzero
99  this%gwerhos(i) = dzero
100  end do
101  !
102  ! -- Return
103  return

◆ gweshared_dat_cr()

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

Definition at line 48 of file GweInputData.f90.

49  ! -- modules
50  ! -- dummy
51  type(GweInputDataType), pointer :: gwe_dat !< the input data block
52  !
53  ! -- Create the object
54  allocate (gwe_dat)
55  !
56  ! -- Return
57  return
Here is the caller graph for this function:

◆ gweshared_dat_da()

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

Deallocate GWE shared data array memory

Parameters
thisthe input data block

Definition at line 194 of file GweInputData.f90.

195  ! -- dummy
196  class(GweInputDataType) :: this !< the input data block
197  !
198  ! -- Scalars
199  deallocate (this%gwelatheatvap)
200  deallocate (this%gwerhow)
201  deallocate (this%gwecpw)
202  !
203  ! -- Arrays
204  deallocate (this%gwerhos)
205  deallocate (this%gwecps)
206  !
207  ! -- Return
208  return

◆ gweshared_dat_df()

subroutine, public gweinputdatamodule::gweshared_dat_df ( class(gweinputdatatype this,
integer(i4b), intent(in)  nodes 
)
Parameters
thisthe input data block

Definition at line 62 of file GweInputData.f90.

63  ! -- dummy
64  class(GweInputDataType) :: this !< the input data block
65  integer(I4B), intent(in) :: nodes
66  ! -- local
67  !
68  ! -- Allocate variables
69  call this%allocate_shared_vars(nodes)
70  !
71  ! -- Return
72  return
Here is the caller graph for this function:

◆ set_gwe_dat_ptrs()

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

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]gwerhosptr to sptially-variably density of aquifer material specified in EST
[in]gwecpsptr to sptially-variably heat capacity of aquifer material specified in EST
[in]gwelatheatvapptr to latent heat of vaporization specified in EST

Definition at line 113 of file GweInputData.f90.

115  ! -- dummy
116  class(GweInputDataType) :: this !< the input data block
117  real(DP), intent(in) :: gwerhow !< ptr to density of water specified in EST
118  real(DP), intent(in) :: gwecpw !< ptr to heat capacity of water specified in EST
119  real(DP), intent(in) :: gwerhos !< ptr to sptially-variably density of aquifer material specified in EST
120  real(DP), intent(in) :: gwecps !< ptr to sptially-variably heat capacity of aquifer material specified in EST
121  real(DP), intent(in), optional :: gwelatheatvap !< ptr to latent heat of vaporization specified in EST
122  !
123  ! -- Allocate scalars
124  if (present(gwelatheatvap)) then
125  call this%set_gwe_shared_scalars(gwerhow, gwecpw, gwelatheatvap)
126  else
127  call this%set_gwe_shared_scalars(gwerhow, gwecpw)
128  end if
129  !
130  ! -- Allocate arrays
131  call this%set_gwe_shared_arrays(gwerhos, gwecps)
132  !
133  ! -- Return
134  return
Here is the caller graph for this function:

◆ set_gwe_shared_arrays()

subroutine gweinputdatamodule::set_gwe_shared_arrays ( class(gweinputdatatype this,
real(dp), intent(in)  gwerhos,
real(dp), intent(in)  gwecps 
)
private

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

Parameters
thisGweInputDataType object

Definition at line 173 of file GweInputData.f90.

174  ! -- dummy
175  class(GweInputDataType) :: this !< GweInputDataType object
176  real(DP), intent(in) :: gwerhos
177  real(DP), intent(in) :: gwecps
178  ! -- local
179  !
180  ! -- Set the pointers
181  ! -- Spatially-variable density of aquifer solid material
182  this%gwerhos = gwerhos
183  ! -- Spatially-variable heat capacity of aquifer solid material
184  this%gwecps = gwecps
185  !
186  ! -- Return
187  return

◆ set_gwe_shared_scalars()

subroutine gweinputdatamodule::set_gwe_shared_scalars ( class(gweinputdatatype this,
real(dp), intent(in)  gwerhow,
real(dp), intent(in)  gwecpw,
real(dp), intent(in), optional  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

Definition at line 145 of file GweInputData.f90.

146  ! -- dummy
147  class(GweInputDataType) :: this !< GweInputDataType object
148  real(DP), intent(in) :: gwerhow
149  real(DP), intent(in) :: gwecpw
150  real(DP), intent(in), optional :: gwelatheatvap
151  ! -- local
152  !
153  ! -- Set the pointers
154  ! -- Fixed density of water to be used by GWE
155  this%gwerhow = gwerhow
156  ! -- Spatially constant heat capacity of water ! kluge note: "specific heat" (which is heat capacity per unit mass) is probably the more correct term
157  this%gwecpw = gwecpw
158  ! -- Latent heat of vaporization
159  if (present(gwelatheatvap)) then
160  this%gwelatheatvap = gwelatheatvap
161  end if
162  !
163  ! -- Return
164  return