13 subroutine gtvarinquire(var, growable, rank, alldims, allcount, &
14 & size, xtype, name, url, err )
40 use dc_trace
, only: beginsub, endsub, dbgmessage
42 type(gt_variable),
intent(in):: var
43 character(len=*),
intent(out),
optional:: xtype
45 character(len=*),
intent(out),
optional:: name
51 character(len=*),
intent(out),
optional:: url
56 integer,
intent(out),
optional:: rank
60 integer,
intent(out),
optional:: alldims
65 integer,
intent(out),
optional:: allcount
70 integer,
intent(out),
optional:: size
75 logical,
intent(out),
optional:: growable
80 logical,
intent(out),
optional:: err
96 call beginsub(
'gtvarinquire',
'var.mapid=%d', i=(/var%mapid/))
99 case(vtb_class_netcdf)
100 if (
present(xtype) .or.
present(name) .or.
present(url))
then 102 if (
present(xtype))
call dbgmessage(
'xtype=%c', c1=trim(xtype))
103 if (
present(name))
call dbgmessage(
'name=%c', c1=trim(name))
104 if (
present(url))
call dbgmessage(
'url=%c', c1=trim(url))
106 if (
present(growable))
then 108 call dbgmessage(
'growable=%y', l=(/growable/))
115 call endsub(
'gtvarinquire')
122 type(gt_variable),
intent(in):: var
124 call dbgmessage(
'alldims=%d', i=(/result/))
130 type(gt_variable),
intent(in):: var
135 call dbgmessage(
'internal_get_allcount: no map')
141 result = product(map(1:nd)%allcount)
142 call dbgmessage(
'internal_get_allcount: %d map.size=%d', &
150 type(gt_variable),
intent(in):: var
155 call dbgmessage(
'internal_get_size: no map')
161 result = product(map(1:nd)%count)
162 call dbgmessage(
'internal_get_size: %d map.size=%d', &
170 type(gt_variable),
intent(in):: var
176 call dbgmessage(
'internal_get_rank: no map')
182 result = count(map(1:nd)%count > 1)
183 call dbgmessage(
'internal_get_rank: %d', i=(/result/))
200 use dc_trace
, only: beginsub, endsub
201 type(gt_variable),
intent(in):: var
202 integer,
intent(out):: allcount(:)
204 type(gt_variable):: v
205 call beginsub(
'gtvarinquire2')
208 call open(v, var, i, count_compact=.true.)
209 call inquire(var, allcount=allcount(i))
212 call endsub(
'gtvarinquire2')
226 use dc_trace
, only: beginsub, endsub
229 type(gt_variable),
intent(in):: var
230 character(len=*),
intent(in):: attrname
231 character(len=*),
intent(out),
optional:: xtype
233 character(len = *),
parameter:: subnam =
"gtvarinquireA" 235 call beginsub(subnam,
"%c", c1=trim(attrname))
238 case(vtb_class_netcdf)
253 use dc_trace
, only: beginsub, endsub
255 type(gt_variable),
intent(in):: var
256 integer,
intent(in):: dimord
257 character(len=*),
intent(out),
optional:: url
258 integer,
intent(out),
optional:: allcount
259 logical,
intent(out),
optional:: err
260 type(gt_variable):: dimvar
261 character(len = *),
parameter:: subnam =
"gtvarinquireD" 263 call beginsub(subnam,
"%d", i=(/dimord/))
264 call open(dimvar, source_var=var, dimord=dimord, err=err)
265 if (
present(url))
call inquire(dimvar, url=url)
266 if (
present(allcount))
call inquire(dimvar, allcount=allcount)
subroutine gtvarinquire2(var, allcount)
subroutine gtvarinquire(var, growable, rank, alldims, allcount, size, xtype, name, url, err)
integer function internal_get_size(var)
integer function internal_get_allcount(var)
integer function internal_get_alldims(var)
subroutine, public map_lookup(var, vid, map, ndims)
subroutine gtvarinquirea(var, attrname, xtype)
subroutine, public var_class(var, class, cid)
integer function internal_get_rank(var)
subroutine gtvarinquired(var, dimord, url, allcount, err)