51 use netcdf
, only: nf90_fill_int
52 use dc_string
, only: stoi
56 type(gt_variable),
intent(in):: var
57 character(len = *),
intent(in):: attrname
58 integer,
intent(out):: value
59 integer,
intent(in),
optional:: default
60 integer:: stat, buffer(1),
class, cid
61 character(STRING):: cbuffer
65 if (
class == vtb_class_netcdf)
then 75 if (
present(default))
value = default
84 use dc_string
, only: stod
85 use netcdf
, only: nf90_fill_float
88 type(gt_variable),
intent(in):: var
89 character(len = *),
intent(in):: attrname
90 real,
intent(out):: value
91 real,
intent(in),
optional:: default
94 character(STRING):: cbuffer
99 if (
class == vtb_class_netcdf)
then 101 & stat=stat, default=default)
109 if (
present(default))
then 112 value = nf90_fill_float
121 use dc_string
, only: stod
124 use netcdf
, only: nf90_fill_double
127 type(gt_variable),
intent(in):: var
128 character(len = *),
intent(in):: attrname
129 real(DP),
intent(out):: value
130 real(DP),
intent(in),
optional:: default
133 character(STRING):: cbuffer
139 case (vtb_class_netcdf)
141 & stat=stat, default=default)
149 value = nf90_fill_double
150 if (
present(default))
value = default
163 use dc_string
, only: get_array
166 type(gt_variable),
intent(in):: var
167 character(len = *),
intent(in):: name
168 integer,
pointer::
value(:)
169 integer:: stat,
class, cid
170 character(STRING):: cbuffer
174 if (
class == vtb_class_netcdf)
then 179 allocate(value(stat))
181 if (stat < 1)
deallocate(
value)
192 use dc_string
, only: get_array
196 type(gt_variable),
intent(in):: var
197 character(len = *),
intent(in):: name
198 real,
pointer::
value(:)
199 integer:: stat,
class, cid
200 character(STRING):: cbuffer
204 if (
class == vtb_class_netcdf)
then 209 allocate(value(stat))
211 if (stat < 1)
deallocate(
value)
225 use dc_string
, only: get_array
228 type(gt_variable),
intent(in):: var
229 character(len = *),
intent(in):: name
230 real(DP),
pointer::
value(:)
231 integer:: stat,
class, cid
232 character(STRING):: cbuffer
236 if (
class == vtb_class_netcdf)
then 241 allocate(value(stat))
243 if (stat < 1)
deallocate(
value)
255 use gtdata_generic
, only: friend => get_attr
261 type(gt_variable),
intent(in):: var
262 character(len = *),
intent(in):: name
263 integer,
intent(out)::
value(:)
264 integer,
intent(in):: default
265 integer,
pointer:: ptr(:)
266 integer:: n, stat,
class, cid
269 if (
class == vtb_class_netcdf)
then 278 use gtdata_generic
, only: friend => get_attr
284 type(gt_variable),
intent(in):: var
285 character(len = *),
intent(in):: name
286 real,
intent(out)::
value(:)
287 real,
intent(in):: default
288 real,
pointer:: ptr(:)
289 integer:: n,
class, cid, stat
292 if (
class == vtb_class_netcdf)
then 301 use gtdata_generic
, only: friend => get_attr
308 type(gt_variable),
intent(in):: var
309 character(len = *),
intent(in):: name
310 real(DP),
intent(out)::
value(:)
311 real(DP),
intent(in):: default
312 real(DP),
pointer:: ptr(:)
313 integer:: n, stat,
class, cid
316 if (
class == vtb_class_netcdf)
then
subroutine gtvargetattrip(var, name, value)
integer, parameter, public gt_enotvar
subroutine gtvargetattrda(var, name, value, default)
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public gt_ebadvar
subroutine gtvargetattrr(var, attrname, value, default)
subroutine gtvargetattrra(var, name, value, default)
subroutine gtvargetattrd(var, attrname, value, default)
integer, parameter, public dp
Double Precision Real number.
subroutine gtvargetattrdp(var, name, value)
subroutine gtvargetattria(var, name, value, default)
Provides kind type parameter values.
subroutine gtvargetattri(var, attrname, value, default)
subroutine, public var_class(var, class, cid)
integer, parameter, public string
Character length for string.
subroutine gtvargetattrrp(var, name, value)