\hypertarget{gtvarinquire_8f90}{}\section{gtdata/gtvarinquire.f90 File Reference}
\label{gtvarinquire_8f90}\index{gtdata/gtvarinquire.\+f90@{gtdata/gtvarinquire.\+f90}}
\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine \hyperlink{gtvarinquire_8f90_a65a7e0e03c02aee96d04ee4cb3ee0219}{gtvarinquire} (var, growable, rank, alldims, allcount, size, xtype, name, url, err)
\item 
integer function \hyperlink{gtvarinquire_8f90_a07c07408c34135855bbd660fda8bb354}{internal\+\_\+get\+\_\+alldims} (var)
\item 
integer function \hyperlink{gtvarinquire_8f90_a74a690bd0ab9e94ab7334260a30031e1}{internal\+\_\+get\+\_\+allcount} (var)
\item 
integer function \hyperlink{gtvarinquire_8f90_a73fb6be0887a6c817ace745c8075f880}{internal\+\_\+get\+\_\+size} (var)
\item 
integer function \hyperlink{gtvarinquire_8f90_a665c8d42b9f43725d3fcbe485b87af35}{internal\+\_\+get\+\_\+rank} (var)
\item 
subroutine \hyperlink{gtvarinquire_8f90_ae6fabe57a15064d032648e3e7f5f924d}{gtvarinquire2} (var, allcount)
\item 
subroutine \hyperlink{gtvarinquire_8f90_afaa464119df1e9adf485f332e2b8b9b4}{gtvarinquirea} (var, attrname, xtype)
\item 
subroutine \hyperlink{gtvarinquire_8f90_a85fc850baf6d23ebcdda9df3699baf24}{gtvarinquired} (var, dimord, url, allcount, err)
\end{DoxyCompactItemize}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{gtvarinquire_8f90_a65a7e0e03c02aee96d04ee4cb3ee0219}\label{gtvarinquire_8f90_a65a7e0e03c02aee96d04ee4cb3ee0219}} 
\index{gtvarinquire.\+f90@{gtvarinquire.\+f90}!gtvarinquire@{gtvarinquire}}
\index{gtvarinquire@{gtvarinquire}!gtvarinquire.\+f90@{gtvarinquire.\+f90}}
\subsubsection{\texorpdfstring{gtvarinquire()}{gtvarinquire()}}
{\footnotesize\ttfamily subroutine gtvarinquire (\begin{DoxyParamCaption}\item[{type(gt\+\_\+variable), intent(in)}]{var,  }\item[{logical, intent(out), optional}]{growable,  }\item[{integer, intent(out), optional}]{rank,  }\item[{integer, intent(out), optional}]{alldims,  }\item[{integer, intent(out), optional}]{allcount,  }\item[{integer, intent(out), optional}]{size,  }\item[{character(len=$\ast$), intent(out), optional}]{xtype,  }\item[{character(len=$\ast$), intent(out), optional}]{name,  }\item[{character(len=$\ast$), intent(out), optional}]{url,  }\item[{logical, intent(out), optional}]{err }\end{DoxyParamCaption})}



Definition at line 15 of file gtvarinquire.\+f90.



References internal\+\_\+get\+\_\+allcount(), internal\+\_\+get\+\_\+alldims(), internal\+\_\+get\+\_\+rank(), internal\+\_\+get\+\_\+size(), and gtdata\+\_\+internal\+\_\+map\+::var\+\_\+class().


\begin{DoxyCode}
15   \textcolor{comment}{!}
16   \textcolor{comment}{!== 変数に関する問い合わせ}
17   \textcolor{comment}{!}
18   \textcolor{comment}{! 変数 *var* に関する問い合わせを行います。}
19   \textcolor{comment}{!}
20   \textcolor{comment}{! 返り値となる引数の文字型の実引数の長さが足りないと、}
21   \textcolor{comment}{! 結果が損なわれます。引数の文字列の長さとして dc\_types#STRING}
22   \textcolor{comment}{! を用いることを推奨します。}
23   \textcolor{comment}{!}
24   \textcolor{comment}{! *Inquire* は複数のサブルーチンの総称名であり、}
25   \textcolor{comment}{! 問い合わせ方法は複数用意されています。}
26   \textcolor{comment}{! 下記のサブルーチンも参照してください。}
27   \textcolor{comment}{!}
28   \textcolor{comment}{! 他にも変数に関する問い合わせのための手続きとして}
29   \textcolor{comment}{! Get\_Slice, Dimname\_to\_Dimord があります。}
30   \textcolor{comment}{!}
31   \textcolor{comment}{!--}
32   \textcolor{comment}{! このサブルーチンは INQUIRE 文を模して作られたもので、}
33   \textcolor{comment}{! オブジェクト・変数・属性に関する問い合わせを行います。}
34   \textcolor{comment}{!++}
35   \textcolor{comment}{!}
36   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: gt\_variable
37   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__map}{gtdata\_internal\_map}\textcolor{keywordtype}{, only}: \hyperlink{namespacegtdata__internal__map_a86b920031832bea17e70a6bf4623c3d9}{var\_class}, vtb\_class\_netcdf
38   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__generic}{gtdata\_netcdf\_generic}\textcolor{keywordtype}{, only}: \hyperlink{interfacegtdata__netcdf__generic_1_1inquire}{inquire}
39   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__types}{gtdata\_netcdf\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}
40   \textcolor{keywordtype}{use }dc\_trace\textcolor{keywordtype}{, only}: beginsub, endsub, dbgmessage
41   \textcolor{keywordtype}{implicit none}
42   \textcolor{keywordtype}{type}(gt\_variable), \textcolor{keywordtype}{intent(in)}:: var
43   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: xtype
44                                         \textcolor{comment}{! 外部型の名前}
45   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: name
46                                         \textcolor{comment}{! name は変数名の最小の単位を返します。}
47                                         \textcolor{comment}{! ファイル名を含まないため}
48                                         \textcolor{comment}{! プログラム内での一意性は}
49                                         \textcolor{comment}{! 保証されません。}
50                                         \textcolor{comment}{!}
51   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: url
52                                         \textcolor{comment}{! url はファイル名のついた変数名}
53                                         \textcolor{comment}{! を返します。}
54                                         \textcolor{comment}{! プログラム内で一意です。}
55                                         \textcolor{comment}{!}
56   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: rank
57                                         \textcolor{comment}{! コンパクト(縮退)次元を数えない、}
58                                         \textcolor{comment}{! 次元の数}
59                                         \textcolor{comment}{!}
60   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: alldims
61                                         \textcolor{comment}{! 縮退次元を含む全次元数。}
62                                         \textcolor{comment}{! dimord には基本的にこちらを}
63                                         \textcolor{comment}{! 使います。}
64                                         \textcolor{comment}{!}
65   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: allcount
66                                         \textcolor{comment}{! 変数が次元変数である場合、}
67                                         \textcolor{comment}{! 総数を返します。}
68                                         \textcolor{comment}{! エラーの場合はゼロを返します。}
69                                         \textcolor{comment}{!}
70   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: size
71                                         \textcolor{comment}{! 変数の入出力領域の大きさ。}
72                                         \textcolor{comment}{! (変数が依存する各次元の長}
73                                         \textcolor{comment}{! [格子点数]の積)}
74                                         \textcolor{comment}{!}
75   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: growable
76                                         \textcolor{comment}{! 変数が次元変数である場合、}
77                                         \textcolor{comment}{! 自動拡張可能か否かを返します。}
78                                         \textcolor{comment}{! 次元変数でない場合は不定となります。}
79                                         \textcolor{comment}{!}
80   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: err
81                                         \textcolor{comment}{! 例外処理用フラグ.}
82                                         \textcolor{comment}{! デフォルトでは, この手続き内でエラーが}
83                                         \textcolor{comment}{! 生じた場合, プログラムは強制終了します.}
84                                         \textcolor{comment}{! 引数 *err* が与えられる場合,}
85                                         \textcolor{comment}{! プログラムは強制終了せず, 代わりに}
86                                         \textcolor{comment}{! *err* に .true. が代入されます.}
87                                         \textcolor{comment}{!}
88                                         \textcolor{comment}{! Exception handling flag.}
89                                         \textcolor{comment}{! By default, when error occur in}
90                                         \textcolor{comment}{! this procedure, the program aborts.}
91                                         \textcolor{comment}{! If this *err* argument is given,}
92                                         \textcolor{comment}{! .true. is substituted to *err* and}
93                                         \textcolor{comment}{! the program does not abort.}
94             \textcolor{keywordtype}{integer}:: \textcolor{keywordtype}{class}, cid
95 \textcolor{keywordflow}{continue}
96   \textcolor{keyword}{call }beginsub(\textcolor{stringliteral}{'gtvarinquire'}, \textcolor{stringliteral}{'var.mapid=%d'}, i=(/var%mapid/))
97   \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a86b920031832bea17e70a6bf4623c3d9}{var\_class}(var, \textcolor{keywordtype}{class}, cid)
98   \textcolor{keywordflow}{select case}(class)
99   \textcolor{keywordflow}{case}(vtb\_class\_netcdf)
100     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(xtype) .or. \textcolor{keyword}{present}(name) .or. \textcolor{keyword}{present}(url)) \textcolor{keywordflow}{then}
101       \textcolor{keyword}{call }\hyperlink{interfacegtdata__netcdf__generic_1_1inquire}{inquire}(\hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}(cid), xtype=xtype, name=name, url=url)
102       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(xtype)) \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'xtype=%c'}, c1=trim(xtype))
103       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(name)) \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'name=%c'}, c1=trim(name))
104       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(url)) \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'url=%c'}, c1=trim(url))
105 \textcolor{keywordflow}{    endif}
106     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(growable)) \textcolor{keywordflow}{then}
107       \textcolor{keyword}{call }\hyperlink{interfacegtdata__netcdf__generic_1_1inquire}{inquire}(\hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}(cid), growable=growable)
108       \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'growable=%y'}, l=(/growable/))
109 \textcolor{keywordflow}{    endif}
110 \textcolor{keywordflow}{  end select}
111   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(alldims)) alldims = \hyperlink{gtvarinquire_8f90_a07c07408c34135855bbd660fda8bb354}{internal\_get\_alldims}(var)
112   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(allcount)) allcount = \hyperlink{gtvarinquire_8f90_a74a690bd0ab9e94ab7334260a30031e1}{internal\_get\_allcount}(var)
113   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(size)) \textcolor{keyword}{size} = \hyperlink{gtvarinquire_8f90_a73fb6be0887a6c817ace745c8075f880}{internal\_get\_size}(var)
114   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(rank)) rank = \hyperlink{gtvarinquire_8f90_a665c8d42b9f43725d3fcbe485b87af35}{internal\_get\_rank}(var)
115   \textcolor{keyword}{call }endsub(\textcolor{stringliteral}{'gtvarinquire'})
116   \textcolor{keywordflow}{return}
117 \textcolor{keyword}{contains}
118 
119 \textcolor{keyword}{  integer }\textcolor{keyword}{function }\hyperlink{gtvarinquire_8f90_a07c07408c34135855bbd660fda8bb354}{internal\_get\_alldims}(var) \textcolor{keyword}{result}(result)
120     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__map}{gtdata\_internal\_map}\textcolor{keywordtype}{, only}: \hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}
121     \textcolor{keywordtype}{implicit none}
122     \textcolor{keywordtype}{type}(gt\_variable), \textcolor{keywordtype}{intent(in)}:: var
123     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}(var, ndims=result)
124     \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'alldims=%d'}, i=(/result/))
125 \textcolor{keyword}{  end function }\hyperlink{gtvarinquire_8f90_a07c07408c34135855bbd660fda8bb354}{internal\_get\_alldims}
126 
127 \textcolor{keyword}{  integer }\textcolor{keyword}{function }\hyperlink{gtvarinquire_8f90_a74a690bd0ab9e94ab7334260a30031e1}{internal\_get\_allcount}(var) \textcolor{keyword}{result}(result)
128     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__map}{gtdata\_internal\_map}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}, 
      \hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}
129     \textcolor{keywordtype}{implicit none}
130     \textcolor{keywordtype}{type}(gt\_variable), \textcolor{keywordtype}{intent(in)}:: var
131     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{allocatable}:: map(:)
132     \textcolor{keywordtype}{integer}:: nd
133     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}(var, ndims=nd)
134     \textcolor{keywordflow}{if} (nd <= 0) \textcolor{keywordflow}{then}
135       \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'internal\_get\_allcount: no map'})
136       result = 1
137       \textcolor{keywordflow}{return}
138 \textcolor{keywordflow}{    endif}
139     \textcolor{keyword}{allocate}(map(nd))
140     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}(var, map=map)
141     result = product(map(1:nd)%allcount)
142     \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'internal\_get\_allcount: %d map.size=%d'}, &
143       & i=(/result, nd/))
144     \textcolor{keyword}{deallocate}(map)
145 \textcolor{keyword}{  end function }\hyperlink{gtvarinquire_8f90_a74a690bd0ab9e94ab7334260a30031e1}{internal\_get\_allcount}
146 
147 \textcolor{keyword}{  integer }\textcolor{keyword}{function }\hyperlink{gtvarinquire_8f90_a73fb6be0887a6c817ace745c8075f880}{internal\_get\_size}(var) \textcolor{keyword}{result}(result)
148     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__map}{gtdata\_internal\_map}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}, 
      \hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}
149     \textcolor{keywordtype}{implicit none}
150     \textcolor{keywordtype}{type}(gt\_variable), \textcolor{keywordtype}{intent(in)}:: var
151     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{allocatable}:: map(:)
152     \textcolor{keywordtype}{integer}:: nd
153     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}(var, ndims=nd)
154     \textcolor{keywordflow}{if} (nd <= 0) \textcolor{keywordflow}{then}
155       \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'internal\_get\_size: no map'})
156       result = 1
157       \textcolor{keywordflow}{return}
158 \textcolor{keywordflow}{    endif}
159     \textcolor{keyword}{allocate}(map(nd))
160     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}(var, map=map)
161     result = product(map(1:nd)%count)
162     \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'internal\_get\_size: %d map.size=%d'}, &
163       & i=(/result, nd/))
164     \textcolor{keyword}{deallocate}(map)
165 \textcolor{keyword}{  end function }\hyperlink{gtvarinquire_8f90_a73fb6be0887a6c817ace745c8075f880}{internal\_get\_size}
166 
167 \textcolor{keyword}{  integer }\textcolor{keyword}{function }\hyperlink{gtvarinquire_8f90_a665c8d42b9f43725d3fcbe485b87af35}{internal\_get\_rank}(var) \textcolor{keyword}{result}(result)
168     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__map}{gtdata\_internal\_map}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}, 
      \hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}
169     \textcolor{keywordtype}{implicit none}
170     \textcolor{keywordtype}{type}(gt\_variable), \textcolor{keywordtype}{intent(in)}:: var
171     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{allocatable}:: map(:)
172     \textcolor{keywordtype}{integer}:: nd
173 
174     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}(var, ndims=nd)
175     \textcolor{keywordflow}{if} (nd <= 0) \textcolor{keywordflow}{then}
176       \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'internal\_get\_rank: no map'})
177       result = 0
178       \textcolor{keywordflow}{return}
179 \textcolor{keywordflow}{    endif}
180     \textcolor{keyword}{allocate}(map(nd))
181     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}(var, map=map)
182     result = count(map(1:nd)%count > 1)
183     \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'internal\_get\_rank: %d'}, i=(/result/))
184     \textcolor{keyword}{deallocate}(map)
185 \textcolor{keyword}{  end function }\hyperlink{gtvarinquire_8f90_a665c8d42b9f43725d3fcbe485b87af35}{internal\_get\_rank}
186 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gtvarinquire_8f90_a65a7e0e03c02aee96d04ee4cb3ee0219_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gtvarinquire_8f90_ae6fabe57a15064d032648e3e7f5f924d}\label{gtvarinquire_8f90_ae6fabe57a15064d032648e3e7f5f924d}} 
\index{gtvarinquire.\+f90@{gtvarinquire.\+f90}!gtvarinquire2@{gtvarinquire2}}
\index{gtvarinquire2@{gtvarinquire2}!gtvarinquire.\+f90@{gtvarinquire.\+f90}}
\subsubsection{\texorpdfstring{gtvarinquire2()}{gtvarinquire2()}}
{\footnotesize\ttfamily subroutine gtvarinquire2 (\begin{DoxyParamCaption}\item[{type(gt\+\_\+variable), intent(in)}]{var,  }\item[{integer, dimension(\+:), intent(out)}]{allcount }\end{DoxyParamCaption})}



Definition at line 190 of file gtvarinquire.\+f90.


\begin{DoxyCode}
190   \textcolor{comment}{!}
191   \textcolor{comment}{!== 変数の依存する次元 (複数) の総数の問い合わせ}
192   \textcolor{comment}{!}
193   \textcolor{comment}{! 変数 *var* が依存する各次元の総数を返します。}
194   \textcolor{comment}{! *allcount* の配列のサイズは依存する次元の数だけ必要です。}
195   \textcolor{comment}{! 依存する次元の数は上記の *Inquire* の *alldims* で調べることが}
196   \textcolor{comment}{! できます。}
197   \textcolor{comment}{!}
198   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: gt\_variable
199   \textcolor{keywordtype}{use }gtdata\_generic\textcolor{keywordtype}{, only}: \hyperlink{interfacegtdata__netcdf__generic_1_1inquire}{inquire}, \hyperlink{interfacegtdata__netcdf__generic_1_1open}{open}, \hyperlink{interfacegtdata__netcdf__generic_1_1close}{close}
200   \textcolor{keywordtype}{use }dc\_trace\textcolor{keywordtype}{, only}: beginsub, endsub
201   \textcolor{keywordtype}{type}(gt\_variable), \textcolor{keywordtype}{intent(in)}:: var
202   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}:: allcount(:) \textcolor{comment}{! alldims 個必要}
203   \textcolor{keywordtype}{integer}:: i, n
204   \textcolor{keywordtype}{type}(gt\_variable):: v
205   \textcolor{keyword}{call }beginsub(\textcolor{stringliteral}{'gtvarinquire2'})
206   \textcolor{keyword}{call }\hyperlink{interfacegtdata__netcdf__generic_1_1inquire}{inquire}(var, alldims=n)
207   \textcolor{keywordflow}{do}, i = 1, n
208     \textcolor{keyword}{call }\hyperlink{interfacegtdata__netcdf__generic_1_1open}{open}(v, var, i, count\_compact=.true.)
209     \textcolor{keyword}{call }\hyperlink{interfacegtdata__netcdf__generic_1_1inquire}{inquire}(var, allcount=allcount(i))
210     \textcolor{keyword}{call }\hyperlink{interfacegtdata__netcdf__generic_1_1close}{close}(v)
211 \textcolor{keywordflow}{  enddo}
212   \textcolor{keyword}{call }endsub(\textcolor{stringliteral}{'gtvarinquire2'})
\end{DoxyCode}
\mbox{\Hypertarget{gtvarinquire_8f90_afaa464119df1e9adf485f332e2b8b9b4}\label{gtvarinquire_8f90_afaa464119df1e9adf485f332e2b8b9b4}} 
\index{gtvarinquire.\+f90@{gtvarinquire.\+f90}!gtvarinquirea@{gtvarinquirea}}
\index{gtvarinquirea@{gtvarinquirea}!gtvarinquire.\+f90@{gtvarinquire.\+f90}}
\subsubsection{\texorpdfstring{gtvarinquirea()}{gtvarinquirea()}}
{\footnotesize\ttfamily subroutine gtvarinquirea (\begin{DoxyParamCaption}\item[{type(gt\+\_\+variable), intent(in)}]{var,  }\item[{character(len=$\ast$), intent(in)}]{attrname,  }\item[{character(len=$\ast$), intent(out), optional}]{xtype }\end{DoxyParamCaption})}



Definition at line 216 of file gtvarinquire.\+f90.



References gtdata\+\_\+internal\+\_\+map\+::var\+\_\+class().


\begin{DoxyCode}
216   \textcolor{comment}{!}
217   \textcolor{comment}{!== 変数の属性の型の問い合わせ}
218   \textcolor{comment}{!}
219   \textcolor{comment}{! 変数 *var* の属性 *attrname* の値の型を *xtype* に返します。}
220   \textcolor{comment}{!}
221   \textcolor{comment}{!--}
222   \textcolor{comment}{! 文字数が合わなければ当然変なことが起こるが、気にしない。}
223   \textcolor{comment}{!++}
224   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: gt\_variable
225   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__map}{gtdata\_internal\_map}\textcolor{keywordtype}{, only}: \hyperlink{namespacegtdata__internal__map_a86b920031832bea17e70a6bf4623c3d9}{var\_class}, vtb\_class\_netcdf
226   \textcolor{keywordtype}{use }dc\_trace\textcolor{keywordtype}{, only}: beginsub, endsub
227   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__generic}{gtdata\_netcdf\_generic}\textcolor{keywordtype}{, only}: \hyperlink{interfacegtdata__netcdf__generic_1_1inquire}{inquire}
228   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__types}{gtdata\_netcdf\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}
229   \textcolor{keywordtype}{type}(gt\_variable), \textcolor{keywordtype}{intent(in)}:: var
230   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)}:: attrname
231   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: xtype
232   \textcolor{keywordtype}{integer}:: \textcolor{keywordtype}{class}, cid
233   \textcolor{keywordtype}{character(len = *)}, \textcolor{keywordtype}{parameter}:: subnam = \textcolor{stringliteral}{"gtvarinquireA"}
234 \textcolor{keywordflow}{continue}
235   \textcolor{keyword}{call }beginsub(subnam, \textcolor{stringliteral}{"%c"}, c1=trim(attrname))
236   \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a86b920031832bea17e70a6bf4623c3d9}{var\_class}(var, \textcolor{keywordtype}{class}, cid)
237   \textcolor{keywordflow}{select case}(class)
238   \textcolor{keywordflow}{case}(vtb\_class\_netcdf)
239     \textcolor{keyword}{call }\hyperlink{interfacegtdata__netcdf__generic_1_1inquire}{inquire}(\hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}(cid), attrname=attrname, xtype=xtype)
240 \textcolor{keywordflow}{  end select}
241   \textcolor{keyword}{call }endsub(subnam)
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gtvarinquire_8f90_afaa464119df1e9adf485f332e2b8b9b4_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gtvarinquire_8f90_a85fc850baf6d23ebcdda9df3699baf24}\label{gtvarinquire_8f90_a85fc850baf6d23ebcdda9df3699baf24}} 
\index{gtvarinquire.\+f90@{gtvarinquire.\+f90}!gtvarinquired@{gtvarinquired}}
\index{gtvarinquired@{gtvarinquired}!gtvarinquire.\+f90@{gtvarinquire.\+f90}}
\subsubsection{\texorpdfstring{gtvarinquired()}{gtvarinquired()}}
{\footnotesize\ttfamily subroutine gtvarinquired (\begin{DoxyParamCaption}\item[{type(gt\+\_\+variable), intent(in)}]{var,  }\item[{integer, intent(in)}]{dimord,  }\item[{character(len=$\ast$), intent(out), optional}]{url,  }\item[{integer, intent(out), optional}]{allcount,  }\item[{logical, intent(out), optional}]{err }\end{DoxyParamCaption})}



Definition at line 245 of file gtvarinquire.\+f90.


\begin{DoxyCode}
245   \textcolor{comment}{!}
246   \textcolor{comment}{!== 変数の次元に関する問い合わせ}
247   \textcolor{comment}{!}
248   \textcolor{comment}{! 変数 *var* の次元順序番号 *dimord* に対応する次元の}
249   \textcolor{comment}{! URL *url* と総数 *allcout* を返します。}
250   \textcolor{comment}{!}
251   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: gt\_variable
252   \textcolor{keywordtype}{use }gtdata\_generic\textcolor{keywordtype}{, only}: \hyperlink{interfacegtdata__netcdf__generic_1_1open}{open}, \hyperlink{interfacegtdata__netcdf__generic_1_1close}{close}, \hyperlink{interfacegtdata__netcdf__generic_1_1inquire}{inquire}
253   \textcolor{keywordtype}{use }dc\_trace\textcolor{keywordtype}{, only}: beginsub, endsub
254   \textcolor{keywordtype}{implicit none}
255   \textcolor{keywordtype}{type}(gt\_variable), \textcolor{keywordtype}{intent(in)}:: var
256   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: dimord
257   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: url
258   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: allcount
259   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: err
260   \textcolor{keywordtype}{type}(gt\_variable):: dimvar
261   \textcolor{keywordtype}{character(len = *)}, \textcolor{keywordtype}{parameter}:: subnam = \textcolor{stringliteral}{"gtvarinquireD"}
262 \textcolor{keywordflow}{continue}
263   \textcolor{keyword}{call }beginsub(subnam, \textcolor{stringliteral}{"%d"}, i=(/dimord/))
264   \textcolor{keyword}{call }\hyperlink{interfacegtdata__netcdf__generic_1_1open}{open}(dimvar, source\_var=var, dimord=dimord, err=err)
265   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(url)) \textcolor{keyword}{call }\hyperlink{interfacegtdata__netcdf__generic_1_1inquire}{inquire}(dimvar, url=url)
266   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(allcount)) \textcolor{keyword}{call }\hyperlink{interfacegtdata__netcdf__generic_1_1inquire}{inquire}(dimvar, allcount=allcount)
267   \textcolor{keyword}{call }\hyperlink{interfacegtdata__netcdf__generic_1_1close}{close}(dimvar)
268   \textcolor{keyword}{call }endsub(subnam)
\end{DoxyCode}
\mbox{\Hypertarget{gtvarinquire_8f90_a74a690bd0ab9e94ab7334260a30031e1}\label{gtvarinquire_8f90_a74a690bd0ab9e94ab7334260a30031e1}} 
\index{gtvarinquire.\+f90@{gtvarinquire.\+f90}!internal\+\_\+get\+\_\+allcount@{internal\+\_\+get\+\_\+allcount}}
\index{internal\+\_\+get\+\_\+allcount@{internal\+\_\+get\+\_\+allcount}!gtvarinquire.\+f90@{gtvarinquire.\+f90}}
\subsubsection{\texorpdfstring{internal\+\_\+get\+\_\+allcount()}{internal\_get\_allcount()}}
{\footnotesize\ttfamily integer function gtvarinquire\+::internal\+\_\+get\+\_\+allcount (\begin{DoxyParamCaption}\item[{type(gt\+\_\+variable), intent(in)}]{var }\end{DoxyParamCaption})}



Definition at line 128 of file gtvarinquire.\+f90.



References gtdata\+\_\+internal\+\_\+map\+::map\+\_\+lookup().


\begin{DoxyCode}
128     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__map}{gtdata\_internal\_map}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}, 
      \hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}
129     \textcolor{keywordtype}{implicit none}
130     \textcolor{keywordtype}{type}(gt\_variable), \textcolor{keywordtype}{intent(in)}:: var
131     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{allocatable}:: map(:)
132     \textcolor{keywordtype}{integer}:: nd
133     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}(var, ndims=nd)
134     \textcolor{keywordflow}{if} (nd <= 0) \textcolor{keywordflow}{then}
135       \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'internal\_get\_allcount: no map'})
136       result = 1
137       \textcolor{keywordflow}{return}
138 \textcolor{keywordflow}{    endif}
139     \textcolor{keyword}{allocate}(map(nd))
140     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}(var, map=map)
141     result = product(map(1:nd)%allcount)
142     \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'internal\_get\_allcount: %d map.size=%d'}, &
143       & i=(/result, nd/))
144     \textcolor{keyword}{deallocate}(map)
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=326pt]{gtvarinquire_8f90_a74a690bd0ab9e94ab7334260a30031e1_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gtvarinquire_8f90_a07c07408c34135855bbd660fda8bb354}\label{gtvarinquire_8f90_a07c07408c34135855bbd660fda8bb354}} 
\index{gtvarinquire.\+f90@{gtvarinquire.\+f90}!internal\+\_\+get\+\_\+alldims@{internal\+\_\+get\+\_\+alldims}}
\index{internal\+\_\+get\+\_\+alldims@{internal\+\_\+get\+\_\+alldims}!gtvarinquire.\+f90@{gtvarinquire.\+f90}}
\subsubsection{\texorpdfstring{internal\+\_\+get\+\_\+alldims()}{internal\_get\_alldims()}}
{\footnotesize\ttfamily integer function gtvarinquire\+::internal\+\_\+get\+\_\+alldims (\begin{DoxyParamCaption}\item[{type(gt\+\_\+variable), intent(in)}]{var }\end{DoxyParamCaption})}



Definition at line 120 of file gtvarinquire.\+f90.



References gtdata\+\_\+internal\+\_\+map\+::map\+\_\+lookup().


\begin{DoxyCode}
120     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__map}{gtdata\_internal\_map}\textcolor{keywordtype}{, only}: \hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}
121     \textcolor{keywordtype}{implicit none}
122     \textcolor{keywordtype}{type}(gt\_variable), \textcolor{keywordtype}{intent(in)}:: var
123     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}(var, ndims=result)
124     \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'alldims=%d'}, i=(/result/))
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=323pt]{gtvarinquire_8f90_a07c07408c34135855bbd660fda8bb354_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gtvarinquire_8f90_a665c8d42b9f43725d3fcbe485b87af35}\label{gtvarinquire_8f90_a665c8d42b9f43725d3fcbe485b87af35}} 
\index{gtvarinquire.\+f90@{gtvarinquire.\+f90}!internal\+\_\+get\+\_\+rank@{internal\+\_\+get\+\_\+rank}}
\index{internal\+\_\+get\+\_\+rank@{internal\+\_\+get\+\_\+rank}!gtvarinquire.\+f90@{gtvarinquire.\+f90}}
\subsubsection{\texorpdfstring{internal\+\_\+get\+\_\+rank()}{internal\_get\_rank()}}
{\footnotesize\ttfamily integer function gtvarinquire\+::internal\+\_\+get\+\_\+rank (\begin{DoxyParamCaption}\item[{type(gt\+\_\+variable), intent(in)}]{var }\end{DoxyParamCaption})}



Definition at line 168 of file gtvarinquire.\+f90.



References gtdata\+\_\+internal\+\_\+map\+::map\+\_\+lookup().


\begin{DoxyCode}
168     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__map}{gtdata\_internal\_map}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}, 
      \hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}
169     \textcolor{keywordtype}{implicit none}
170     \textcolor{keywordtype}{type}(gt\_variable), \textcolor{keywordtype}{intent(in)}:: var
171     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{allocatable}:: map(:)
172     \textcolor{keywordtype}{integer}:: nd
173 
174     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}(var, ndims=nd)
175     \textcolor{keywordflow}{if} (nd <= 0) \textcolor{keywordflow}{then}
176       \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'internal\_get\_rank: no map'})
177       result = 0
178       \textcolor{keywordflow}{return}
179 \textcolor{keywordflow}{    endif}
180     \textcolor{keyword}{allocate}(map(nd))
181     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}(var, map=map)
182     result = count(map(1:nd)%count > 1)
183     \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'internal\_get\_rank: %d'}, i=(/result/))
184     \textcolor{keyword}{deallocate}(map)
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=311pt]{gtvarinquire_8f90_a665c8d42b9f43725d3fcbe485b87af35_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gtvarinquire_8f90_a73fb6be0887a6c817ace745c8075f880}\label{gtvarinquire_8f90_a73fb6be0887a6c817ace745c8075f880}} 
\index{gtvarinquire.\+f90@{gtvarinquire.\+f90}!internal\+\_\+get\+\_\+size@{internal\+\_\+get\+\_\+size}}
\index{internal\+\_\+get\+\_\+size@{internal\+\_\+get\+\_\+size}!gtvarinquire.\+f90@{gtvarinquire.\+f90}}
\subsubsection{\texorpdfstring{internal\+\_\+get\+\_\+size()}{internal\_get\_size()}}
{\footnotesize\ttfamily integer function gtvarinquire\+::internal\+\_\+get\+\_\+size (\begin{DoxyParamCaption}\item[{type(gt\+\_\+variable), intent(in)}]{var }\end{DoxyParamCaption})}



Definition at line 148 of file gtvarinquire.\+f90.



References gtdata\+\_\+internal\+\_\+map\+::map\+\_\+lookup().


\begin{DoxyCode}
148     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__map}{gtdata\_internal\_map}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}, 
      \hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}
149     \textcolor{keywordtype}{implicit none}
150     \textcolor{keywordtype}{type}(gt\_variable), \textcolor{keywordtype}{intent(in)}:: var
151     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{allocatable}:: map(:)
152     \textcolor{keywordtype}{integer}:: nd
153     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}(var, ndims=nd)
154     \textcolor{keywordflow}{if} (nd <= 0) \textcolor{keywordflow}{then}
155       \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'internal\_get\_size: no map'})
156       result = 1
157       \textcolor{keywordflow}{return}
158 \textcolor{keywordflow}{    endif}
159     \textcolor{keyword}{allocate}(map(nd))
160     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\_lookup}(var, map=map)
161     result = product(map(1:nd)%count)
162     \textcolor{keyword}{call }dbgmessage(\textcolor{stringliteral}{'internal\_get\_size: %d map.size=%d'}, &
163       & i=(/result, nd/))
164     \textcolor{keyword}{deallocate}(map)
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=310pt]{gtvarinquire_8f90_a73fb6be0887a6c817ace745c8075f880_cgraph}
\end{center}
\end{figure}
