29 character(len=LENMEMPATH) :: memorypath =
''
30 character(len=LENPACKAGENAME),
pointer :: name => null()
31 character(len=LENPACKAGENAME),
pointer :: budtxt => null()
32 character(len=LENAUXNAME),
dimension(:),
pointer, &
33 contiguous :: auxname => null()
34 integer(I4B),
pointer :: naux => null()
35 integer(I4B),
pointer :: nbound => null()
36 integer(I4B),
dimension(:),
pointer,
contiguous :: nodelist => null()
37 real(dp),
dimension(:),
pointer,
contiguous :: flow => null()
38 real(dp),
dimension(:, :),
pointer,
contiguous :: auxvar => null()
61 character(len=*),
intent(in) :: mempath
62 this%memoryPath = mempath
88 character(len=LENPACKAGENAME) :: name
89 character(len=LENPACKAGENAME) :: budtxt
102 integer(I4B),
intent(in) :: naux
103 character(len=LENAUXNAME),
contiguous, &
104 dimension(:),
intent(in) :: auxname
108 this%auxname(:) = auxname(:)
119 subroutine set_pointers(this, flowvarname, mem_path_target, input_mempath)
122 character(len=*),
intent(in) :: flowvarname
123 character(len=*),
intent(in) :: mem_path_target
124 character(len=*),
intent(in) :: input_mempath
125 character(len=LENVARNAME) :: auxvarname
128 if (input_mempath /=
'')
then
129 auxvarname =
'AUXVAR_IDM'
131 auxvarname =
'AUXVAR'
136 'NBOUND', mem_path_target)
138 'NODELIST', mem_path_target)
140 flowvarname, mem_path_target)
142 auxvarname, mem_path_target)
155 integer(I4B),
intent(in) :: nbound
156 integer(I4B),
dimension(:),
contiguous,
intent(in) :: nodelist
157 real(DP),
dimension(:),
contiguous,
intent(in) :: flow
158 real(DP),
dimension(:, :),
contiguous,
intent(in) :: auxvar
166 if (
size(this%nodelist) < nbound)
then
167 call mem_reallocate(this%nodelist, nbound,
'NODELIST', this%memoryPath)
175 this%nodelist(i) = nodelist(i)
176 this%flow(i) = flow(i)
177 this%auxvar(:, i) = auxvar(:, i)
188 integer(I4B),
intent(in) :: i
This module contains simulation constants.
integer(i4b), parameter lenpackagename
maximum length of the package name
integer(i4b), parameter lenvarname
maximum length of a variable name
integer(i4b), parameter lenauxname
maximum length of a aux variable
integer(i4b), parameter lenmempath
maximum length of the memory path
This module defines variable data types.
This module contains the PackageBudgetModule Module.
subroutine set_pointers(this, flowvarname, mem_path_target, input_mempath)
@ brief Point members of this class to data stored in GWF packages
subroutine copy_values(this, nbound, nodelist, flow, auxvar)
@ brief Copy data read from a budget file into this object
subroutine set_auxname(this, naux, auxname)
@ brief Set aux names for this PackageBudgetType object
subroutine initialize(this, mempath)
@ brief Initialize a PackageBudgetType object
real(dp) function get_flow(this, i)
@ brief Get flow rate for specified entry
subroutine set_name(this, name, budtxt)
@ brief Set names for this PackageBudgetType object
subroutine da(this)
@ brief Deallocate
Derived type for storing flows.