\hypertarget{gdncvargetnum_8f90}{}\section{gtdata/gtdata\+\_\+netcdf/gdncvargetnum.f90 File Reference}
\label{gdncvargetnum_8f90}\index{gtdata/gtdata\+\_\+netcdf/gdncvargetnum.\+f90@{gtdata/gtdata\+\_\+netcdf/gdncvargetnum.\+f90}}
\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine \hyperlink{gdncvargetnum_8f90_a1ceb865d3e48e354d918864d3fc2f9e0}{gdncvargetreal} (var, start, cnt, stride, imap, siz, val, iostat)
\item 
subroutine \hyperlink{gdncvargetnum_8f90_afbc21276755974decaafdf27fada07ca}{gdncvargetdouble} (var, start, cnt, stride, imap, siz, val, iostat)
\item 
subroutine \hyperlink{gdncvargetnum_8f90_a7ed56496aa51bc1c7b0b9558bb43f8eb}{gdncvargetint} (var, start, cnt, stride, imap, siz, val, iostat)
\end{DoxyCompactItemize}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{gdncvargetnum_8f90_afbc21276755974decaafdf27fada07ca}\label{gdncvargetnum_8f90_afbc21276755974decaafdf27fada07ca}} 
\index{gdncvargetnum.\+f90@{gdncvargetnum.\+f90}!gdncvargetdouble@{gdncvargetdouble}}
\index{gdncvargetdouble@{gdncvargetdouble}!gdncvargetnum.\+f90@{gdncvargetnum.\+f90}}
\subsubsection{\texorpdfstring{gdncvargetdouble()}{gdncvargetdouble()}}
{\footnotesize\ttfamily subroutine gdncvargetdouble (\begin{DoxyParamCaption}\item[{type(gd\+\_\+nc\+\_\+variable), intent(in)}]{var,  }\item[{integer, dimension(\+:), intent(in)}]{start,  }\item[{integer, dimension(\+:), intent(in)}]{cnt,  }\item[{integer, dimension(\+:), intent(in)}]{stride,  }\item[{integer, dimension(\+:), intent(in)}]{imap,  }\item[{integer, intent(in)}]{siz,  }\item[{real(dp), dimension(siz), intent(out)}]{val,  }\item[{integer, intent(out)}]{iostat }\end{DoxyParamCaption})}



Definition at line 86 of file gdncvargetnum.\+f90.



References dc\+\_\+types\+::dp, and gtdata\+\_\+netcdf\+\_\+internal\+::vtable\+\_\+lookup().


\begin{DoxyCode}
86   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__types}{gtdata\_netcdf\_types}\textcolor{keywordtype}{,    only}: \hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}
87   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__internal}{gtdata\_netcdf\_internal}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable__entry}{gd\_nc\_variable\_entry}, 
      \hyperlink{namespacegtdata__netcdf__internal_afe013c8012ec100bf1e94e5147c340de}{vtable\_lookup}
88   \textcolor{keywordtype}{use }netcdf\textcolor{keywordtype}{, only}:   &
89     & nf90\_noerr,     &
90     & nf90\_einval,    &
91     & nf90\_eindefine, &
92     & nf90\_get\_var,   &
93     & nf90\_redef,     &
94     & nf90\_enddef
95   \textcolor{keywordtype}{use }\hyperlink{namespacedc__types}{dc\_types}\textcolor{keywordtype}{,    only}: \hyperlink{namespacedc__types_ac74a34430fcd3d0eb2344f19d536c086}{dp}
96   \textcolor{keywordtype}{implicit none}
97   \textcolor{keywordtype}{type}(\hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}), \textcolor{keywordtype}{intent(in)}:: var
98   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: start(:)
99   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: cnt(:)
100   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: stride(:)
101   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: imap(:)
102   \textcolor{comment}{! NetCDF変数と内部データ配列のメモリ内構}
103   \textcolor{comment}{! 造間のマッピングを指定する整数ベクトル.}
104   \textcolor{comment}{! 詳しくは NetCDF マニュアル}
105   \textcolor{comment}{! (NF\_PUT\_VARM\_type 等 を参照のこと)}
106   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: siz
107   \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(out)}:: val(siz)
108   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}:: iostat
109   \textcolor{keywordtype}{integer}:: nd \textcolor{comment}{! var が保持する変数が依存する次元変数の数}
110   \textcolor{keywordtype}{integer}:: ipos, i
111   \textcolor{keywordtype}{type}(\hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable__entry}{gd\_nc\_variable\_entry}):: ent
112   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable}:: istart(:), istride(:), iimap(:)
113   \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{parameter}:: subname = \textcolor{stringliteral}{'GDNcVarGetDouble'}
114   \textcolor{keywordflow}{continue}
115   iostat = \hyperlink{namespacegtdata__netcdf__internal_afe013c8012ec100bf1e94e5147c340de}{vtable\_lookup}(var, ent)
116   \textcolor{keywordflow}{if} (iostat /= nf90\_noerr) \textcolor{keywordflow}{goto} 999
117   \textcolor{comment}{! --- nd check ---}
118   nd = 0
119   \textcolor{keywordflow}{if} (\textcolor{keyword}{associated}(ent%dimids)) nd = \textcolor{keyword}{size}(ent%dimids)
120   \textcolor{keywordflow}{if} (\hyperlink{interfacedc__date__generic_1_1min}{min}(\textcolor{keyword}{size}(start), \textcolor{keyword}{size}(cnt), \textcolor{keyword}{size}(stride), \textcolor{keyword}{size}(imap)) < nd) \textcolor{keywordflow}{then}
121     iostat = nf90\_einval
122     \textcolor{keywordflow}{goto} 999
123 \textcolor{keywordflow}{  endif}
124   \textcolor{keywordflow}{if} (nd == 0) \textcolor{keywordflow}{then}
125     iostat = nf90\_get\_var(ent%fileid, ent%varid, val(1), start)
126     \textcolor{keywordflow}{goto} 999
127 \textcolor{keywordflow}{  endif}
128   \textcolor{comment}{! --- stride ovarwrite buffer ---}
129   \textcolor{keyword}{allocate}(istart(nd), istride(nd), iimap(nd))
130   istart(1:nd) = start(1:nd)
131   istride(1:nd) = stride(1:nd)
132   iimap(1:nd) = imap(1:nd)
133   ipos = 1
134   \textcolor{comment}{! --- do read ---}
135   iostat = nf90\_get\_var(ent%fileid, ent%varid, val, istart, cnt, istride, iimap)
136   \textcolor{keywordflow}{if} (iostat == nf90\_eindefine) \textcolor{keywordflow}{then}
137     iostat = nf90\_enddef(ent%fileid)
138     \textcolor{keywordflow}{if} (iostat /= nf90\_noerr) \textcolor{keywordflow}{return}
139     iostat = nf90\_get\_var(ent%fileid, ent%varid, val, istart, cnt, istride, iimap)
140     \textcolor{keywordflow}{if} (iostat /= nf90\_noerr) \textcolor{keywordflow}{return}
141     iostat = nf90\_redef(ent%fileid)
142     \textcolor{keywordflow}{if} (iostat /= nf90\_noerr) \textcolor{keywordflow}{return}
143 \textcolor{keywordflow}{  end if}
144   \textcolor{keyword}{deallocate}(istart, istride, iimap)
145 999 \textcolor{keywordflow}{continue}
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=322pt]{gdncvargetnum_8f90_afbc21276755974decaafdf27fada07ca_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gdncvargetnum_8f90_a7ed56496aa51bc1c7b0b9558bb43f8eb}\label{gdncvargetnum_8f90_a7ed56496aa51bc1c7b0b9558bb43f8eb}} 
\index{gdncvargetnum.\+f90@{gdncvargetnum.\+f90}!gdncvargetint@{gdncvargetint}}
\index{gdncvargetint@{gdncvargetint}!gdncvargetnum.\+f90@{gdncvargetnum.\+f90}}
\subsubsection{\texorpdfstring{gdncvargetint()}{gdncvargetint()}}
{\footnotesize\ttfamily subroutine gdncvargetint (\begin{DoxyParamCaption}\item[{type(gd\+\_\+nc\+\_\+variable), intent(in)}]{var,  }\item[{integer, dimension(\+:), intent(in)}]{start,  }\item[{integer, dimension(\+:), intent(in)}]{cnt,  }\item[{integer, dimension(\+:), intent(in)}]{stride,  }\item[{integer, dimension(\+:), intent(in)}]{imap,  }\item[{integer, intent(in)}]{siz,  }\item[{integer, dimension(siz), intent(out)}]{val,  }\item[{integer, intent(out)}]{iostat }\end{DoxyParamCaption})}



Definition at line 149 of file gdncvargetnum.\+f90.



References gtdata\+\_\+netcdf\+\_\+internal\+::vtable\+\_\+lookup().


\begin{DoxyCode}
149   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__types}{gtdata\_netcdf\_types}\textcolor{keywordtype}{,    only}: \hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}
150   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__internal}{gtdata\_netcdf\_internal}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable__entry}{gd\_nc\_variable\_entry}, 
      \hyperlink{namespacegtdata__netcdf__internal_afe013c8012ec100bf1e94e5147c340de}{vtable\_lookup}
151   \textcolor{keywordtype}{use }netcdf\textcolor{keywordtype}{, only}:   &
152     & nf90\_noerr,     &
153     & nf90\_einval,    &
154     & nf90\_eindefine, &
155     & nf90\_get\_var,   &
156     & nf90\_redef,     &
157     & nf90\_enddef
158   \textcolor{keywordtype}{implicit none}
159   \textcolor{keywordtype}{type}(\hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}), \textcolor{keywordtype}{intent(in)}:: var
160   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: start(:)
161   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: cnt(:)
162   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: stride(:)
163   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: imap(:)
164   \textcolor{comment}{! NetCDF変数と内部データ配列のメモリ内構}
165   \textcolor{comment}{! 造間のマッピングを指定する整数ベクトル.}
166   \textcolor{comment}{! 詳しくは NetCDF マニュアル}
167   \textcolor{comment}{! (NF\_PUT\_VARM\_type 等 を参照のこと)}
168   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: siz
169   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}:: val(siz)
170   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}:: iostat
171   \textcolor{keywordtype}{integer}:: nd \textcolor{comment}{! var が保持する変数が依存する次元変数の数}
172   \textcolor{keywordtype}{integer}:: ipos, i
173   \textcolor{keywordtype}{type}(\hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable__entry}{gd\_nc\_variable\_entry}):: ent
174   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable}:: istart(:), istride(:), iimap(:)
175   \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{parameter}:: subname = \textcolor{stringliteral}{'GDNcVarGetInt'}
176   \textcolor{keywordflow}{continue}
177   iostat = \hyperlink{namespacegtdata__netcdf__internal_afe013c8012ec100bf1e94e5147c340de}{vtable\_lookup}(var, ent)
178   \textcolor{keywordflow}{if} (iostat /= nf90\_noerr) \textcolor{keywordflow}{goto} 999
179   \textcolor{comment}{! --- nd check ---}
180   nd = 0
181   \textcolor{keywordflow}{if} (\textcolor{keyword}{associated}(ent%dimids)) nd = \textcolor{keyword}{size}(ent%dimids)
182   \textcolor{keywordflow}{if} (\hyperlink{interfacedc__date__generic_1_1min}{min}(\textcolor{keyword}{size}(start), \textcolor{keyword}{size}(cnt), \textcolor{keyword}{size}(stride), \textcolor{keyword}{size}(imap)) < nd) \textcolor{keywordflow}{then}
183     iostat = nf90\_einval
184     \textcolor{keywordflow}{goto} 999
185 \textcolor{keywordflow}{  endif}
186   \textcolor{keywordflow}{if} (nd == 0) \textcolor{keywordflow}{then}
187     iostat = nf90\_get\_var(ent%fileid, ent%varid, val(1), start)
188     \textcolor{keywordflow}{goto} 999
189 \textcolor{keywordflow}{  endif}
190   \textcolor{comment}{! --- stride ovarwrite buffer ---}
191   \textcolor{keyword}{allocate}(istart(nd), istride(nd), iimap(nd))
192   istart(1:nd) = start(1:nd)
193   istride(1:nd) = stride(1:nd)
194   iimap(1:nd) = imap(1:nd)
195   ipos = 1
196   \textcolor{comment}{! --- do read ---}
197   iostat = nf90\_get\_var(ent%fileid, ent%varid, val, istart, cnt, istride, iimap)
198   \textcolor{keywordflow}{if} (iostat == nf90\_eindefine) \textcolor{keywordflow}{then}
199     iostat = nf90\_enddef(ent%fileid)
200     \textcolor{keywordflow}{if} (iostat /= nf90\_noerr) \textcolor{keywordflow}{return}
201     iostat = nf90\_get\_var(ent%fileid, ent%varid, val, istart, cnt, istride, iimap)
202     \textcolor{keywordflow}{if} (iostat /= nf90\_noerr) \textcolor{keywordflow}{return}
203     iostat = nf90\_redef(ent%fileid)
204     \textcolor{keywordflow}{if} (iostat /= nf90\_noerr) \textcolor{keywordflow}{return}
205 \textcolor{keywordflow}{  end if}
206   \textcolor{keyword}{deallocate}(istart, istride, iimap)
207 999 \textcolor{keywordflow}{continue}
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=304pt]{gdncvargetnum_8f90_a7ed56496aa51bc1c7b0b9558bb43f8eb_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gdncvargetnum_8f90_a1ceb865d3e48e354d918864d3fc2f9e0}\label{gdncvargetnum_8f90_a1ceb865d3e48e354d918864d3fc2f9e0}} 
\index{gdncvargetnum.\+f90@{gdncvargetnum.\+f90}!gdncvargetreal@{gdncvargetreal}}
\index{gdncvargetreal@{gdncvargetreal}!gdncvargetnum.\+f90@{gdncvargetnum.\+f90}}
\subsubsection{\texorpdfstring{gdncvargetreal()}{gdncvargetreal()}}
{\footnotesize\ttfamily subroutine gdncvargetreal (\begin{DoxyParamCaption}\item[{type(gd\+\_\+nc\+\_\+variable), intent(in)}]{var,  }\item[{integer, dimension(\+:), intent(in)}]{start,  }\item[{integer, dimension(\+:), intent(in)}]{cnt,  }\item[{integer, dimension(\+:), intent(in)}]{stride,  }\item[{integer, dimension(\+:), intent(in)}]{imap,  }\item[{integer, intent(in)}]{siz,  }\item[{real(sp), dimension(siz), intent(out)}]{val,  }\item[{integer, intent(out)}]{iostat }\end{DoxyParamCaption})}



Definition at line 23 of file gdncvargetnum.\+f90.



References dc\+\_\+types\+::sp, and gtdata\+\_\+netcdf\+\_\+internal\+::vtable\+\_\+lookup().


\begin{DoxyCode}
23   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__types}{gtdata\_netcdf\_types}\textcolor{keywordtype}{,    only}: \hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}
24   \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__netcdf__internal}{gtdata\_netcdf\_internal}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable__entry}{gd\_nc\_variable\_entry}, 
      \hyperlink{namespacegtdata__netcdf__internal_afe013c8012ec100bf1e94e5147c340de}{vtable\_lookup}
25   \textcolor{keywordtype}{use }netcdf\textcolor{keywordtype}{, only}:   &
26     & nf90\_noerr,     &
27     & nf90\_einval,    &
28     & nf90\_eindefine, &
29     & nf90\_get\_var,   &
30     & nf90\_redef,     &
31     & nf90\_enddef
32   \textcolor{keywordtype}{use }\hyperlink{namespacedc__types}{dc\_types}\textcolor{keywordtype}{,    only}: \hyperlink{namespacedc__types_a1059e567d99c60c9d08992a95cd2e9a5}{sp}
33   \textcolor{keywordtype}{implicit none}
34   \textcolor{keywordtype}{type}(\hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable}{gd\_nc\_variable}), \textcolor{keywordtype}{intent(in)}:: var
35   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: start(:)
36   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: cnt(:)
37   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: stride(:)
38   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: imap(:)
39   \textcolor{comment}{! NetCDF変数と内部データ配列のメモリ内構}
40   \textcolor{comment}{! 造間のマッピングを指定する整数ベクトル.}
41   \textcolor{comment}{! 詳しくは NetCDF マニュアル}
42   \textcolor{comment}{! (NF\_PUT\_VARM\_type 等 を参照のこと)}
43   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: siz
44   \textcolor{keywordtype}{real(SP)}, \textcolor{keywordtype}{intent(out)}:: val(siz)
45   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}:: iostat
46   \textcolor{keywordtype}{integer}:: nd \textcolor{comment}{! var が保持する変数が依存する次元変数の数}
47   \textcolor{keywordtype}{integer}:: ipos, i
48   \textcolor{keywordtype}{type}(\hyperlink{structgtdata__netcdf__types_1_1gd__nc__variable__entry}{gd\_nc\_variable\_entry}):: ent
49   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable}:: istart(:), istride(:), iimap(:)
50   \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{parameter}:: subname = \textcolor{stringliteral}{'GDNcVarGetReal'}
51   \textcolor{keywordflow}{continue}
52   iostat = \hyperlink{namespacegtdata__netcdf__internal_afe013c8012ec100bf1e94e5147c340de}{vtable\_lookup}(var, ent)
53   \textcolor{keywordflow}{if} (iostat /= nf90\_noerr) \textcolor{keywordflow}{goto} 999
54   \textcolor{comment}{! --- nd check ---}
55   nd = 0
56   \textcolor{keywordflow}{if} (\textcolor{keyword}{associated}(ent%dimids)) nd = \textcolor{keyword}{size}(ent%dimids)
57   \textcolor{keywordflow}{if} (\hyperlink{interfacedc__date__generic_1_1min}{min}(\textcolor{keyword}{size}(start), \textcolor{keyword}{size}(cnt), \textcolor{keyword}{size}(stride), \textcolor{keyword}{size}(imap)) < nd) \textcolor{keywordflow}{then}
58     iostat = nf90\_einval
59     \textcolor{keywordflow}{goto} 999
60 \textcolor{keywordflow}{  endif}
61   \textcolor{keywordflow}{if} (nd == 0) \textcolor{keywordflow}{then}
62     iostat = nf90\_get\_var(ent%fileid, ent%varid, val(1), start)
63     \textcolor{keywordflow}{goto} 999
64 \textcolor{keywordflow}{  endif}
65   \textcolor{comment}{! --- stride ovarwrite buffer ---}
66   \textcolor{keyword}{allocate}(istart(nd), istride(nd), iimap(nd))
67   istart(1:nd) = start(1:nd)
68   istride(1:nd) = stride(1:nd)
69   iimap(1:nd) = imap(1:nd)
70   ipos = 1
71   \textcolor{comment}{! --- do read ---}
72   iostat = nf90\_get\_var(ent%fileid, ent%varid, val, istart, cnt, istride, iimap)
73   \textcolor{keywordflow}{if} (iostat == nf90\_eindefine) \textcolor{keywordflow}{then}
74     iostat = nf90\_enddef(ent%fileid)
75     \textcolor{keywordflow}{if} (iostat /= nf90\_noerr) \textcolor{keywordflow}{return}
76     iostat = nf90\_get\_var(ent%fileid, ent%varid, val, istart, cnt, istride, iimap)
77     \textcolor{keywordflow}{if} (iostat /= nf90\_noerr) \textcolor{keywordflow}{return}
78     iostat = nf90\_redef(ent%fileid)
79     \textcolor{keywordflow}{if} (iostat /= nf90\_noerr) \textcolor{keywordflow}{return}
80 \textcolor{keywordflow}{  end if}
81   \textcolor{keyword}{deallocate}(istart, istride, iimap)
82 999 \textcolor{keywordflow}{continue}
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=309pt]{gdncvargetnum_8f90_a1ceb865d3e48e354d918864d3fc2f9e0_cgraph}
\end{center}
\end{figure}
