16 real(dp),
public :: tatime
17 real(dp),
dimension(:),
pointer,
contiguous,
public :: taarray => null()
24 procedure,
public :: da =>
ta_da
42 character(len=*),
intent(in) :: modelname
44 integer(I4B),
dimension(:),
contiguous, &
46 character(len=LENMEMPATH) :: mempath
59 if (
size(mshape) == 2)
then
61 else if (
size(mshape) == 3)
then
62 isize = mshape(2) * mshape(3)
64 errmsg =
'Time array series is not supported for discretization type'
69 allocate (newta%taArray(isize))
76 class(*),
pointer,
intent(inout) :: obj
81 if (.not.
associated(obj))
return
93 type(
listtype),
intent(inout) :: list
96 class(*),
pointer :: obj
106 type(
listtype),
intent(inout) :: list
107 integer(I4B),
intent(in) :: indx
111 class(*),
pointer :: obj
113 obj => list%GetItem(indx)
123 deallocate (this%taArray)
124 this%taArray => null()
This module contains simulation constants.
integer(i4b), parameter lenmempath
maximum length of the memory path
This module defines variable data types.
character(len=lenmempath) function create_mem_path(component, subcomponent, context)
returns the path to the memory object
This module contains simulation methods.
subroutine, public store_error(msg, terminate)
Store an error message.
This module contains simulation variables.
character(len=maxcharlen) errmsg
error message string
type(timearraytype) function, pointer, public castastimearraytype(obj)
Cast an unlimited polymorphic object as TimeArrayType.
type(timearraytype) function, pointer, public gettimearrayfromlist(list, indx)
Retrieve a time array from a list.
subroutine, public constructtimearray(newTa, modelname)
Construct time array.
subroutine, public addtimearraytolist(list, timearray)
Add a time array to a to list.
subroutine ta_da(this)
Deallocate memory.
A generic heterogeneous doubly-linked list.