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
47 type(gt_variable),
intent(out):: var
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/))
subroutine gtvar_dump(var)
integer, parameter, public gt_enotvar
integer, parameter, public gt_efake
subroutine, public map_create(var, class, cid, ndims, allcount, stat)
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_noerr
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Provides kind type parameter values.
integer, parameter, public string
Character length for string.