23 use dc_trace
, only: beginsub, endsub
24 use dc_string
, only: putline, printf, split, strinclude, stoa, joinchar
29 integer,
intent(in),
optional:: unit
35 character(*),
intent(in),
optional:: indent
39 logical,
intent(out),
optional:: err
59 character(STRING):: cause_c
62 character(STRING):: indent_str
63 character(*),
parameter:: subname =
'HstNmlInfoPutLine' 65 call beginsub( subname )
73 if (
present(unit) )
then 81 if (
present(indent) )
then 82 if ( len(indent) /= 0 )
then 83 indent_len = len(indent)
84 indent_str(1:indent_len) = indent
92 if ( gthstnml % initialized )
then 93 call printf( out_unit, &
94 & indent_str(1:indent_len) // &
95 &
'#<GTHST_NMLINFO:: @initialized=%y define_mode=%y', &
96 & l = (/gthstnml % initialized, gthstnml % define_mode/) )
98 hptr => gthstnml % gthstnml_list
100 do while (
associated( hptr ) )
102 call printf( out_unit, &
103 & indent_str(1:indent_len) // &
104 &
' #<GTHST_NMLINFO_ENTRY:: @name=%c @file=%c', &
105 & c1 = trim(hptr % name), &
106 & c2 = trim(hptr % file) )
108 call printf( out_unit, &
109 & indent_str(1:indent_len) // &
110 &
' @interval_value=%r @interval_unit=%c', &
111 & r = (/hptr % interval_value/), &
112 & c1 = trim(hptr % interval_unit) )
114 call printf( out_unit, &
115 & indent_str(1:indent_len) // &
116 &
' @output_step_disable=%y', &
117 & l = (/hptr % output_step_disable/) )
119 call printf( out_unit, &
120 & indent_str(1:indent_len) // &
121 &
' @precision=%c @time_average=%y', &
122 & c1 = trim(hptr % precision), &
123 & l = (/ hptr % time_average /) )
125 call printf( out_unit, &
126 & indent_str(1:indent_len) // &
127 &
' @fileprefix=%c', &
128 & c1 = trim(hptr % fileprefix) )
130 call printf( out_unit, &
131 & indent_str(1:indent_len) // &
132 &
' @origin_value=%r @origin_unit=%c', &
133 & r = (/hptr % origin_value/), &
134 & c1 = trim(hptr % origin_unit) )
136 call printf( out_unit, &
137 & indent_str(1:indent_len) // &
138 &
' @terminus_value=%r @terminus_unit=%c', &
139 & r = (/hptr % terminus_value/), &
140 & c1 = trim(hptr % terminus_unit) )
142 call printf( out_unit, &
143 & indent_str(1:indent_len) // &
144 &
' @slice_start=%*d ...', &
145 & i = (/hptr % slice_start(1:10)/), n = (/ 10 /) )
147 call printf( out_unit, &
148 & indent_str(1:indent_len) // &
149 &
' @slice_end=%*d ...', &
150 & i = (/hptr % slice_end(1:10)/), n = (/ 10 /) )
152 call printf( out_unit, &
153 & indent_str(1:indent_len) // &
154 &
' @slice_stride=%*d ...', &
155 & i = (/hptr % slice_stride(1:10)/), n = (/ 10 /) )
157 call printf( out_unit, &
158 & indent_str(1:indent_len) // &
159 &
' @space_average=%*b ...', &
160 & l = (/hptr % space_average(1:10)/), n =(/ 10 /) )
162 call printf( out_unit, &
163 & indent_str(1:indent_len) // &
164 &
' @newfile_intvalue=%d @newfile_intunit=%c', &
165 & i = (/hptr % newfile_intvalue/), &
166 & c1 = trim(hptr % newfile_intunit) )
168 if ( .not. gthstnml % define_mode )
then 169 call printf( out_unit, &
170 & indent_str(1:indent_len) // &
175 & indent = indent_str(1:indent_len) // &
179 call listnext( gthstnml_list = hptr )
182 call printf( out_unit, &
183 & indent_str(1:indent_len) // &
186 call printf( out_unit, &
187 & indent_str(1:indent_len) // &
190 call printf( out_unit, &
191 & indent_str(1:indent_len) // &
192 &
'#<GTHST_NMLINFO:: @initialized=%y>', &
193 & l = (/gthstnml % initialized/) )
201 call storeerror( stat, subname, err, cause_c )
202 call endsub( subname )
integer, parameter, public dc_enotinit
integer, parameter, public token
単語やキーワードを保持する文字型変数の種別型パラメタ
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_noerr
integer, parameter, public dp
倍精度実数型変数
integer, parameter, public stdout
標準出力の装置番号
subroutine hstnmlinfoputline(gthstnml, unit, indent, err)
subroutine historyputline(history, unit, indent, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ