216 class(GridArrayLoadType),
intent(inout) :: this
217 type(BlockParserType),
intent(in) :: parser
218 type(InputParamDefinitionType),
intent(in) :: idt
219 character(len=*),
intent(in) :: mempath
220 logical(LGP),
intent(in) :: layered
221 logical(LGP),
intent(in) :: netcdf
222 integer(I4B),
intent(in) :: iaux
223 real(DP),
dimension(:),
pointer,
contiguous :: dbl1d, nodes
224 real(DP),
dimension(:, :),
pointer,
contiguous :: dbl2d
225 integer(I4B),
dimension(:),
allocatable :: layer_shape
226 integer(I4B) :: iparam, n, nlay, nnode
230 select case (idt%datatype)
232 call mem_setptr(dbl1d, idt%mf6varname, mempath)
233 allocate (nodes(this%ctx%nodes))
236 this%mf6_input, this%nc_vars, this%input_name, &
238 else if (layered)
then
242 call read_dbl1d(parser, nodes, idt%mf6varname)
245 call idm_log_var(nodes, idt%tagname, mempath, this%iout)
247 if (this%ctx%nbound > 0)
then
249 do n = 1, this%ctx%nbound
250 dbl1d(n) = nodes(this%nodeulist(n))
254 do n = 1, this%ctx%nodes
257 if (nnode > this%ctx%maxbound)
then
258 write (errmsg,
'(a,i0,a)') &
259 'Input error: number of defined (non-DNODATA) cells &
260 &exceeds MAXBOUND=', this%ctx%maxbound,
'.'
261 call store_error(errmsg)
262 call store_error_filename(this%input_name)
264 dbl1d(nnode) = nodes(n)
265 this%nodeulist(nnode) = n
268 this%ctx%nbound = nnode
272 call mem_setptr(dbl2d, idt%mf6varname, mempath)
273 allocate (nodes(this%ctx%nodes))
277 this%mf6_input, this%nc_vars, this%input_name, &
278 this%iout,
kper, iaux)
279 else if (layered)
then
283 call read_dbl1d(parser, nodes, idt%mf6varname)
286 call idm_log_var(nodes, idt%tagname, mempath, this%iout)
288 if (this%ctx%nbound > 0)
then
290 do n = 1, this%ctx%nbound
291 dbl2d(iaux, n) = nodes(this%nodeulist(n))
295 do n = 1, this%ctx%nodes
298 if (nnode > this%ctx%maxbound)
then
299 write (errmsg,
'(a,i0,a)') &
300 'Input error: number of defined (non-DNODATA) cells &
301 &exceeds MAXBOUND=', this%ctx%maxbound,
'.'
302 call store_error(errmsg)
303 call store_error_filename(this%input_name)
305 dbl2d(iaux, nnode) = nodes(n)
306 this%nodeulist(nnode) = n
309 this%ctx%nbound = nnode
313 errmsg =
'IDM unimplemented. GridArrayLoad::param_load &
314 &datatype='//trim(idt%datatype)
315 call store_error(errmsg)
316 call store_error_filename(this%input_name)
320 iparam =
ifind(this%param_names, idt%tagname)
322 this%param_reads(iparam)%invar = 1
This module contains simulation constants.
real(dp), parameter dnodata
real no data constant
subroutine, public read_dbl1d(parser, dbl1d, aname)
This module contains the Input Data Model Logger Module.
subroutine, public read_dbl1d_layered(parser, dbl1d, aname, nlay, layer_shape)
This module contains the SourceCommonModule.
subroutine, public get_layered_shape(mshape, nlay, layer_shape)
integer(i4b), pointer, public kper
current stress period number