14
15
16
17
18
19
20
21
22
23
31 use dc_trace, only: beginsub, endsub, dbgmessage
32 implicit none
33 type(GT_VARIABLE), intent(in), target:: var
34 logical, intent(out), optional:: err
35 integer:: vid, class, cid
36 logical:: action, myerr
37continue
38 call beginsub('gtvarclose', fmt='var=%d', i=(/var%mapid/))
41 if (myerr) goto 999
42
43 if (vid == 0) goto 999
46 if (myerr) goto 999
47 if (.not. action) then
48 call dbgmessage('refcount decrement only, no close internal var')
49 goto 999
52 if (myerr) goto 999
53 else
55 call endsub('GTVarClose', 'badvar')
56 myerr = .true.
57 endif
58999 continue
59 call endsub('gtvarclose')
60 if (present(err)) err = myerr
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public gt_ebadvar
integer, parameter, public dc_noerr
subroutine, public map_lookup(var, vid, map, ndims)
subroutine, public maptabdelete(var, err)
subroutine, public vartabledelete(vid, action, err)
subroutine, public vartablelookup(vid, class, cid)
integer, parameter, public vtb_class_netcdf