219 class(GridArrayLoadType),
intent(inout) :: this
220 type(BlockParserType),
intent(in) :: parser
221 type(InputParamDefinitionType),
intent(in) :: idt
222 character(len=*),
intent(in) :: mempath
223 logical(LGP),
intent(in) :: layered
224 logical(LGP),
intent(in) :: netcdf
225 real(DP),
dimension(:),
pointer,
contiguous :: dbl1d, nodes
226 real(DP),
dimension(:, :),
pointer,
contiguous :: dbl2d
227 integer(I4B),
dimension(:),
allocatable :: layer_shape
228 integer(I4B) :: iaux, iparam, n, nlay, nnode
232 select case (idt%datatype)
234 call mem_setptr(dbl1d, idt%mf6varname, mempath)
235 allocate (nodes(this%ctx%nodes))
238 this%mf6_input, this%nc_vars, this%input_name, &
240 else if (layered)
then
244 call read_dbl1d(parser, nodes, idt%mf6varname)
247 call idm_log_var(nodes, idt%tagname, mempath, this%iout)
249 do n = 1, this%ctx%nodes
252 dbl1d(nnode) = nodes(n)
253 if (this%ctx%nbound == 0)
then
254 this%nodeulist(nnode) = n
255 else if (this%nodeulist(nnode) /= n)
then
256 write (errmsg,
'(a,i0)')
'Grid input position mismatch param='// &
257 trim(idt%tagname)//
', period=',
kper
258 call store_error(errmsg)
259 call store_error_filename(this%input_name)
265 call mem_setptr(dbl2d, idt%mf6varname, mempath)
266 allocate (nodes(this%ctx%nodes))
270 this%mf6_input, this%nc_vars, this%input_name, &
271 this%iout,
kper, iaux)
272 else if (layered)
then
276 call read_dbl1d(parser, nodes, idt%mf6varname)
279 call idm_log_var(nodes, idt%tagname, mempath, this%iout)
281 do n = 1, this%ctx%nodes
284 dbl2d(iaux, nnode) = nodes(n)
285 if (this%ctx%nbound == 0)
then
286 this%nodeulist(nnode) = n
287 else if (this%nodeulist(nnode) /= n)
then
288 write (errmsg,
'(a,i0)')
'Grid input position mismatch param='// &
289 trim(idt%tagname)//
', period=',
kper
290 call store_error(errmsg)
291 call store_error_filename(this%input_name)
297 errmsg =
'IDM unimplemented. GridArrayLoad::param_load &
298 &datatype='//trim(idt%datatype)
299 call store_error(errmsg)
300 call store_error_filename(this%input_name)
304 if (this%ctx%nbound == 0) this%ctx%nbound = nnode
307 iparam =
ifind(this%param_names, idt%tagname)
309 this%param_reads(iparam)%invar = 1
This module contains simulation constants.
real(dp), parameter dnodata
real no data constant
This module contains the DefinitionSelectModule.
type(inputparamdefinitiontype) function, pointer, public get_param_definition_type(input_definition_types, component_type, subcomponent_type, blockname, tagname, filename)
Return parameter definition.
subroutine, public read_dbl1d(parser, dbl1d, aname)
subroutine, public read_dbl2d(parser, dbl2d, 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)
subroutine, public get_shape_from_string(shape_string, array_shape, memoryPath)
integer(i4b), pointer, public kper
current stress period number