35 use dc_string,
only: strhead
38 use gtdata_generic,
only: limit
44 use dc_trace,
only: beginsub, endsub
45 use dc_present,
only: present_and_true
48 character(*),
intent(in):: url
49 logical,
intent(in),
optional:: writable
50 logical,
intent(out),
optional:: err
51 integer:: ndims, stat, cause_i
52 character(STRING):: cause_c
53 integer,
allocatable:: dimlen(:)
55 character(STRING):: filevar, iorange
56 character(*),
parameter:: subname =
"GTVarOpen"
57 character(*),
parameter:: version = &
59 &
'$Id: gtvaropen.f90,v 1.4 2009-05-25 09:55:57 morikawa Exp $'
61 call beginsub(subname, fmt=
'<%c>', c1=trim(url), version=version)
67 call open(gdnc, filevar, writable, err)
68 if ( present_and_true(err) )
then
73 allocate(dimlen(max(1, ndims)))
74 call inquire(gdnc, dimlen=dimlen)
75 call map_create(var, vtb_class_netcdf, gdnc%id, ndims, dimlen, stat)
81 call limit(var, trim(iorange))
84 call storeerror(stat, subname, err, cause_c = cause_c, cause_i = cause_i)
85 call endsub(subname,
'mapid=%d', i=(/var%mapid/))