\hypertarget{hstnmlinfoinquire_8f90}{}\section{gtool/gtool\+\_\+history\+\_\+nmlinfo/hstnmlinfoinquire.f90 File Reference}
\label{hstnmlinfoinquire_8f90}\index{gtool/gtool\+\_\+history\+\_\+nmlinfo/hstnmlinfoinquire.\+f90@{gtool/gtool\+\_\+history\+\_\+nmlinfo/hstnmlinfoinquire.\+f90}}
\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine \hyperlink{hstnmlinfoinquire_8f90_a63aaab23c7484c8218bdc938ae09dd39}{hstnmlinfoinquire} (gthstnml, name, file, interval\+\_\+value, interval\+\_\+unit, precision, time\+\_\+average, average, fileprefix, origin\+\_\+value, origin\+\_\+unit, terminus\+\_\+value, terminus\+\_\+unit, slice\+\_\+start, slice\+\_\+end, slice\+\_\+stride, space\+\_\+average, newfile\+\_\+intvalue, newfile\+\_\+intunit, err)
\end{DoxyCompactItemize}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{hstnmlinfoinquire_8f90_a63aaab23c7484c8218bdc938ae09dd39}\label{hstnmlinfoinquire_8f90_a63aaab23c7484c8218bdc938ae09dd39}} 
\index{hstnmlinfoinquire.\+f90@{hstnmlinfoinquire.\+f90}!hstnmlinfoinquire@{hstnmlinfoinquire}}
\index{hstnmlinfoinquire@{hstnmlinfoinquire}!hstnmlinfoinquire.\+f90@{hstnmlinfoinquire.\+f90}}
\subsubsection{\texorpdfstring{hstnmlinfoinquire()}{hstnmlinfoinquire()}}
{\footnotesize\ttfamily subroutine hstnmlinfoinquire (\begin{DoxyParamCaption}\item[{type(gthst\+\_\+nmlinfo), intent(in)}]{gthstnml,  }\item[{character($\ast$), intent(in), optional}]{name,  }\item[{character($\ast$), intent(out), optional}]{file,  }\item[{real(dp), intent(out), optional}]{interval\+\_\+value,  }\item[{character($\ast$), intent(out), optional}]{interval\+\_\+unit,  }\item[{character($\ast$), intent(out), optional}]{precision,  }\item[{logical, intent(out), optional}]{time\+\_\+average,  }\item[{logical, intent(out), optional}]{average,  }\item[{character($\ast$), intent(out), optional}]{fileprefix,  }\item[{real(dp), intent(out), optional}]{origin\+\_\+value,  }\item[{character($\ast$), intent(out), optional}]{origin\+\_\+unit,  }\item[{real(dp), intent(out), optional}]{terminus\+\_\+value,  }\item[{character($\ast$), intent(out), optional}]{terminus\+\_\+unit,  }\item[{integer, dimension(\+:), intent(out), optional}]{slice\+\_\+start,  }\item[{integer, dimension(\+:), intent(out), optional}]{slice\+\_\+end,  }\item[{integer, dimension(\+:), intent(out), optional}]{slice\+\_\+stride,  }\item[{logical, dimension(\+:), intent(out), optional}]{space\+\_\+average,  }\item[{integer, intent(out), optional}]{newfile\+\_\+intvalue,  }\item[{character($\ast$), intent(out), optional}]{newfile\+\_\+intunit,  }\item[{logical, intent(out), optional}]{err }\end{DoxyParamCaption})}



Definition at line 24 of file hstnmlinfoinquire.\+f90.



References dc\+\_\+error\+::dc\+\_\+earglack, dc\+\_\+error\+::dc\+\_\+enoentry, dc\+\_\+error\+::dc\+\_\+enotinit, dc\+\_\+error\+::dc\+\_\+noerr, dc\+\_\+types\+::dp, dc\+\_\+types\+::stdout, dc\+\_\+error\+::storeerror(), dc\+\_\+types\+::string, and dc\+\_\+types\+::token.


\begin{DoxyCode}
24     \textcolor{comment}{!}
25     \textcolor{comment}{! 変数の出力情報を問い合わせます. }
26     \textcolor{comment}{!}
27     \textcolor{comment}{! デフォルト値を取得するには, *name* を与えないか, または}
28     \textcolor{comment}{! *name* に空白を与えてください. }
29     \textcolor{comment}{!}
30     \textcolor{comment}{! *name* に関するデータが存在しない場合, エラーを発生させます. }
31     \textcolor{comment}{!}
32     \textcolor{comment}{! なお, 与えられた *gthstnml* が HstNmlInfoCreate によって初期設定}
33     \textcolor{comment}{! されていない場合, プログラムはエラーを発生させます. }
34     \textcolor{comment}{!}
35     \textcolor{comment}{! Inquire output information of a variable.}
36     \textcolor{comment}{! }
37     \textcolor{comment}{! If data correspond to *name* is not found, }
38     \textcolor{comment}{! error is occurred. }
39     \textcolor{comment}{!}
40     \textcolor{comment}{! If *gthstnml* is not initialized by "HstNmlInfoCreate" yet, }
41     \textcolor{comment}{! error is occurred.}
42     \textcolor{comment}{!}
43     \textcolor{keywordtype}{use }\hyperlink{namespacegtool__history__nmlinfo__types}{gtool\_history\_nmlinfo\_types}\textcolor{keywordtype}{, only}: 
      \hyperlink{structgtool__history__nmlinfo__types_1_1gthst__nmlinfo}{gthst\_nmlinfo}, \hyperlink{structgtool__history__nmlinfo__types_1_1gthst__nmlinfo__entry}{gthst\_nmlinfo\_entry}
44     \textcolor{keywordtype}{use }\hyperlink{namespacegtool__history__nmlinfo__internal}{gtool\_history\_nmlinfo\_internal}\textcolor{keywordtype}{, only}: listsearch
45     \textcolor{keywordtype}{use }dc\_trace\textcolor{keywordtype}{, only}: beginsub, endsub
46     \textcolor{keywordtype}{use }dc\_string\textcolor{keywordtype}{, only}: putline, printf, split, strinclude, stoa, joinchar
47     \textcolor{keywordtype}{use }dc\_present\textcolor{keywordtype}{, only}: present\_and\_not\_empty, present\_and\_true
48     \textcolor{keywordtype}{use }\hyperlink{namespacedc__types}{dc\_types}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__types_ac74a34430fcd3d0eb2344f19d536c086}{dp}, \hyperlink{namespacedc__types_adb76910ff05e3b9fe3436567f8f8dac6}{string}, \hyperlink{namespacedc__types_a6d28eb015ba84292a06f4ff25165b376}{token}, \hyperlink{namespacedc__types_a5d5ccca8cc2b447f2a0546da0a22efdc}{stdout}
49     \textcolor{keywordtype}{use }\hyperlink{namespacedc__error}{dc\_error}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__error_a0104aee83ee5752b1a9f6152b11864a8}{storeerror}, \hyperlink{namespacedc__error_a64841a3c9e3ef7d5ddb175e5770f7dfe}{dc\_noerr}, 
      \hyperlink{namespacedc__error_a31f1081213c338a4f6a6e5acdfe4a8a8}{dc\_enotinit}, \hyperlink{namespacedc__error_a4e4bfd987a6af527e5b7514dd7535f85}{dc\_earglack}, \hyperlink{namespacedc__error_ae5f73ad2e691edb0b6bd1bf837604d5e}{dc\_enoentry}
50     \textcolor{keywordtype}{implicit none}
51     \textcolor{keywordtype}{type}(\hyperlink{structgtool__history__nmlinfo__types_1_1gthst__nmlinfo}{gthst\_nmlinfo}), \textcolor{keywordtype}{intent(in)}:: gthstnml
52     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: name
53                               \textcolor{comment}{! 変数名. }
54                               \textcolor{comment}{! 先頭の空白は無視されます. }
55                               \textcolor{comment}{! }
56                               \textcolor{comment}{! Variable identifier. }
57                               \textcolor{comment}{! Blanks at the head of the name are ignored. }
58     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: file
59                               \textcolor{comment}{! ヒストリデータのファイル名. }
60                               \textcolor{comment}{! History data filenames}
61     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: interval\_value
62                               \textcolor{comment}{! ヒストリデータの出力間隔の数値. }
63                               \textcolor{comment}{! 負の値を与えると, 出力を抑止します. }
64                               \textcolor{comment}{! }
65                               \textcolor{comment}{! Numerical value for interval of history data output. }
66                               \textcolor{comment}{! Negative values suppresses output.}
67     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: interval\_unit
68                               \textcolor{comment}{! ヒストリデータの出力間隔の単位. }
69                               \textcolor{comment}{! Unit for interval of history data output}
70     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: precision
71                               \textcolor{comment}{! ヒストリデータの精度. }
72                               \textcolor{comment}{! Precision of history data}
73     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: time\_average
74                               \textcolor{comment}{! 出力データの時間平均化フラグ. }
75                               \textcolor{comment}{! Flag for time average of output data.}
76     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: average
77                               \textcolor{comment}{! time\_average の旧版. }
78                               \textcolor{comment}{! Old version of "time\_average"}
79     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: fileprefix
80                               \textcolor{comment}{! ヒストリデータのファイル名の接頭詞. }
81                               \textcolor{comment}{! Prefixes of history data filenames}
82     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: origin\_value
83                               \textcolor{comment}{! 出力開始時刻. }
84                               \textcolor{comment}{! Start time of output. }
85     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: origin\_unit
86                               \textcolor{comment}{! 出力開始時刻の単位. }
87                               \textcolor{comment}{! Unit of start time of output. }
88     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: terminus\_value
89                               \textcolor{comment}{! 出力終了時刻. }
90                               \textcolor{comment}{! End time of output. }
91     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: terminus\_unit
92                               \textcolor{comment}{! 出力終了時刻の単位. }
93                               \textcolor{comment}{! Unit of end time of output. }
94     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: slice\_start(:)
95                               \textcolor{comment}{! 空間方向の開始点. }
96                               \textcolor{comment}{! Start points of spaces. }
97     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: slice\_end(:)
98                               \textcolor{comment}{! 空間方向の終了点. }
99                               \textcolor{comment}{! End points of spaces. }
100     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: slice\_stride(:)
101                               \textcolor{comment}{! 空間方向の刻み幅. }
102                               \textcolor{comment}{! Strides of spaces. }
103     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: space\_average(:)
104                               \textcolor{comment}{! 平均化のフラグ. }
105                               \textcolor{comment}{! Flag of average. }
106     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: newfile\_intvalue
107                               \textcolor{comment}{! ファイル分割時間間隔. }
108                               \textcolor{comment}{! Interval of time of separation of a file. }
109     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: newfile\_intunit
110                               \textcolor{comment}{! ファイル分割時間間隔の単位. }
111                               \textcolor{comment}{! Unit of interval of time of separation of a file. }
112 
113     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: err
114                               \textcolor{comment}{! 例外処理用フラグ. }
115                               \textcolor{comment}{! デフォルトでは, この手続き内でエラーが}
116                               \textcolor{comment}{! 生じた場合, プログラムは強制終了します. }
117                               \textcolor{comment}{! 引数 *err* が与えられる場合, }
118                               \textcolor{comment}{! プログラムは強制終了せず, 代わりに}
119                               \textcolor{comment}{! *err* に .true. が代入されます. }
120                               \textcolor{comment}{!}
121                               \textcolor{comment}{! Exception handling flag. }
122                               \textcolor{comment}{! By default, when error occur in }
123                               \textcolor{comment}{! this procedure, the program aborts. }
124                               \textcolor{comment}{! If this *err* argument is given, }
125                               \textcolor{comment}{! .true. is substituted to *err* and }
126                               \textcolor{comment}{! the program does not abort. }
127 
128     \textcolor{comment}{!-----------------------------------}
129     \textcolor{comment}{!  作業変数}
130     \textcolor{comment}{!  Work variables}
131     \textcolor{keywordtype}{type}(\hyperlink{structgtool__history__nmlinfo__types_1_1gthst__nmlinfo__entry}{gthst\_nmlinfo\_entry}), \textcolor{keywordtype}{pointer}:: hptr =>null()
132     \textcolor{keywordtype}{character(STRING)}:: name\_work
133     \textcolor{keywordtype}{integer}:: stat, ary\_size
134     \textcolor{keywordtype}{character(STRING)}:: cause\_c
135     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{parameter}:: subname = \textcolor{stringliteral}{'HstNmlInfoInquire'}
136   \textcolor{keywordflow}{continue}
137     \textcolor{keyword}{call }beginsub( subname )
138     stat = \hyperlink{namespacedc__error_a64841a3c9e3ef7d5ddb175e5770f7dfe}{dc\_noerr}
139     cause\_c = \textcolor{stringliteral}{''}
140 
141     \textcolor{comment}{!-----------------------------------------------------------------}
142     \textcolor{comment}{!  初期設定のチェック}
143     \textcolor{comment}{!  Check initialization}
144     \textcolor{comment}{!-----------------------------------------------------------------}
145     \textcolor{keywordflow}{if} ( .not. gthstnml % initialized ) \textcolor{keywordflow}{then}
146       stat = \hyperlink{namespacedc__error_a31f1081213c338a4f6a6e5acdfe4a8a8}{dc\_enotinit}
147       cause\_c = \textcolor{stringliteral}{'GTHST\_NMLINFO'}
148       \textcolor{keywordflow}{goto} 999
149 \textcolor{keywordflow}{    end if}
150 
151     \textcolor{comment}{!-----------------------------------------------------------------}
152     \textcolor{comment}{!  *gthstnml* 内から, *name* に関する情報を探査.}
153     \textcolor{comment}{!  Search information correspond to *name* in *gthstnml*}
154     \textcolor{comment}{!-----------------------------------------------------------------}
155     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(name) ) \textcolor{keywordflow}{then}
156       name\_work = name
157     \textcolor{keywordflow}{else}
158       name\_work = \textcolor{stringliteral}{''}
159 \textcolor{keywordflow}{    end if}
160     hptr => gthstnml % gthstnml\_list
161     \textcolor{keyword}{call }listsearch( gthstnml\_list = hptr, & \textcolor{comment}{! (inout)}
162       &              name = name\_work )      \textcolor{comment}{! (in)}
163 
164     \textcolor{keywordflow}{if} ( .not. \textcolor{keyword}{associated}( hptr ) ) \textcolor{keywordflow}{then}
165       stat = \hyperlink{namespacedc__error_ae5f73ad2e691edb0b6bd1bf837604d5e}{dc\_enoentry}
166       cause\_c = adjustl( name\_work )
167       \textcolor{keywordflow}{goto} 999
168 \textcolor{keywordflow}{    end if}
169 
170     \textcolor{keywordflow}{if} ( hptr % name == \textcolor{stringliteral}{''} ) \textcolor{keywordflow}{then}
171       \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(file)           ) file           = \textcolor{stringliteral}{''}
172     \textcolor{keywordflow}{else}
173       \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(file)           ) file           = trim( hptr % fileprefix ) // hptr % file
174 \textcolor{keywordflow}{    end if}
175     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(interval\_value) ) interval\_value = hptr % interval\_value
176     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(interval\_unit)  ) interval\_unit  = hptr % interval\_unit 
177     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(precision)      ) precision      = hptr % precision     
178     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(average)        ) average        = hptr % time\_average  
179     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(time\_average)   ) time\_average   = hptr % time\_average  
180     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(fileprefix)     ) fileprefix     = hptr % fileprefix    
181 
182     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(origin\_value    ) ) origin\_value     = hptr % origin\_value    
183     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(origin\_unit     ) ) origin\_unit      = hptr % origin\_unit     
184     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(terminus\_value  ) ) terminus\_value   = hptr % terminus\_value  
185     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(terminus\_unit   ) ) terminus\_unit    = hptr % terminus\_unit   
186     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(slice\_start     ) ) \textcolor{keywordflow}{then}
187       ary\_size = \textcolor{keyword}{size}(slice\_start)
188       slice\_start  = hptr % slice\_start(1:ary\_size)
189 \textcolor{keywordflow}{    end if}
190     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(slice\_end     ) ) \textcolor{keywordflow}{then}
191       ary\_size = \textcolor{keyword}{size}(slice\_end)
192       slice\_end  = hptr % slice\_end(1:ary\_size)
193 \textcolor{keywordflow}{    end if}
194     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(slice\_stride     ) ) \textcolor{keywordflow}{then}
195       ary\_size = \textcolor{keyword}{size}(slice\_stride)
196       slice\_stride  = hptr % slice\_stride(1:ary\_size)
197 \textcolor{keywordflow}{    end if}
198     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(space\_average     ) ) \textcolor{keywordflow}{then}
199       ary\_size = \textcolor{keyword}{size}(space\_average)
200       space\_average  = hptr % space\_average(1:ary\_size)
201 \textcolor{keywordflow}{    end if}
202     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(newfile\_intvalue) ) newfile\_intvalue = hptr % newfile\_intvalue
203     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(newfile\_intunit ) ) newfile\_intunit  = hptr % newfile\_intunit 
204 
205     \textcolor{keyword}{nullify}( hptr )
206 
207     \textcolor{comment}{!-----------------------------------------------------------------}
208     \textcolor{comment}{!  終了処理, 例外処理}
209     \textcolor{comment}{!  Termination and Exception handling}
210     \textcolor{comment}{!-----------------------------------------------------------------}
211 999 \textcolor{keywordflow}{continue}
212     \textcolor{keyword}{call }\hyperlink{namespacedc__error_a0104aee83ee5752b1a9f6152b11864a8}{storeerror}( stat, subname, err, cause\_c )
213     \textcolor{keyword}{call }endsub( subname )
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{hstnmlinfoinquire_8f90_a63aaab23c7484c8218bdc938ae09dd39_cgraph}
\end{center}
\end{figure}
