393 class(KeystringLoadType),
intent(inout) :: this
394 integer(I4B),
pointer :: nbound => null()
395 integer(I4B),
dimension(:),
pointer,
contiguous :: period_ifno => null()
396 type(CharacterStringType),
dimension(:),
pointer,
contiguous :: &
397 period_setting => null()
398 type(CharacterStringType),
dimension(:),
pointer,
contiguous :: &
399 period_auxname => null()
400 type(CharacterStringType),
dimension(:),
pointer,
contiguous :: &
402 real(DP),
dimension(:, :),
pointer,
contiguous :: aux => null()
403 real(DP),
pointer :: bndElem
404 type(InputParamDefinitionType),
pointer :: idt
405 type(TSStringLocType),
pointer :: ts_strloc
406 integer(I4B) :: i, n, ifno, jj, isize, naux, nfeatures, sa_icol, k, nts
407 logical(LGP) :: found
408 logical(LGP),
dimension(:),
allocatable :: handled
409 character(len=LINELENGTH) :: setting, auxname, thisauxname
410 character(len=LENVARNAME) :: ifno_tagname
412 call get_isize(
'AUXILIARY', this%mf6_input%mempath, naux)
413 if (naux <= 0)
return
415 call get_isize(
'NBOUND', this%mf6_input%mempath, isize)
416 if (isize < 1)
return
417 call mem_setptr(nbound,
'NBOUND', this%mf6_input%mempath)
418 if (nbound <= 0)
return
420 call get_isize(
'AUXNAME', this%mf6_input%mempath, isize)
421 if (isize < 1)
return
426 this%mf6_input%component_type, &
427 this%mf6_input%subcomponent_type, &
428 this%ctx%blockname, &
429 this%param_names(1), &
431 ifno_tagname = trim(idt%tagname)
436 this%mf6_input%component_type, &
437 this%mf6_input%subcomponent_type, &
438 this%ctx%blockname,
'AUXILIARY', &
441 call mem_setptr(period_ifno,
'IFNO', this%mf6_input%mempath)
442 call mem_setptr(period_setting,
'SETTING', this%mf6_input%mempath)
443 call mem_setptr(period_auxname,
'AUXNAME', this%mf6_input%mempath)
444 call mem_setptr(auxnames,
'AUXILIARY', this%mf6_input%mempath)
445 call mem_setptr(aux,
'AUX', this%mf6_input%mempath)
446 nfeatures =
size(aux, 2)
449 do n = 1, this%structarray%count()
450 if (is_auxval(this%structarray%struct_vectors(n)%idt))
then
455 if (sa_icol == 0)
return
457 allocate (handled(nbound))
461 nts = this%structarray%struct_vectors(sa_icol)%ts_strlocs%count()
463 ts_strloc => this%structarray%struct_vectors(sa_icol)%get_ts_strloc(k)
465 ifno = period_ifno(i)
466 if (.not. this%valid_address(ifno, nfeatures, ifno_tagname, i)) cycle
467 auxname = period_auxname(i)
468 jj = find_auxname_index(auxname, auxnames, naux)
470 thisauxname = auxnames(jj)
471 bndelem => aux(jj, ifno)
472 call read_value_or_time_series_adv(ts_strloc%token, ifno, jj, bndelem, &
473 this%mf6_input%subcomponent_name, &
474 'AUX', this%tsmanager, &
475 this%ctx%iprpak, trim(thisauxname))
481 if (handled(i)) cycle
482 setting = period_setting(i)
483 if (trim(setting) /= trim(idt%mf6varname)) cycle
484 ifno = period_ifno(i)
485 if (.not. this%valid_address(ifno, nfeatures, ifno_tagname, i)) cycle
486 auxname = period_auxname(i)
487 jj = find_auxname_index(auxname, auxnames, naux)
489 thisauxname = auxnames(jj)
490 found = remove_existing_link(this%tsmanager, ifno, jj, &
491 this%mf6_input%subcomponent_name, &
492 'AUX', trim(thisauxname))
493 aux(jj, ifno) = this%structarray%struct_vectors(sa_icol)%dbl1d(i)
499 call this%structarray%struct_vectors(sa_icol)%clear()
This module contains the StructVectorModule.
derived type which describes time series string field