\hypertarget{namespacegtdata__internal__vartable}{}\section{gtdata\+\_\+internal\+\_\+vartable Module Reference}
\label{namespacegtdata__internal__vartable}\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsection*{Data Types}
\begin{DoxyCompactItemize}
\item 
interface \hyperlink{interfacegtdata__internal__vartable_1_1dimrange}{dimrange}
\item 
type \hyperlink{structgtdata__internal__vartable_1_1var__table__entry}{var\+\_\+table\+\_\+entry}
\end{DoxyCompactItemize}
\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine, public \hyperlink{namespacegtdata__internal__vartable_ab247c7c0f247a93928a561ec13d9df43}{vartable\+\_\+dump} (vid)
\item 
subroutine, private \hyperlink{namespacegtdata__internal__vartable_a7bf4791d3e2092d3292d52bc7ab4c713}{entry\+\_\+cleanup} (vtb\+\_\+entry)
\item 
subroutine, public \hyperlink{namespacegtdata__internal__vartable_a82fab475ec7a1438a92e5d27c13684d1}{vartableadd} (vid, class, cid)
\item 
subroutine, public \hyperlink{namespacegtdata__internal__vartable_a0fb95ab458f1dcd34f21b5c5574a63d2}{vartabledelete} (vid, action, err)
\item 
subroutine, public \hyperlink{namespacegtdata__internal__vartable_a1bddf47a2cacc8db25b6fa2c32ed68db}{vartablelookup} (vid, class, cid)
\item 
subroutine, public \hyperlink{namespacegtdata__internal__vartable_a751cac6e9c6372ddbed395624357806d}{vartablemore} (vid, err)
\item 
subroutine \hyperlink{namespacegtdata__internal__vartable_a0dfe6e31d17be76430a944775d9779f8}{dimrange\+\_\+direct} (vid, dimlo, dimhi)
\item 
integer function, public \hyperlink{namespacegtdata__internal__vartable_ae622b02798006661945bef1406c25ea4}{ndims} (vid)
\item 
subroutine, public \hyperlink{namespacegtdata__internal__vartable_a6c3912fc042a447a1586ce60f43874dc}{query\+\_\+growable} (vid, result)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
integer, parameter, public \hyperlink{namespacegtdata__internal__vartable_a5df57179700a2e502b214711f87168c4}{vid\+\_\+invalid} = -\/1
\item 
integer, parameter, public \hyperlink{namespacegtdata__internal__vartable_aec4f073e19f0eb04d55229f478c745c7}{vtb\+\_\+class\+\_\+unused} = 0
\item 
integer, parameter, public \hyperlink{namespacegtdata__internal__vartable_a05f7bfdecff1df5618e9be7788d8d48f}{vtb\+\_\+class\+\_\+memory} = 1
\item 
integer, parameter, public \hyperlink{namespacegtdata__internal__vartable_a8881078f064af94c15a18b94ea5af49b}{vtb\+\_\+class\+\_\+netcdf} = 2
\item 
integer, parameter, public \hyperlink{namespacegtdata__internal__vartable_a1f6bc8deac28b5ae7650b25285cdce95}{classes\+\_\+max} = 2
\item 
type(\hyperlink{structgtdata__internal__vartable_1_1var__table__entry}{var\+\_\+table\+\_\+entry}), dimension(\+:), allocatable, save, private \hyperlink{namespacegtdata__internal__vartable_a551243d802ce3ab709035d130b411ae9}{table}
\item 
integer, parameter, private \hyperlink{namespacegtdata__internal__vartable_a8742b440594ec8eed29fc98b65f852bb}{table\+\_\+ini\+\_\+size} = 16
\item 
type(gd\+\_\+nc\+\_\+variable\+\_\+search), save, public \hyperlink{namespacegtdata__internal__vartable_aaa4c37aba75313a971d0996e831aeda3}{gdnc\+\_\+search}
\end{DoxyCompactItemize}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_a0dfe6e31d17be76430a944775d9779f8}\label{namespacegtdata__internal__vartable_a0dfe6e31d17be76430a944775d9779f8}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!dimrange\+\_\+direct@{dimrange\+\_\+direct}}
\index{dimrange\+\_\+direct@{dimrange\+\_\+direct}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{dimrange\+\_\+direct()}{dimrange\_direct()}}
{\footnotesize\ttfamily subroutine gtdata\+\_\+internal\+\_\+vartable\+::dimrange\+\_\+direct (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{vid,  }\item[{integer, intent(out)}]{dimlo,  }\item[{integer, intent(out)}]{dimhi }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 188 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



References dc\+\_\+error\+::gt\+\_\+efake, dc\+\_\+error\+::storeerror(), vartablelookup(), vtb\+\_\+class\+\_\+memory, and vtb\+\_\+class\+\_\+netcdf.


\begin{DoxyCode}
188     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__types}{gtdata\_netcdf\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}
189     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__generic}{gtdata\_netcdf\_generic}\textcolor{keywordtype}{, only}: gdncinquire => \hyperlink{interfacegtdata__generic_1_1inquire}{inquire}
190     \textcolor{keywordtype}{use }\hyperlink{namespacedc__error}{dc\_error}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__error_a0104aee83ee5752b1a9f6152b11864a8}{storeerror}, nf90\_einval, \hyperlink{namespacedc__error_a3c706700d7fb6c0ff705558066f8e583}{gt\_efake}
191     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: vid
192     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}:: dimlo, dimhi
193     \textcolor{keywordtype}{integer}:: \textcolor{keywordtype}{class}, cid
194     \textcolor{keyword}{call }vartablelookup(vid, \textcolor{keywordtype}{class}, cid)
195     \textcolor{keywordflow}{select case}(class)
196     \textcolor{keywordflow}{case}(vtb\_class\_memory)
197       \textcolor{keyword}{call }\hyperlink{namespacedc__error_a0104aee83ee5752b1a9f6152b11864a8}{storeerror}(\hyperlink{namespacedc__error_a3c706700d7fb6c0ff705558066f8e583}{gt\_efake}, \textcolor{stringliteral}{'gtdata::dimrange'})
198     \textcolor{keywordflow}{case}(vtb\_class\_netcdf)
199       dimlo = 1
200       \textcolor{keyword}{call }gdncinquire(\hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}(cid), dimlen=dimhi)
201 \textcolor{keywordflow}{    case default}
202       \textcolor{keyword}{call }\hyperlink{namespacedc__error_a0104aee83ee5752b1a9f6152b11864a8}{storeerror}(nf90\_einval, \textcolor{stringliteral}{'gtdata::dimrange'})
203 \textcolor{keywordflow}{    end select}
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__vartable_a0dfe6e31d17be76430a944775d9779f8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_a7bf4791d3e2092d3292d52bc7ab4c713}\label{namespacegtdata__internal__vartable_a7bf4791d3e2092d3292d52bc7ab4c713}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!entry\+\_\+cleanup@{entry\+\_\+cleanup}}
\index{entry\+\_\+cleanup@{entry\+\_\+cleanup}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{entry\+\_\+cleanup()}{entry\_cleanup()}}
{\footnotesize\ttfamily subroutine, private gtdata\+\_\+internal\+\_\+vartable\+::entry\+\_\+cleanup (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__internal__vartable_1_1var__table__entry}{var\+\_\+table\+\_\+entry}), dimension(\+:), intent(out)}]{vtb\+\_\+entry }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 89 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



References vtb\+\_\+class\+\_\+unused.



Referenced by vartableadd().


\begin{DoxyCode}
89     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__vartable_1_1var__table__entry}{var\_table\_entry}), \textcolor{keywordtype}{intent(out)}:: vtb\_entry(:)
90     vtb\_entry(:)%class = vtb\_class\_unused
91     vtb\_entry(:)%cid = -1
92     vtb\_entry(:)%refcount = 0
\end{DoxyCode}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__vartable_a7bf4791d3e2092d3292d52bc7ab4c713_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_ae622b02798006661945bef1406c25ea4}\label{namespacegtdata__internal__vartable_ae622b02798006661945bef1406c25ea4}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!ndims@{ndims}}
\index{ndims@{ndims}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{ndims()}{ndims()}}
{\footnotesize\ttfamily integer function, public gtdata\+\_\+internal\+\_\+vartable\+::ndims (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{vid }\end{DoxyParamCaption})}



Definition at line 207 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



References dc\+\_\+error\+::storeerror(), vartablelookup(), vtb\+\_\+class\+\_\+memory, and vtb\+\_\+class\+\_\+netcdf.



Referenced by gtdata\+\_\+internal\+\_\+map\+::map\+\_\+to\+\_\+internal\+\_\+specs().


\begin{DoxyCode}
207     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__types}{gtdata\_netcdf\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}
208     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__generic}{gtdata\_netcdf\_generic}\textcolor{keywordtype}{, only}: gdncinquire => \hyperlink{interfacegtdata__generic_1_1inquire}{inquire}
209     \textcolor{keywordtype}{use }\hyperlink{namespacedc__error}{dc\_error}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__error_a0104aee83ee5752b1a9f6152b11864a8}{storeerror}, nf90\_einval
210     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: vid
211     \textcolor{keywordtype}{integer}:: \textcolor{keywordtype}{class}, cid
212     \textcolor{keyword}{call }vartablelookup(vid, \textcolor{keywordtype}{class}, cid)
213     \textcolor{keywordflow}{select case}(class)
214     \textcolor{keywordflow}{case}(vtb\_class\_memory)
215       result = 1
216     \textcolor{keywordflow}{case}(vtb\_class\_netcdf)
217       \textcolor{keyword}{call }gdncinquire(\hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}(cid), ndims=result)
218 \textcolor{keywordflow}{    case default}
219       \textcolor{keyword}{call }\hyperlink{namespacedc__error_a0104aee83ee5752b1a9f6152b11864a8}{storeerror}(nf90\_einval, \textcolor{stringliteral}{'gtdata::ndims'})
220 \textcolor{keywordflow}{    end select}
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__vartable_ae622b02798006661945bef1406c25ea4_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{namespacegtdata__internal__vartable_ae622b02798006661945bef1406c25ea4_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_a6c3912fc042a447a1586ce60f43874dc}\label{namespacegtdata__internal__vartable_a6c3912fc042a447a1586ce60f43874dc}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!query\+\_\+growable@{query\+\_\+growable}}
\index{query\+\_\+growable@{query\+\_\+growable}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{query\+\_\+growable()}{query\_growable()}}
{\footnotesize\ttfamily subroutine, public gtdata\+\_\+internal\+\_\+vartable\+::query\+\_\+growable (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{vid,  }\item[{logical, intent(out)}]{result }\end{DoxyParamCaption})}



Definition at line 224 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



References dc\+\_\+error\+::storeerror(), vartablelookup(), vtb\+\_\+class\+\_\+memory, and vtb\+\_\+class\+\_\+netcdf.



Referenced by gtvarslice().


\begin{DoxyCode}
224     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__types}{gtdata\_netcdf\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}
225     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__generic}{gtdata\_netcdf\_generic}\textcolor{keywordtype}{, only}: \hyperlink{interfacegtdata__generic_1_1inquire}{inquire}
226     \textcolor{keywordtype}{use }\hyperlink{namespacedc__error}{dc\_error}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__error_a0104aee83ee5752b1a9f6152b11864a8}{storeerror}, nf90\_einval
227     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: vid
228     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)}:: result
229     \textcolor{keywordtype}{integer}:: \textcolor{keywordtype}{class}, cid
230     \textcolor{keyword}{call }vartablelookup(vid, \textcolor{keywordtype}{class}, cid)
231     \textcolor{keywordflow}{select case}(class)
232     \textcolor{keywordflow}{case}(vtb\_class\_memory)
233       result = .false.
234     \textcolor{keywordflow}{case}(vtb\_class\_netcdf)
235       \textcolor{keyword}{call }\hyperlink{interfacegtdata__generic_1_1inquire}{inquire}(\hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}(cid), growable=result)
236 \textcolor{keywordflow}{    case default}
237       \textcolor{keyword}{call }\hyperlink{namespacedc__error_a0104aee83ee5752b1a9f6152b11864a8}{storeerror}(nf90\_einval, \textcolor{stringliteral}{'gtdata::ndims'})
238 \textcolor{keywordflow}{    end select}
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__vartable_a6c3912fc042a447a1586ce60f43874dc_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__vartable_a6c3912fc042a447a1586ce60f43874dc_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_ab247c7c0f247a93928a561ec13d9df43}\label{namespacegtdata__internal__vartable_ab247c7c0f247a93928a561ec13d9df43}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!vartable\+\_\+dump@{vartable\+\_\+dump}}
\index{vartable\+\_\+dump@{vartable\+\_\+dump}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{vartable\+\_\+dump()}{vartable\_dump()}}
{\footnotesize\ttfamily subroutine, public gtdata\+\_\+internal\+\_\+vartable\+::vartable\+\_\+dump (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{vid }\end{DoxyParamCaption})}



Definition at line 64 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



References dc\+\_\+trace\+::dbgmessage(), table, vtb\+\_\+class\+\_\+memory, and vtb\+\_\+class\+\_\+netcdf.



Referenced by gtdata\+\_\+internal\+\_\+map\+::gtvar\+\_\+dump().


\begin{DoxyCode}
64     \textcolor{keywordtype}{use }\hyperlink{namespacedc__trace}{dc\_trace}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}
65     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__generic}{gtdata\_netcdf\_generic}\textcolor{keywordtype}{, only}: \hyperlink{interfacegtdata__netcdf__generic_1_1tostring}{tostring}
66     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__types}{gtdata\_netcdf\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}
67     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: vid
68     \textcolor{keywordtype}{character(10)}:: class
69     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{allocated}(table)) \textcolor{keywordflow}{return}
70     \textcolor{keywordflow}{if} (vid <= 0 .or. vid > \textcolor{keyword}{size}(table)) \textcolor{keywordflow}{return}
71     \textcolor{keywordflow}{select case}(table(vid)%class)
72     \textcolor{keywordflow}{case}(vtb\_class\_netcdf)
73       \textcolor{keywordtype}{class} = \textcolor{stringliteral}{'netcdf'}
74     \textcolor{keywordflow}{case}(vtb\_class\_memory)
75       \textcolor{keywordtype}{class} = \textcolor{stringliteral}{'memory'}
76 \textcolor{keywordflow}{    case default}
77       \textcolor{keyword}{write}(\textcolor{keywordtype}{class}, fmt=\textcolor{stringliteral}{"(i10)"}) table(vid)%class
78 \textcolor{keywordflow}{    end select}
79     \textcolor{keyword}{call }\hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}(\textcolor{stringliteral}{'[vartable %d: class=%c cid=%d ref=%d]'}, &
80       & \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}=(/vid, table(vid)%cid, table(vid)%refcount/), &
81       & c1=trim(class))
82     \textcolor{keywordflow}{select case}(table(vid)%class)
83     \textcolor{keywordflow}{case}(vtb\_class\_netcdf)
84       \textcolor{keyword}{call }\hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}(\textcolor{stringliteral}{'[%c]'}, c1=trim(\hyperlink{interfacegtdata__netcdf__generic_1_1tostring}{tostring}(\hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}(table(vid)
      %cid))))
85 \textcolor{keywordflow}{    end select}
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__vartable_ab247c7c0f247a93928a561ec13d9df43_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__vartable_ab247c7c0f247a93928a561ec13d9df43_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_a82fab475ec7a1438a92e5d27c13684d1}\label{namespacegtdata__internal__vartable_a82fab475ec7a1438a92e5d27c13684d1}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!vartableadd@{vartableadd}}
\index{vartableadd@{vartableadd}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{vartableadd()}{vartableadd()}}
{\footnotesize\ttfamily subroutine, public gtdata\+\_\+internal\+\_\+vartable\+::vartableadd (\begin{DoxyParamCaption}\item[{integer, intent(out)}]{vid,  }\item[{integer, intent(in)}]{class,  }\item[{integer, intent(in)}]{cid }\end{DoxyParamCaption})}



Definition at line 96 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



References dc\+\_\+trace\+::dbgmessage(), entry\+\_\+cleanup(), table, table\+\_\+ini\+\_\+size, vid\+\_\+invalid, and vtb\+\_\+class\+\_\+unused.



Referenced by gtdata\+\_\+internal\+\_\+map\+::map\+\_\+create(), and gtdata\+\_\+internal\+\_\+map\+::map\+\_\+dup().


\begin{DoxyCode}
96     \textcolor{keywordtype}{use }\hyperlink{namespacedc__trace}{dc\_trace}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}
97     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}:: vid
98     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: \textcolor{keywordtype}{class}, cid
99     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__vartable_1_1var__table__entry}{var\_table\_entry}), \textcolor{keywordtype}{allocatable}:: tmp\_table(:)
100     \textcolor{keywordtype}{integer}:: n
101   \textcolor{keywordflow}{continue}
102     \textcolor{comment}{! 必要ならば初期幅確保}
103     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{allocated}(table)) \textcolor{keywordflow}{then}
104       \textcolor{keyword}{allocate}(table(table\_ini\_size))
105       \textcolor{keyword}{call }entry\_cleanup(table(:))
106 \textcolor{keywordflow}{    endif}
107     \textcolor{comment}{! 該当があれば参照数増加}
108     \textcolor{keywordflow}{do}, n = 1, \textcolor{keyword}{size}(table)
109       \textcolor{keywordflow}{if} (table(n)%class == \textcolor{keywordtype}{class} .and. table(n)%cid == cid) \textcolor{keywordflow}{then}
110         table(n)%refcount = table(n)%refcount + 1
111         \textcolor{keyword}{call }\hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}(\textcolor{stringliteral}{'gtdata\_vartable.add(class=%d cid=%d) found (ref=%d)'}, &
112           & \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}=(/table(n)%class, table(n)%cid, table(n)%refcount/))
113         vid = n
114         \textcolor{keywordflow}{return}
115 \textcolor{keywordflow}{      endif}
116 \textcolor{keywordflow}{    enddo}
117     \textcolor{comment}{! もし空きが無ければ表を拡張}
118     \textcolor{keywordflow}{if} (all(table(:)%class /= vtb\_class\_unused)) \textcolor{keywordflow}{then}
119       n = \textcolor{keyword}{size}(table)
120       \textcolor{keyword}{allocate}(tmp\_table(n))
121       tmp\_table(:) = table(:)
122       \textcolor{keyword}{deallocate}(table)
123       \textcolor{keyword}{allocate}(table(n * 2))
124       table(1:n) = tmp\_table(1:n)
125       \textcolor{keyword}{deallocate}(tmp\_table)
126       table(n+1:n*2) = \hyperlink{structgtdata__internal__vartable_1_1var__table__entry}{var\_table\_entry}(vtb\_class\_unused, -1, 0)
127 \textcolor{keywordflow}{    endif}
128     \textcolor{keywordflow}{do}, n = 1, \textcolor{keyword}{size}(table)
129       \textcolor{keywordflow}{if} (table(n)%class == vtb\_class\_unused) \textcolor{keywordflow}{then}
130         table(n)%class = class
131         table(n)%cid = cid
132         table(n)%refcount = 1
133         vid = n
134         \textcolor{keywordflow}{return}
135 \textcolor{keywordflow}{      endif}
136 \textcolor{keywordflow}{    enddo}
137     vid = vid\_invalid
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__vartable_a82fab475ec7a1438a92e5d27c13684d1_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__vartable_a82fab475ec7a1438a92e5d27c13684d1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_a0fb95ab458f1dcd34f21b5c5574a63d2}\label{namespacegtdata__internal__vartable_a0fb95ab458f1dcd34f21b5c5574a63d2}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!vartabledelete@{vartabledelete}}
\index{vartabledelete@{vartabledelete}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{vartabledelete()}{vartabledelete()}}
{\footnotesize\ttfamily subroutine, public gtdata\+\_\+internal\+\_\+vartable\+::vartabledelete (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{vid,  }\item[{logical, intent(out)}]{action,  }\item[{logical, intent(out), optional}]{err }\end{DoxyParamCaption})}



Definition at line 141 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



References classes\+\_\+max, table, and vtb\+\_\+class\+\_\+unused.



Referenced by gtvarclose().


\begin{DoxyCode}
141     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: vid
142     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)}:: action
143     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: err
144     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{allocated}(table)) \textcolor{keywordflow}{goto} 999
145     \textcolor{keywordflow}{if} (vid <= 0 .or. vid > \textcolor{keyword}{size}(table)) \textcolor{keywordflow}{goto} 999
146     \textcolor{keywordflow}{if} (table(vid)%class <= vtb\_class\_unused) \textcolor{keywordflow}{goto} 999
147     \textcolor{keywordflow}{if} (table(vid)%class > classes\_max) \textcolor{keywordflow}{goto} 999
148     table(vid)%refcount = \hyperlink{interfacedc__date__generic_1_1max}{max}(table(vid)%refcount - 1, 0)
149     action = (table(vid)%refcount == 0)
150     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(err)) err = .false.
151     \textcolor{keywordflow}{return}
152 999 \textcolor{keywordflow}{continue}
153     action = .false.
154     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(err)) err = .true.
\end{DoxyCode}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=298pt]{namespacegtdata__internal__vartable_a0fb95ab458f1dcd34f21b5c5574a63d2_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_a1bddf47a2cacc8db25b6fa2c32ed68db}\label{namespacegtdata__internal__vartable_a1bddf47a2cacc8db25b6fa2c32ed68db}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!vartablelookup@{vartablelookup}}
\index{vartablelookup@{vartablelookup}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{vartablelookup()}{vartablelookup()}}
{\footnotesize\ttfamily subroutine, public gtdata\+\_\+internal\+\_\+vartable\+::vartablelookup (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{vid,  }\item[{integer, intent(out), optional}]{class,  }\item[{integer, intent(out), optional}]{cid }\end{DoxyParamCaption})}



Definition at line 158 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



References classes\+\_\+max, table, and vtb\+\_\+class\+\_\+unused.



Referenced by dimrange\+\_\+direct(), gtvarclose(), gtdata\+\_\+internal\+\_\+map\+::map\+\_\+dup(), gtdata\+\_\+internal\+\_\+map\+::map\+\_\+set\+\_\+ndims(), gtdata\+\_\+internal\+\_\+map\+::map\+\_\+set\+\_\+rank(), ndims(), query\+\_\+growable(), and gtdata\+\_\+internal\+\_\+map\+::var\+\_\+class().


\begin{DoxyCode}
158     \textcolor{comment}{! 同じファイル番号の変数表の中身を返す}
159     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: vid
160     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: \textcolor{keywordtype}{class}, cid
161     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{allocated}(table)) \textcolor{keywordflow}{goto} 999
162     \textcolor{keywordflow}{if} (vid <= 0 .or. vid > \textcolor{keyword}{size}(table)) \textcolor{keywordflow}{goto} 999
163     \textcolor{keywordflow}{if} (table(vid)%class <= vtb\_class\_unused) \textcolor{keywordflow}{goto} 999
164     \textcolor{keywordflow}{if} (table(vid)%class > classes\_max) \textcolor{keywordflow}{goto} 999
165     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(class)) \textcolor{keywordtype}{class} = table(vid)%class
166     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(cid)) cid = table(vid)%cid
167     \textcolor{keywordflow}{return}
168 999 \textcolor{keywordflow}{continue}
169     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(class)) \textcolor{keywordtype}{class} = vtb\_class\_unused
\end{DoxyCode}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{namespacegtdata__internal__vartable_a1bddf47a2cacc8db25b6fa2c32ed68db_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_a751cac6e9c6372ddbed395624357806d}\label{namespacegtdata__internal__vartable_a751cac6e9c6372ddbed395624357806d}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!vartablemore@{vartablemore}}
\index{vartablemore@{vartablemore}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{vartablemore()}{vartablemore()}}
{\footnotesize\ttfamily subroutine, public gtdata\+\_\+internal\+\_\+vartable\+::vartablemore (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{vid,  }\item[{logical, intent(out), optional}]{err }\end{DoxyParamCaption})}



Definition at line 173 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



References classes\+\_\+max, table, and vtb\+\_\+class\+\_\+unused.


\begin{DoxyCode}
173     \textcolor{comment}{! 同じファイル番号の参照カウントを増加する。}
174     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: vid
175     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: err
176     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{allocated}(table)) \textcolor{keywordflow}{goto} 999
177     \textcolor{keywordflow}{if} (vid <= 0 .or. vid > \textcolor{keyword}{size}(table)) \textcolor{keywordflow}{goto} 999
178     \textcolor{keywordflow}{if} (table(vid)%class <= vtb\_class\_unused) \textcolor{keywordflow}{goto} 999
179     \textcolor{keywordflow}{if} (table(vid)%class > classes\_max) \textcolor{keywordflow}{goto} 999
180     table(vid)%refcount = table(vid)%refcount + 1
181     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(err)) err = .false.
182     \textcolor{keywordflow}{return}
183 999 \textcolor{keywordflow}{continue}
184     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(err)) err = .true.
\end{DoxyCode}


\subsection{Variable Documentation}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_a1f6bc8deac28b5ae7650b25285cdce95}\label{namespacegtdata__internal__vartable_a1f6bc8deac28b5ae7650b25285cdce95}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!classes\+\_\+max@{classes\+\_\+max}}
\index{classes\+\_\+max@{classes\+\_\+max}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{classes\+\_\+max}{classes\_max}}
{\footnotesize\ttfamily integer, parameter, public gtdata\+\_\+internal\+\_\+vartable\+::classes\+\_\+max = 2}



Definition at line 38 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



Referenced by vartabledelete(), vartablelookup(), and vartablemore().


\begin{DoxyCode}
38   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}, \textcolor{keywordtype}{public} :: classes\_max = 2
\end{DoxyCode}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_aaa4c37aba75313a971d0996e831aeda3}\label{namespacegtdata__internal__vartable_aaa4c37aba75313a971d0996e831aeda3}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!gdnc\+\_\+search@{gdnc\+\_\+search}}
\index{gdnc\+\_\+search@{gdnc\+\_\+search}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{gdnc\+\_\+search}{gdnc\_search}}
{\footnotesize\ttfamily type(gd\+\_\+nc\+\_\+variable\+\_\+search), save, public gtdata\+\_\+internal\+\_\+vartable\+::gdnc\+\_\+search}



Definition at line 49 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



Referenced by gtvarsearchinit(), and gtvarsearchnext().


\begin{DoxyCode}
49   \textcolor{keywordtype}{type}(\hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable__search}{gd\_nc\_variable\_search}), \textcolor{keywordtype}{public}, \textcolor{keywordtype}{save}:: gdnc\_search
\end{DoxyCode}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_a551243d802ce3ab709035d130b411ae9}\label{namespacegtdata__internal__vartable_a551243d802ce3ab709035d130b411ae9}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!table@{table}}
\index{table@{table}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{table}{table}}
{\footnotesize\ttfamily type(\hyperlink{structgtdata__internal__vartable_1_1var__table__entry}{var\+\_\+table\+\_\+entry}), dimension(\+:), allocatable, save, private gtdata\+\_\+internal\+\_\+vartable\+::table\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 46 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



Referenced by vartable\+\_\+dump(), vartableadd(), vartabledelete(), vartablelookup(), and vartablemore().


\begin{DoxyCode}
46   \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__vartable_1_1var__table__entry}{var\_table\_entry}), \textcolor{keywordtype}{save}, \textcolor{keywordtype}{allocatable}:: table(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_a8742b440594ec8eed29fc98b65f852bb}\label{namespacegtdata__internal__vartable_a8742b440594ec8eed29fc98b65f852bb}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!table\+\_\+ini\+\_\+size@{table\+\_\+ini\+\_\+size}}
\index{table\+\_\+ini\+\_\+size@{table\+\_\+ini\+\_\+size}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{table\+\_\+ini\+\_\+size}{table\_ini\_size}}
{\footnotesize\ttfamily integer, parameter, private gtdata\+\_\+internal\+\_\+vartable\+::table\+\_\+ini\+\_\+size = 16\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 47 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



Referenced by vartableadd().


\begin{DoxyCode}
47   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}:: table\_ini\_size = 16
\end{DoxyCode}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_a5df57179700a2e502b214711f87168c4}\label{namespacegtdata__internal__vartable_a5df57179700a2e502b214711f87168c4}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!vid\+\_\+invalid@{vid\+\_\+invalid}}
\index{vid\+\_\+invalid@{vid\+\_\+invalid}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{vid\+\_\+invalid}{vid\_invalid}}
{\footnotesize\ttfamily integer, parameter, public gtdata\+\_\+internal\+\_\+vartable\+::vid\+\_\+invalid = -\/1}



Definition at line 33 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



Referenced by gtdata\+\_\+internal\+\_\+map\+::map\+\_\+lookup(), gtdata\+\_\+internal\+\_\+map\+::map\+\_\+set(), gtdata\+\_\+internal\+\_\+map\+::maptabadd(), gtdata\+\_\+internal\+\_\+map\+::maptabdelete(), and vartableadd().


\begin{DoxyCode}
33   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}, \textcolor{keywordtype}{public} :: vid\_invalid = -1
\end{DoxyCode}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_a05f7bfdecff1df5618e9be7788d8d48f}\label{namespacegtdata__internal__vartable_a05f7bfdecff1df5618e9be7788d8d48f}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!vtb\+\_\+class\+\_\+memory@{vtb\+\_\+class\+\_\+memory}}
\index{vtb\+\_\+class\+\_\+memory@{vtb\+\_\+class\+\_\+memory}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{vtb\+\_\+class\+\_\+memory}{vtb\_class\_memory}}
{\footnotesize\ttfamily integer, parameter, public gtdata\+\_\+internal\+\_\+vartable\+::vtb\+\_\+class\+\_\+memory = 1}



Definition at line 36 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



Referenced by dimrange\+\_\+direct(), ndims(), query\+\_\+growable(), and vartable\+\_\+dump().


\begin{DoxyCode}
36   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}, \textcolor{keywordtype}{public} :: vtb\_class\_memory = 1
\end{DoxyCode}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_a8881078f064af94c15a18b94ea5af49b}\label{namespacegtdata__internal__vartable_a8881078f064af94c15a18b94ea5af49b}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!vtb\+\_\+class\+\_\+netcdf@{vtb\+\_\+class\+\_\+netcdf}}
\index{vtb\+\_\+class\+\_\+netcdf@{vtb\+\_\+class\+\_\+netcdf}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{vtb\+\_\+class\+\_\+netcdf}{vtb\_class\_netcdf}}
{\footnotesize\ttfamily integer, parameter, public gtdata\+\_\+internal\+\_\+vartable\+::vtb\+\_\+class\+\_\+netcdf = 2}



Definition at line 37 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



Referenced by dimrange\+\_\+direct(), ndims(), query\+\_\+growable(), and vartable\+\_\+dump().


\begin{DoxyCode}
37   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}, \textcolor{keywordtype}{public} :: vtb\_class\_netcdf = 2
\end{DoxyCode}
\mbox{\Hypertarget{namespacegtdata__internal__vartable_aec4f073e19f0eb04d55229f478c745c7}\label{namespacegtdata__internal__vartable_aec4f073e19f0eb04d55229f478c745c7}} 
\index{gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}!vtb\+\_\+class\+\_\+unused@{vtb\+\_\+class\+\_\+unused}}
\index{vtb\+\_\+class\+\_\+unused@{vtb\+\_\+class\+\_\+unused}!gtdata\+\_\+internal\+\_\+vartable@{gtdata\+\_\+internal\+\_\+vartable}}
\subsubsection{\texorpdfstring{vtb\+\_\+class\+\_\+unused}{vtb\_class\_unused}}
{\footnotesize\ttfamily integer, parameter, public gtdata\+\_\+internal\+\_\+vartable\+::vtb\+\_\+class\+\_\+unused = 0}



Definition at line 35 of file gtdata\+\_\+internal\+\_\+vartable.\+f90.



Referenced by entry\+\_\+cleanup(), vartableadd(), vartabledelete(), vartablelookup(), and vartablemore().


\begin{DoxyCode}
35   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}, \textcolor{keywordtype}{public} :: vtb\_class\_unused = 0
\end{DoxyCode}
