52 character(*),
intent(in),
optional:: name
58 character(*),
intent(out),
optional:: file
61 real(DP),
intent(out),
optional:: interval_value
67 character(*),
intent(out),
optional:: interval_unit
70 character(*),
intent(out),
optional:: precision
73 logical,
intent(out),
optional:: time_average
76 logical,
intent(out),
optional:: average
79 character(*),
intent(out),
optional:: fileprefix
82 real(DP),
intent(out),
optional:: origin_value
85 character(*),
intent(out),
optional:: origin_unit
88 real(DP),
intent(out),
optional:: terminus_value
91 character(*),
intent(out),
optional:: terminus_unit
94 integer,
intent(out),
optional:: slice_start(:)
97 integer,
intent(out),
optional:: slice_end(:)
100 integer,
intent(out),
optional:: slice_stride(:)
103 logical,
intent(out),
optional:: space_average(:)
106 integer,
intent(out),
optional:: newfile_intvalue
109 character(*),
intent(out),
optional:: newfile_intunit
113 logical,
intent(out),
optional:: err
132 character(STRING):: name_work
133 integer:: stat, ary_size
134 character(STRING):: cause_c
135 character(*),
parameter:: subname =
'HstNmlInfoInquire' 145 if ( .not. gthstnml % initialized )
then 147 cause_c =
'GTHST_NMLINFO' 155 if (
present(name) )
then 160 hptr => gthstnml % gthstnml_list
164 if ( .not.
associated( hptr ) )
then 166 cause_c = adjustl( name_work )
170 if ( hptr % name ==
'' )
then 171 if (
present(file) ) file =
'' 173 if (
present(file) ) file = trim( hptr % fileprefix ) // hptr % file
175 if (
present(interval_value) ) interval_value = hptr % interval_value
176 if (
present(interval_unit) ) interval_unit = hptr % interval_unit
177 if (
present(precision) ) precision = hptr % precision
178 if (
present(average) ) average = hptr % time_average
179 if (
present(time_average) ) time_average = hptr % time_average
180 if (
present(fileprefix) ) fileprefix = hptr % fileprefix
182 if (
present(origin_value ) ) origin_value = hptr % origin_value
183 if (
present(origin_unit ) ) origin_unit = hptr % origin_unit
184 if (
present(terminus_value ) ) terminus_value = hptr % terminus_value
185 if (
present(terminus_unit ) ) terminus_unit = hptr % terminus_unit
186 if (
present(slice_start ) )
then 187 ary_size =
size(slice_start)
188 slice_start = hptr % slice_start(1:ary_size)
190 if (
present(slice_end ) )
then 191 ary_size =
size(slice_end)
192 slice_end = hptr % slice_end(1:ary_size)
194 if (
present(slice_stride ) )
then 195 ary_size =
size(slice_stride)
196 slice_stride = hptr % slice_stride(1:ary_size)
198 if (
present(space_average ) )
then 199 ary_size =
size(space_average)
200 space_average = hptr % space_average(1:ary_size)
202 if (
present(newfile_intvalue) ) newfile_intvalue = hptr % newfile_intvalue
203 if (
present(newfile_intunit ) ) newfile_intunit = hptr % newfile_intunit
212 call storeerror( stat, subname, err, cause_c )
integer, parameter, public dc_earglack
integer, parameter, public dc_enotinit
integer, parameter, public token
Character length for word, token.
logical function, public present_and_true(arg)
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_noerr
character(string) function, public joinchar(carray, expr)
integer, parameter, public dp
Double Precision Real number.
logical function, public present_and_not_empty(arg)
subroutine, public beginsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca, version)
integer, parameter, public dc_enoentry
integer, parameter, public stdout
Unit number for Standard OUTPUT.
Handling character types.
Provides kind type parameter values.
subroutine, public endsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca)
integer, parameter, public string
Character length for string.