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, 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)