36 logical(LGP) :: ts_active
49 subroutine ainit(this, mf6_input, component_name, component_input_name, &
50 input_name, iperblock, parser, iout)
57 character(len=*),
intent(in) :: component_name
58 character(len=*),
intent(in) :: component_input_name
59 character(len=*),
intent(in) :: input_name
60 integer(I4B),
intent(in) :: iperblock
62 integer(I4B),
intent(in) :: iout
64 character(len=LINELENGTH) :: fname
65 integer(I4B) :: ts6_size, n
68 call this%DynamicPkgLoadType%init(mf6_input, component_name, &
69 component_input_name, input_name, &
72 this%ts_active = .false.
75 allocate (this%tsmanager)
79 call this%static_loader%load(parser, mf6_input, this%nc_vars, &
80 this%input_name, iout)
83 if (this%static_loader%ts_active)
then
84 this%ts_active = .true.
85 call get_isize(
'TS6_FILENAME', mf6_input%mempath, ts6_size)
86 if (ts6_size > 0)
then
87 call mem_setptr(ts_fnames,
'TS6_FILENAME', mf6_input%mempath)
88 do n = 1,
size(ts_fnames)
90 call this%tsmanager%add_tsfile(fname,
getunit())
96 call this%ctx%init(mf6_input)
99 call this%ctx%tags(this%param_names, this%nparam, this%input_name)
102 call this%create_structarray()
105 call this%ctx%allocate_arrays()
114 call this%tsmanager%tsmanager_df()
116 do n = 1, this%static_loader%ts_sa_count()
117 sa => this%static_loader%get_ts_sa(n)
118 if (
associated(sa))
then
119 call sa%ts_update(this%tsmanager, &
120 this%mf6_input%subcomponent_name, &
121 this%ctx%iprpak, this%input_name, &
122 this%ctx%auxname_cst, &
123 clear_strlocs=.false.)
131 call this%tsmanager%ad()
140 call this%tsmanager%reset(this%mf6_input%subcomponent_name)
142 if (this%ts_active)
then
143 do n = 1, this%static_loader%ts_sa_count()
144 sa => this%static_loader%get_ts_sa(n)
145 if (
associated(sa))
then
146 call sa%ts_update(this%tsmanager, &
147 this%mf6_input%subcomponent_name, &
148 this%ctx%iprpak, this%input_name, &
149 this%ctx%auxname_cst, &
150 clear_strlocs=.false.)
156 subroutine rp(this, parser)
163 integer(I4B) :: ibinary
164 integer(I4B) :: oc_inunit
171 this%mf6_input%subcomponent_name, this%iout)
173 if (ibinary == 1)
then
175 this%structarray%read_from_binary(oc_inunit, this%iout)
176 call parser%terminateblock()
180 this%structarray%read_from_parser(parser, this%ts_active, this%iout, &
185 if (this%ts_active)
then
186 call this%structarray%ts_update(this%tsmanager, &
187 this%mf6_input%subcomponent_name, &
188 this%ctx%iprpak, this%input_name, &
189 this%ctx%auxname_cst)
194 this%mf6_input%subcomponent_name, this%iout)
201 call this%static_loader%cleanup()
204 call this%tsmanager%da()
205 deallocate (this%tsmanager)
206 nullify (this%tsmanager)
210 call this%ctx%destroy()
222 this%ctx%maxbound, 0, &
223 this%mf6_input%mempath, &
224 this%mf6_input%component_mempath)
226 do icol = 1, this%nparam
228 this%mf6_input%component_type, &
229 this%mf6_input%subcomponent_type, &
231 this%param_names(icol), this%input_name)
233 call this%structarray%mem_create_vector(icol, idt)
This module contains block parser methods.
This module contains simulation constants.
integer(i4b), parameter linelength
maximum length of a standard line
This module contains the DefinitionSelectModule.
type(inputparamdefinitiontype) function, pointer, public get_param_definition_type(input_definition_types, component_type, subcomponent_type, blockname, tagname, filename, found)
Return parameter definition.
This module contains the Input Data Model Logger Module.
subroutine, public idm_log_close(component, subcomponent, iout)
@ brief log the closing message
subroutine, public idm_log_header(component, subcomponent, iout)
@ brief log a header message
This module defines variable data types.
This module contains the ListLoadModule.
subroutine ainit(this, mf6_input, component_name, component_input_name, input_name, iperblock, parser, iout)
subroutine rp(this, parser)
subroutine create_structarray(this)
This module contains the LoadContextModule.
This module contains the LoadMf6FileModule.
integer(i4b) function, public read_control_record(parser, oc_inunit, iout)
subroutine, public get_isize(name, mem_path, isize)
@ brief Get the number of elements for this variable
This module contains the StructArrayModule.
type(structarraytype) function, pointer, public constructstructarray(mf6_input, ncol, nrow, blocknum, mempath, component_mempath)
constructor for a struct_array
subroutine, public destructstructarray(struct_array)
destructor for a struct_array
This module contains the StructVectorModule.
subroutine, public tsmanager_cr(this, iout, removeTsLinksOnCompletion, extendTsToEndOfSimulation)
Create the tsmanager.
This class is used to store a single deferred-length character string. It was designed to work in an ...
list input loader for dynamic packages.
derived type for boundary package input context
Static parser based input loader.
type for structured array
derived type for generic vector