96 & dims, dimsizes, longnames, units, xtypes, &
97 & institution, origin, interval, newest, oldest, &
98 & conventions, gt_version, &
110 logical,
intent(out),
optional :: err
111 character(*),
intent(out),
optional:: file, title, source, institution
112 real,
intent(out),
optional:: origin, interval
113 real,
intent(out),
optional:: newest
114 real,
intent(out),
optional:: oldest
115 character(*),
intent(out),
optional:: conventions, gt_version
116 character(*),
pointer,
optional:: dims(:)
117 integer,
pointer,
optional:: dimsizes(:)
118 character(*),
pointer,
optional:: longnames(:)
119 character(*),
pointer,
optional:: units(:)
120 character(*),
pointer,
optional:: xtypes(:)
125 character(STRING) :: url, cause_c
126 character(TOKEN) :: unknown_mes =
'unknown'
127 integer :: i, j, numdims, numvars, alldims, stat
130 character(*),
parameter:: subname =
"HistoryInquire1"
135 if (.not.
associated(history % dimvars) .or. &
136 &
size(history % dimvars) < 1)
then
141 if (
present(file))
then
142 call inquire(history % dimvars(1), url=url)
143 call urlsplit(fullname=url, file=file)
145 if (
present(title))
then
146 call get_attr(history % dimvars(1),
'+title', title, trim(unknown_mes))
148 if (
present(source))
then
149 call get_attr(history % dimvars(1),
'+source', source, trim(unknown_mes))
151 if (
present(institution))
then
152 call get_attr(history % dimvars(1),
'+institution', institution, trim(unknown_mes))
155 if (
present(origin))
then
156 origin = real(history % origin, kind=kind(origin))
159 if (
present(interval))
then
160 interval = real(history % interval, kind=kind(interval))
163 if (
present(newest))
then
164 newest = real(history % newest, kind=kind(newest))
167 if (
present(oldest))
then
168 oldest = real(history % oldest, kind=kind(oldest))
171 if (
present(conventions))
then
172 call get_attr(history % dimvars(1),
'+Conventions', conventions, trim(unknown_mes))
174 if (
present(gt_version))
then
175 call get_attr(history % dimvars(1),
'+gt_version', gt_version, trim(unknown_mes))
177 if (
present(dims))
then
178 numdims =
size(history % dimvars)
179 allocate(dims(numdims))
181 call inquire(history % dimvars(i), name=dims(i))
184 if (
present(dimsizes))
then
185 numdims =
size(history % dimvars)
186 allocate(dimsizes(numdims))
188 call inquire(history % dimvars(i), size=dimsizes(i), growable=growable)
189 if (growable) dimsizes(i) = 0
192 if (
present(longnames))
then
193 numdims =
size(history % dimvars)
194 allocate(longnames(numdims))
196 call get_attr(history % dimvars(i),
'long_name', &
197 & longnames(i),
'unknown')
200 if (
present(units))
then
201 numdims =
size(history % dimvars)
202 allocate(units(numdims))
204 call get_attr(history % dimvars(i),
'units', &
205 & units(i),
'unknown')
208 if (
present(xtypes))
then
209 numdims =
size(history % dimvars)
210 allocate(xtypes(numdims))
212 call inquire(history % dimvars(i), xtype=xtypes(i))
215 if (
present(axes))
then
216 numvars =
size(history % dimvars)
217 allocate(axes(numvars))
219 call inquire(history % dimvars(i), &
220 & allcount=axes(i) % length, &
221 & xtype=axes(i) % xtype, name=axes(i) % name)
222 call get_attr(history % dimvars(i),
'long_name', &
223 & axes(i) % longname,
'unknown')
224 call get_attr(history % dimvars(i),
'units', &
225 & axes(i) % units,
'unknown')
237 if (
present(varinfo))
then
238 if (.not.
associated(history % vars) )
then
242 if (
size(history % vars) < 1)
then
246 numvars =
size(history % vars)
247 allocate(varinfo(numvars))
249 call inquire(history % vars(i), alldims=alldims, &
250 & xtype=varinfo(i) % xtype, name=varinfo(i) % name)
251 call get_attr(history % vars(i),
'long_name', &
252 & varinfo(i) % longname,
'unknown')
253 call get_attr(history % vars(i),
'units', &
254 & varinfo(i) % units,
'unknown')
263 allocate(varinfo(i) % dims(alldims))
265 call open(var=dimvar, source_var=history % vars(i), &
266 & dimord=j, count_compact=.true.)
267 call inquire(dimvar, name=varinfo(i) % dims(j))
271 varinfo(i) % initialized = .true.
276 call storeerror(stat, subname, err, cause_c=cause_c)
296 & dims, dimsizes, longnames, units, xtypes, &
297 & institution, origin, interval, newest, oldest, &
298 & conventions, gt_version, &
307 character(*),
intent(in):: history
308 logical,
intent(out),
optional :: err
309 character(*),
intent(out),
optional:: file, title, source, institution
310 real,
intent(out),
optional:: origin, interval, newest, oldest
311 character(*),
intent(out),
optional:: conventions, gt_version
312 character(*),
pointer,
optional:: dims(:)
313 integer,
pointer,
optional:: dimsizes(:)
314 character(*),
pointer,
optional:: longnames(:)
315 character(*),
pointer,
optional:: units(:)
316 character(*),
pointer,
optional:: xtypes(:)
320 character(STRING):: cause_c
321 character(*),
parameter:: subname =
"HistoryInquire2"
323 call beginsub(subname,
"history=%c", c1=trim(history))
326 if (trim(history) /=
'default')
then
328 cause_c =
'history="' // trim(history) //
'"'
332 & dims, dimsizes, longnames, units, xtypes, &
333 & institution, origin, interval, newest, oldest, &
334 & conventions, gt_version, &
337 call storeerror(stat, subname, cause_c=cause_c)
354 & dims, dimsizes, longnames, units, xtypes, &
355 & institution, origin, interval, newest, oldest, &
356 & conventions, gt_version, &
363 logical,
intent(out),
optional :: err
364 character(*),
intent(out),
optional:: file, title, source, institution
365 real,
intent(out),
optional:: origin, interval
366 real,
intent(out),
optional:: newest
367 real,
intent(out),
optional:: oldest
368 character(*),
intent(out),
optional:: conventions, gt_version
369 character(*),
pointer,
optional:: dims(:)
370 integer,
pointer,
optional:: dimsizes(:)
371 character(*),
pointer,
optional:: longnames(:)
372 character(*),
pointer,
optional:: units(:)
373 character(*),
pointer,
optional:: xtypes(:)
377 character(*),
parameter:: subname =
"HistoryInquire3"
381 & dims, dimsizes, longnames, units, xtypes, &
382 & institution, origin, interval, newest, oldest, &
383 & conventions, gt_version, &
401 & dims, dimsizes, longnames, units, xtypes, &
402 & institution, origin, interval, newest, oldest, &
403 & conventions, gt_version, &
409 character(*),
intent(in):: history
410 logical,
intent(out),
optional :: err
411 character(*),
intent(out),
optional:: file, title, source, institution
412 real,
intent(out),
optional:: origin, interval, newest, oldest
413 character(*),
intent(out),
optional:: conventions, gt_version
414 character(*),
pointer,
optional:: dims(:)
415 integer,
pointer,
optional:: dimsizes(:)
416 character(*),
pointer,
optional:: longnames(:)
417 character(*),
pointer,
optional:: units(:)
418 character(*),
pointer,
optional:: xtypes(:)
421 character(*),
parameter:: subname =
"HistoryInquire4"
425 & dims, dimsizes, longnames, units, xtypes, &
426 & institution, origin, interval, newest, oldest, &
427 & conventions, gt_version, &
subroutine historyinquire3(history, err, file, title, source, dims, dimsizes, longnames, units, xtypes, institution, origin, interval, newest, oldest, conventions, gt_version, axes, varinfo)
subroutine historyinquire2(history, err, file, title, source, dims, dimsizes, longnames, units, xtypes, institution, origin, interval, newest, oldest, conventions, gt_version, axes, varinfo)
subroutine historyinquire4(history, err, file, title, source, dims, dimsizes, longnames, units, xtypes, institution, origin, interval, newest, oldest, conventions, gt_version, axes, varinfo)
subroutine historyinquire1(history, err, file, title, source, dims, dimsizes, longnames, units, xtypes, institution, origin, interval, newest, oldest, conventions, gt_version, axes, varinfo)
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public gt_ebadhistory
integer, parameter, public dc_noerr
Error storage variables
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)
Provides kind type parameter values.
integer, parameter, public token
Character length for word, token
integer, parameter, public string
Character length for string
Variable URL string parser.
type(gt_history), target, save, public default