73 & size, xtype, name, url, err )
81 character(len=*),
intent(out),
optional:: xtype
83 character(len=*),
intent(out),
optional:: name
89 character(len=*),
intent(out),
optional:: url
94 integer,
intent(out),
optional:: rank
98 integer,
intent(out),
optional:: alldims
103 integer,
intent(out),
optional:: allcount
108 integer,
intent(out),
optional:: size
113 logical,
intent(out),
optional:: growable
118 logical,
intent(out),
optional:: err
134 if (
present(err)) err = .false.
135 call beginsub(
'gtvarinquire',
'var.mapid=%d', i=(/var%mapid/))
138 case(vtb_class_netcdf)
139 if (
present(xtype) .or.
present(name) .or.
present(url))
then
141 if (
present(xtype))
call dbgmessage(
'xtype=%c', c1=trim(xtype))
142 if (
present(name))
call dbgmessage(
'name=%c', c1=trim(name))
143 if (
present(url))
call dbgmessage(
'url=%c', c1=trim(url))
145 if (
present(growable))
then
147 call dbgmessage(
'growable=%y', l=(/growable/))
151 if (
present(allcount)) allcount = internal_get_allcount(var)
152 if (
present(size))
size = internal_get_size(var)
153 if (
present(rank)) rank = internal_get_rank(var)
154 call endsub(
'gtvarinquire')
166 integer function internal_get_allcount(var)
result(result)
174 call dbgmessage(
'internal_get_allcount: no map')
180 result = product(map(1:nd)%allcount)
181 call dbgmessage(
'internal_get_allcount: %d map.size=%d', &
184 end function internal_get_allcount
186 integer function internal_get_size(var)
result(result)
200 result = product(map(1:nd)%count)
201 call dbgmessage(
'internal_get_size: %d map.size=%d', &
204 end function internal_get_size
206 integer function internal_get_rank(var)
result(result)
221 result = count(map(1:nd)%count > 1)
222 call dbgmessage(
'internal_get_rank: %d', i=(/result/))
224 end function internal_get_rank
251 integer,
intent(out):: allcount(:)
257 call open(v, var, i, count_compact=.true.)
258 call inquire(var, allcount=allcount(i))
261 call endsub(
'gtvarinquire2')
287 character(len=*),
intent(in):: attrname
288 character(len=*),
intent(out),
optional:: xtype
290 character(len = *),
parameter:: subnam =
"gtvarinquireA"
292 call beginsub(subnam,
"%c", c1=trim(attrname))
295 case(vtb_class_netcdf)
329 integer,
intent(in):: dimord
330 character(len=*),
intent(out),
optional:: url
331 integer,
intent(out),
optional:: allcount
332 logical,
intent(out),
optional:: err
334 character(len = *),
parameter:: subnam =
"gtvarinquireD"
336 call beginsub(subnam,
"%d", i=(/dimord/))
337 call open(dimvar, source_var=var, dimord=dimord, err=err)
338 if (
present(url))
call inquire(dimvar, url=url)
339 if (
present(allcount))
call inquire(dimvar, allcount=allcount)
integer function internal_get_alldims(var)
subroutine gtvarinquire(var, growable, rank, alldims, allcount, size, xtype, name, url, err)
subroutine gtvarinquired(var, dimord, url, allcount, err)
subroutine gtvarinquire2(var, allcount)
subroutine gtvarinquirea(var, attrname, xtype)
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 endsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca)
subroutine, public map_lookup(var, vid, map, ndims)
subroutine, public var_class(var, class, cid)