32 & nf90_einval, nf90_enotvar
37 integer,
intent(in),
optional:: dimord
38 logical,
intent(out),
optional:: err
39 integer,
intent(out),
optional:: stat
41 integer:: mystat, vid, id, nd, idim_lo, idim_hi, ilast
44 if (
present(dimord))
call dbgmessage(
'dimord=%d', i=(/dimord/))
52 call dbgmessage(
'dimension map not associated')
59 if (
present(dimord))
then 60 if (dimord < 0 .or. dimord <=
size(map))
then 61 call dbgmessage(
'dimord=%d is out of 1..%d', i=(/dimord,
size(map)/))
71 call dbgmessage(
'idim scan range=(%d:%d)', i=(/idim_lo, idim_hi/))
74 do, id = idim_lo, idim_hi
75 ilast = map(id)%start + (map(id)%count * 2 - 1) * map(id)%stride
77 & i=(/ilast, map(id)%allcount/))
78 if (ilast >= 1 .and. ilast <= map(id)%allcount)
then 79 map(id)%start = map(id)%start + map(id)%count * map(id)%stride
91 if (
present(stat))
then 93 if (
present(err)) err = (mystat /=
dc_noerr)
97 call endsub(
'gtvarslicenext',
'stat=%d', i=(/mystat/))
integer, parameter, public gt_efake
subroutine map_set(var, map, stat)
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_noerr
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
subroutine, public beginsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca, version)
subroutine gtvarslicenext(var, dimord, err, stat)
subroutine, public map_lookup(var, vid, map, ndims)
integer, parameter, public gt_enomoredims
subroutine, public endsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca)