\hypertarget{namespacegtdata__internal__map}{}\section{gtdata\+\_\+internal\+\_\+map Module Reference}
\label{namespacegtdata__internal__map}\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsection*{Data Types}
\begin{DoxyCompactItemize}
\item 
interface \hyperlink{interfacegtdata__internal__map_1_1dimrange}{dimrange}
\item 
type \hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\+\_\+dimmap}
\item 
type \hyperlink{structgtdata__internal__map_1_1map__table__entry}{map\+\_\+table\+\_\+entry}
\end{DoxyCompactItemize}
\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine \hyperlink{namespacegtdata__internal__map_aa967db174c30a859cad6bda4675f3594}{dimrange\+\_\+by\+\_\+dimno} (var, dimno, dimlo, dimhi)
\item 
subroutine \hyperlink{namespacegtdata__internal__map_abd624f8e775fa18a68b90ed01ec6e0f3}{map\+\_\+dup} (var, source\+\_\+var)
\item 
subroutine, public \hyperlink{namespacegtdata__internal__map_ab8c5494c00d4dd85417e891b762f77d9}{map\+\_\+create} (var, class, cid, ndims, allcount, stat)
\item 
subroutine, public \hyperlink{namespacegtdata__internal__map_aa0f727646e588a97e73dac30fb02ef25}{maptabadd} (mapid, vid)
\item 
subroutine, public \hyperlink{namespacegtdata__internal__map_a4d64e68c2ccbf5729f07a64822f90726}{maptabdelete} (var, err)
\item 
subroutine, public \hyperlink{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}{map\+\_\+lookup} (var, vid, map, ndims)
\item 
subroutine \hyperlink{namespacegtdata__internal__map_a2e6a789c1c8f4850421da11f10081cb7}{map\+\_\+set} (var, map, stat)
\item 
subroutine, public \hyperlink{namespacegtdata__internal__map_a86b920031832bea17e70a6bf4623c3d9}{var\+\_\+class} (var, class, cid)
\item 
subroutine \hyperlink{namespacegtdata__internal__map_a12dffe35d93120bca94db15c47818ae1}{map\+\_\+set\+\_\+ndims} (var, ndims, stat)
\item 
subroutine \hyperlink{namespacegtdata__internal__map_ade13b31dac124116c651f89ee2a693ef}{map\+\_\+set\+\_\+rank} (var, rank, stat)
\item 
subroutine, public \hyperlink{namespacegtdata__internal__map_a392037efec5853031c3f9fac8f52c507}{map\+\_\+to\+\_\+internal\+\_\+specs} (var, specs, ndims)
\item 
subroutine \hyperlink{namespacegtdata__internal__map_a53ed1ebec2d5efdf436782f9956fb13d}{map\+\_\+allocate} (map, ndims)
\item 
subroutine \hyperlink{namespacegtdata__internal__map_a0ae3e37d788b82682e1c22b0dfe09214}{map\+\_\+apply} (var, map)
\item 
subroutine \hyperlink{namespacegtdata__internal__map_ae904583b5f08e47440b3d0dc46996b22}{map\+\_\+resize} (var, ndims)
\item 
subroutine \hyperlink{namespacegtdata__internal__map_acbda65a71acbd7d3ba6175c6f4fceff0}{gtvar\+\_\+dump} (var)
\item 
integer function \hyperlink{namespacegtdata__internal__map_a44f4fb36cd72433854ba6bdc6634500f}{dimord\+\_\+skip\+\_\+compact} (dimord, map)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
type(\hyperlink{structgtdata__internal__map_1_1map__table__entry}{map\+\_\+table\+\_\+entry}), dimension(\+:), allocatable, target, save, private \hyperlink{namespacegtdata__internal__map_a0c5258fa593622394c8eb8a76d2d708d}{maptab}
\item 
integer, parameter, private \hyperlink{namespacegtdata__internal__map_a4fa92a4b395754f6039b8270f6335168}{maptab\+\_\+init\+\_\+size} = 16
\end{DoxyCompactItemize}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacegtdata__internal__map_a44f4fb36cd72433854ba6bdc6634500f}\label{namespacegtdata__internal__map_a44f4fb36cd72433854ba6bdc6634500f}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!dimord\+\_\+skip\+\_\+compact@{dimord\+\_\+skip\+\_\+compact}}
\index{dimord\+\_\+skip\+\_\+compact@{dimord\+\_\+skip\+\_\+compact}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{dimord\+\_\+skip\+\_\+compact()}{dimord\_skip\_compact()}}
{\footnotesize\ttfamily integer function gtdata\+\_\+internal\+\_\+map\+::dimord\+\_\+skip\+\_\+compact (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{dimord,  }\item[{type(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\+\_\+dimmap}), dimension(\+:), intent(in)}]{map }\end{DoxyParamCaption})}



Definition at line 520 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References dc\+\_\+trace\+::dbgmessage().



Referenced by gtvarexchdim(), gtvargetslice(), and gtvaropenbydimord().


\begin{DoxyCode}
520     \textcolor{comment}{! 次元表の中で非縮退次元だけを数えた次元番号 dimord の次元を}
521     \textcolor{comment}{! 特定し、外部向けの次元番号を返す。}
522     \textcolor{keywordtype}{use }\hyperlink{namespacedc__trace}{dc\_trace}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}
523     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: dimord
524     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{intent(in)}:: map(:)
525     \textcolor{keywordtype}{integer}:: nd, id
526     result = -1
527     nd = 0
528     \textcolor{keywordflow}{do}, id = 1, \textcolor{keyword}{size}(map)
529       \textcolor{keywordflow}{if} (map(id)%count < 2) cycle
530       nd = nd + 1
531       \textcolor{keywordflow}{if} (nd < dimord) cycle
532       result = id
533       \textcolor{keyword}{call }\hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}(\textcolor{stringliteral}{'compact dim skip: %d <= %d'}, \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}=(/result, dimord/))
534       \textcolor{keywordflow}{exit}
535 \textcolor{keywordflow}{    enddo}
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__map_a44f4fb36cd72433854ba6bdc6634500f_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__map_a44f4fb36cd72433854ba6bdc6634500f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_aa967db174c30a859cad6bda4675f3594}\label{namespacegtdata__internal__map_aa967db174c30a859cad6bda4675f3594}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!dimrange\+\_\+by\+\_\+dimno@{dimrange\+\_\+by\+\_\+dimno}}
\index{dimrange\+\_\+by\+\_\+dimno@{dimrange\+\_\+by\+\_\+dimno}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{dimrange\+\_\+by\+\_\+dimno()}{dimrange\_by\_dimno()}}
{\footnotesize\ttfamily subroutine gtdata\+\_\+internal\+\_\+map\+::dimrange\+\_\+by\+\_\+dimno (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__types_1_1gt__variable}{gt\+\_\+variable}), intent(in)}]{var,  }\item[{integer, intent(in)}]{dimno,  }\item[{integer, intent(out)}]{dimlo,  }\item[{integer, intent(out)}]{dimhi }\end{DoxyParamCaption})}



Definition at line 84 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References map\+\_\+lookup().


\begin{DoxyCode}
84     \textcolor{comment}{! 変数と次元番号を指定して、当該次元の内部的添字番号範囲を得る}
85     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}
86     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__generic}{gtdata\_generic}\textcolor{keywordtype}{, only}: \hyperlink{interfacegtdata__generic_1_1open}{open}, \hyperlink{interfacegtdata__generic_1_1close}{close}
87     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__vartable}{gtdata\_internal\_vartable}\textcolor{keywordtype}{, only}: \hyperlink{interfacegtdata__internal__map_1_1dimrange}{dimrange}
88     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}), \textcolor{keywordtype}{intent(in)}:: var
89     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: dimno
90     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}:: dimlo, dimhi
91     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}):: dimvar
92     \textcolor{keywordtype}{integer}:: vid
93     \textcolor{keyword}{call }\hyperlink{interfacegtdata__generic_1_1open}{open}(dimvar, var, dimno, count\_compact=.true.)
94     \textcolor{keyword}{call }map\_lookup(dimvar, vid=vid)
95     \textcolor{keyword}{call }\hyperlink{interfacegtdata__internal__map_1_1dimrange}{dimrange}(vid, dimlo, dimhi)
96     \textcolor{keyword}{call }\hyperlink{interfacegtdata__generic_1_1close}{close}(dimvar)
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=330pt]{namespacegtdata__internal__map_aa967db174c30a859cad6bda4675f3594_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_acbda65a71acbd7d3ba6175c6f4fceff0}\label{namespacegtdata__internal__map_acbda65a71acbd7d3ba6175c6f4fceff0}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!gtvar\+\_\+dump@{gtvar\+\_\+dump}}
\index{gtvar\+\_\+dump@{gtvar\+\_\+dump}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{gtvar\+\_\+dump()}{gtvar\_dump()}}
{\footnotesize\ttfamily subroutine gtdata\+\_\+internal\+\_\+map\+::gtvar\+\_\+dump (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__types_1_1gt__variable}{gt\+\_\+variable}), intent(in)}]{var }\end{DoxyParamCaption})}



Definition at line 482 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References dc\+\_\+trace\+::dbgmessage(), maptab, and gtdata\+\_\+internal\+\_\+vartable\+::vartable\+\_\+dump().



Referenced by gtvarcreate(), gtvarcreated(), gtvargetdouble(), gtvargetint(), gtvargetreal(), gtvarlimit(), gtvaropen(), gtvarslice(), gtvarslicec(), and gtvarxformbinary().


\begin{DoxyCode}
482     \textcolor{comment}{! 変数のプロパティを出力}
483     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}
484     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__vartable}{gtdata\_internal\_vartable}\textcolor{keywordtype}{, only}: \hyperlink{namespacegtdata__internal__vartable_ab247c7c0f247a93928a561ec13d9df43}{vartable\_dump}
485     \textcolor{keywordtype}{use }\hyperlink{namespacedc__trace}{dc\_trace}\textcolor{keywordtype}{, only}: \hyperlink{interfacedc__trace_1_1debug}{debug}, \hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}
486     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}), \textcolor{keywordtype}{intent(in)}:: var
487     \textcolor{keywordtype}{integer}:: idim, imap
488     \textcolor{keywordtype}{logical}:: dbg\_mode
489   \textcolor{keywordflow}{continue}
490     \textcolor{keyword}{call }\hyperlink{interfacedc__trace_1_1debug}{debug}( dbg\_mode )
491     \textcolor{keywordflow}{if} (.not. dbg\_mode) \textcolor{keywordflow}{return}
492     imap = var%mapid
493     \textcolor{keywordflow}{if} (imap < 1 .or. imap > \textcolor{keyword}{size}(maptab)) \textcolor{keywordflow}{then}
494       \textcolor{keyword}{call }\hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}(\textcolor{stringliteral}{'[gt\_variable %d: invalid id]'}, \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}=(/imap/))
495       \textcolor{keywordflow}{return}
496 \textcolor{keywordflow}{    endif}
497     \textcolor{keywordflow}{if} (\textcolor{keyword}{associated}(maptab(imap)%map)) \textcolor{keywordflow}{then}
498       \textcolor{keyword}{call }\hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}(\textcolor{stringliteral}{'[gt\_variable %d: ndims=%d, map.size=%d]'}, &
499         & \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}=(/imap, maptab(imap)%ndims, \textcolor{keyword}{size}(maptab(imap)%map)/))
500       \textcolor{keywordflow}{do}, idim = 1, \textcolor{keyword}{size}(maptab(imap)%map)
501         \textcolor{keyword}{call }\hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}(\textcolor{stringliteral}{'[dim%d dimno=%d ofs=%d step=%d'} &
502           &// \textcolor{stringliteral}{' all=%d start=%d count=%d stride=%d url=%c]'}, &
503           & c1=trim(maptab(imap)%map(idim)%url), &
504           & \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}=(/idim, maptab(imap)%map(idim)%dimno, &
505           & maptab(imap)%map(idim)%offset, &
506           & maptab(imap)%map(idim)%step, &
507           & maptab(imap)%map(idim)%allcount, &
508           & maptab(imap)%map(idim)%start, &
509           & maptab(imap)%map(idim)%count, &
510           & maptab(imap)%map(idim)%stride/))
511 \textcolor{keywordflow}{      enddo}
512     \textcolor{keywordflow}{else}
513       \textcolor{keyword}{call }\hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}(\textcolor{stringliteral}{'[gt\_variable %d: ndims=%d, map=null]'}, &
514         & \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}=(/imap, maptab(imap)%ndims/))
515 \textcolor{keywordflow}{    endif}
516     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__vartable_ab247c7c0f247a93928a561ec13d9df43}{vartable\_dump}(maptab(imap)%vid)
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__map_acbda65a71acbd7d3ba6175c6f4fceff0_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__map_acbda65a71acbd7d3ba6175c6f4fceff0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_a53ed1ebec2d5efdf436782f9956fb13d}\label{namespacegtdata__internal__map_a53ed1ebec2d5efdf436782f9956fb13d}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!map\+\_\+allocate@{map\+\_\+allocate}}
\index{map\+\_\+allocate@{map\+\_\+allocate}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{map\+\_\+allocate()}{map\_allocate()}}
{\footnotesize\ttfamily subroutine gtdata\+\_\+internal\+\_\+map\+::map\+\_\+allocate (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\+\_\+dimmap}), dimension(\+:), pointer}]{map,  }\item[{integer, intent(in)}]{ndims }\end{DoxyParamCaption})}



Definition at line 404 of file gtdata\+\_\+internal\+\_\+map.\+f90.



Referenced by gtvarxformbinary(), map\+\_\+create(), and map\+\_\+resize().


\begin{DoxyCode}
404     \textcolor{comment}{! 次元表エントリに ndims 個のエントリを割り付け初期化する。}
405     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{pointer}:: map(:)
406     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: ndims
407     \textcolor{keywordflow}{if} (ndims <= 0) \textcolor{keywordflow}{then}
408       \textcolor{keyword}{nullify}(map)
409       \textcolor{keywordflow}{return}
410 \textcolor{keywordflow}{    endif}
411     \textcolor{keyword}{allocate}(map(1:ndims))
412     map(1:ndims)%dimno = -1
413     map(1:ndims)%url = \textcolor{stringliteral}{' '}
414     map(1:ndims)%allcount = 0
415     map(1:ndims)%offset = 0
416     map(1:ndims)%step = 1
417     map(1:ndims)%start = 1
418     map(1:ndims)%count = 0
419     map(1:ndims)%stride = 1
420     map(1:ndims)%scalar = .false.
\end{DoxyCode}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__map_a53ed1ebec2d5efdf436782f9956fb13d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_a0ae3e37d788b82682e1c22b0dfe09214}\label{namespacegtdata__internal__map_a0ae3e37d788b82682e1c22b0dfe09214}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!map\+\_\+apply@{map\+\_\+apply}}
\index{map\+\_\+apply@{map\+\_\+apply}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{map\+\_\+apply()}{map\_apply()}}
{\footnotesize\ttfamily subroutine gtdata\+\_\+internal\+\_\+map\+::map\+\_\+apply (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__types_1_1gt__variable}{gt\+\_\+variable}), intent(inout)}]{var,  }\item[{type(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\+\_\+dimmap}), dimension(\+:), pointer}]{map }\end{DoxyParamCaption})}



Definition at line 424 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References maptab.



Referenced by gtvarxformbinary().


\begin{DoxyCode}
424     \textcolor{comment}{! 変数 var にマップ表 map を組み合わせる}
425     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}
426     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}), \textcolor{keywordtype}{intent(inout)}:: var
427     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{pointer}:: map(:)
428     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{pointer}:: tmpmap(:), varmap
429     \textcolor{keywordtype}{integer}:: \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}, nd
430     nd = \textcolor{keyword}{size}(map)
431     \textcolor{keyword}{allocate}(tmpmap(nd))
432     \textcolor{keywordflow}{do}, \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i} = 1, nd
433       tmpmap(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%allcount = map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%allcount
434       tmpmap(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%count = map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%count
435       \textcolor{keywordflow}{if} (map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%dimno > 0) \textcolor{keywordflow}{then}
436         varmap => maptab(var%mapid)%map(map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%dimno)
437         tmpmap(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%url = varmap%url
438         tmpmap(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%dimno = varmap%dimno
439         tmpmap(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%offset = varmap%offset + map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%offset
440         tmpmap(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%step = varmap%step * map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%step
441       \textcolor{keywordflow}{else}
442         tmpmap(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%url = map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%url
443         tmpmap(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%dimno = 0
444         tmpmap(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%offset = map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%offset
445         tmpmap(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%step = map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%step
446 \textcolor{keywordflow}{      endif}
447 \textcolor{keywordflow}{    enddo}
448     \textcolor{keyword}{deallocate}(map)
449     map => tmpmap
\end{DoxyCode}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=309pt]{namespacegtdata__internal__map_a0ae3e37d788b82682e1c22b0dfe09214_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_ab8c5494c00d4dd85417e891b762f77d9}\label{namespacegtdata__internal__map_ab8c5494c00d4dd85417e891b762f77d9}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!map\+\_\+create@{map\+\_\+create}}
\index{map\+\_\+create@{map\+\_\+create}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{map\+\_\+create()}{map\_create()}}
{\footnotesize\ttfamily subroutine, public gtdata\+\_\+internal\+\_\+map\+::map\+\_\+create (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__types_1_1gt__variable}{gt\+\_\+variable}), intent(out)}]{var,  }\item[{integer, intent(in)}]{class,  }\item[{integer, intent(in)}]{cid,  }\item[{integer, intent(in)}]{ndims,  }\item[{integer, dimension(\+:), intent(in)}]{allcount,  }\item[{integer, intent(out)}]{stat }\end{DoxyParamCaption})}



Definition at line 134 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References dc\+\_\+error\+::dc\+\_\+noerr, dc\+\_\+error\+::gt\+\_\+enomoredims, map\+\_\+allocate(), maptab, maptabadd(), and gtdata\+\_\+internal\+\_\+vartable\+::vartableadd().



Referenced by gtvarcreate(), gtvarcreated(), gtvaropen(), and gtvaropenbydimord().


\begin{DoxyCode}
134     \textcolor{comment}{! 変数 var を作成する。内部種別 class, 内部識別子 cid,}
135     \textcolor{comment}{! 外見的次元数 ndims, 外見的次元長 allcount(:) を与える。}
136     \textcolor{comment}{! オフセットゼロを仮定して諸元の初期化が行われる。}
137     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}
138     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__vartable}{gtdata\_internal\_vartable}\textcolor{keywordtype}{, only}: \hyperlink{namespacegtdata__internal__vartable_a82fab475ec7a1438a92e5d27c13684d1}{vartableadd}
139     \textcolor{keywordtype}{use }\hyperlink{namespacedc__error}{dc\_error}\textcolor{keywordtype}{, only}: nf90\_enotvar, \hyperlink{namespacedc__error_adbe5d07dca84213ae01fef87caf04be3}{gt\_enomoredims}, 
      \hyperlink{namespacedc__error_a64841a3c9e3ef7d5ddb175e5770f7dfe}{dc\_noerr}
140     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}), \textcolor{keywordtype}{intent(out)}:: var
141     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: \textcolor{keywordtype}{class}, cid, ndims, allcount(:)
142     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}:: stat
143     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{pointer}:: map(:)
144     \textcolor{keywordtype}{integer}:: vid, \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}
145   \textcolor{keywordflow}{continue}
146 
147     stat = \hyperlink{namespacedc__error_a64841a3c9e3ef7d5ddb175e5770f7dfe}{dc\_noerr}
148     \textcolor{keywordflow}{if} ( ndims < 0 ) \textcolor{keywordflow}{then}
149       stat = \hyperlink{namespacedc__error_adbe5d07dca84213ae01fef87caf04be3}{gt\_enomoredims}
150       \textcolor{keywordflow}{goto} 999
151 \textcolor{keywordflow}{    end if}
152     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__vartable_a82fab475ec7a1438a92e5d27c13684d1}{vartableadd}(vid, \textcolor{keywordtype}{class}, cid)
153     \textcolor{keyword}{call }maptabadd(var%mapid, vid)
154     \textcolor{keywordflow}{if} (ndims > 0) \textcolor{keywordflow}{then}
155       \textcolor{keyword}{call }map\_allocate(map, ndims)
156       maptab(var%mapid)%ndims = ndims
157       maptab(var%mapid)%map => map
158 
159       \textcolor{keywordflow}{do}, \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i} = 1, ndims
160         map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%dimno = \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}
161         map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%allcount = allcount(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})
162         map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%count = allcount(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})
163         map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%offset = 0
164         map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%start = 1
165         map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%step = 1
166         map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%stride = 1
167         map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%scalar = .false.
168 \textcolor{keywordflow}{      enddo}
169     \textcolor{keywordflow}{else}
170       \textcolor{comment}{! スカラー変数 (ndims = 0) の場合}
171       \textcolor{keyword}{call }map\_allocate(map, 1)
172       maptab(var%mapid)%ndims = 0
173       maptab(var%mapid)%map => map
174       map(1)%dimno = 1
175       map(1)%allcount = 1
176       map(1)%count = 1
177       map(1)%offset = 0
178       map(1)%start = 1
179       map(1)%step = 1
180       map(1)%stride = 1
181       map(1)%scalar = .true.
182 \textcolor{keywordflow}{    end if}
183 
184 999 \textcolor{keywordflow}{continue}
185     \textcolor{keywordflow}{return}
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__map_ab8c5494c00d4dd85417e891b762f77d9_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=319pt]{namespacegtdata__internal__map_ab8c5494c00d4dd85417e891b762f77d9_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_abd624f8e775fa18a68b90ed01ec6e0f3}\label{namespacegtdata__internal__map_abd624f8e775fa18a68b90ed01ec6e0f3}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!map\+\_\+dup@{map\+\_\+dup}}
\index{map\+\_\+dup@{map\+\_\+dup}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{map\+\_\+dup()}{map\_dup()}}
{\footnotesize\ttfamily subroutine gtdata\+\_\+internal\+\_\+map\+::map\+\_\+dup (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__types_1_1gt__variable}{gt\+\_\+variable}), intent(out)}]{var,  }\item[{type(\hyperlink{structgtdata__types_1_1gt__variable}{gt\+\_\+variable}), intent(in)}]{source\+\_\+var }\end{DoxyParamCaption})}



Definition at line 100 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References dc\+\_\+trace\+::dbgmessage(), map\+\_\+lookup(), maptab, maptabadd(), gtdata\+\_\+internal\+\_\+vartable\+::vartableadd(), and gtdata\+\_\+internal\+\_\+vartable\+::vartablelookup().



Referenced by gtvaropenbydimord().


\begin{DoxyCode}
100     \textcolor{comment}{! 変数 source\_var の複写 var を作成する}
101     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}
102     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__vartable}{gtdata\_internal\_vartable}\textcolor{keywordtype}{, only}: \hyperlink{namespacegtdata__internal__vartable_a82fab475ec7a1438a92e5d27c13684d1}{vartableadd}, 
      \hyperlink{namespacegtdata__internal__vartable_a1bddf47a2cacc8db25b6fa2c32ed68db}{vartablelookup}
103     \textcolor{keywordtype}{use }\hyperlink{namespacedc__trace}{dc\_trace}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}
104     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}), \textcolor{keywordtype}{intent(out)}:: var
105     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}), \textcolor{keywordtype}{intent(in)}:: source\_var
106     \textcolor{keywordtype}{integer}:: vid, mid1, mid2, vid2, nd, \textcolor{keywordtype}{class}, cid
107     \textcolor{keyword}{call }map\_lookup(source\_var, vid=vid)
108     \textcolor{keywordflow}{if} (vid < 0) \textcolor{keywordflow}{then}
109       var = \hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}(-1)
110       \textcolor{keywordflow}{return}
111 \textcolor{keywordflow}{    endif}
112     \textcolor{keywordflow}{if} (vid == 0) \textcolor{keywordflow}{then}
113       vid2 = 0
114     \textcolor{keywordflow}{else}
115       \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__vartable_a1bddf47a2cacc8db25b6fa2c32ed68db}{vartablelookup}(vid, class=\textcolor{keywordtype}{class}, cid=cid)
116       \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__vartable_a82fab475ec7a1438a92e5d27c13684d1}{vartableadd}(vid2, \textcolor{keywordtype}{class}, cid)
117 \textcolor{keywordflow}{    endif}
118     \textcolor{keyword}{call }maptabadd(var%mapid, vid2)
119     mid1 = source\_var%mapid
120     mid2 = var%mapid
121     maptab(mid2)%ndims = maptab(mid1)%ndims
122     \textcolor{keywordflow}{if} (\textcolor{keyword}{associated}(maptab(mid1)%map)) \textcolor{keywordflow}{then}
123       nd = \textcolor{keyword}{size}(maptab(mid1)%map)
124       \textcolor{keyword}{allocate}(maptab(mid2)%map(nd))
125       maptab(mid2)%map(1:nd) = maptab(mid1)%map(1:nd)
126     \textcolor{keywordflow}{else}
127       \textcolor{keyword}{nullify}(maptab(mid2)%map)
128 \textcolor{keywordflow}{    endif}
129     \textcolor{keyword}{call }\hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}(\textcolor{stringliteral}{'map\_dup mapid(%d from %d) vid(%d from %d)'}, &
130       & \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}=(/mid2, mid1, maptab(mid2)%vid, maptab(mid1)%vid/))
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__map_abd624f8e775fa18a68b90ed01ec6e0f3_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=319pt]{namespacegtdata__internal__map_abd624f8e775fa18a68b90ed01ec6e0f3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}\label{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!map\+\_\+lookup@{map\+\_\+lookup}}
\index{map\+\_\+lookup@{map\+\_\+lookup}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{map\+\_\+lookup()}{map\_lookup()}}
{\footnotesize\ttfamily subroutine, public gtdata\+\_\+internal\+\_\+map\+::map\+\_\+lookup (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__types_1_1gt__variable}{gt\+\_\+variable}), intent(in)}]{var,  }\item[{integer, intent(out), optional}]{vid,  }\item[{type(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\+\_\+dimmap}), dimension(\+:), intent(out), optional}]{map,  }\item[{integer, intent(out), optional}]{ndims }\end{DoxyParamCaption})}



Definition at line 252 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References maptab, and gtdata\+\_\+internal\+\_\+vartable\+::vid\+\_\+invalid.



Referenced by dimrange\+\_\+by\+\_\+dimno(), gtvaradddim(), gtvarclose(), gtvardeldim(), gtvarexchdim(), gtvargetslice(), gtvarlimit\+\_\+iiii(), gtvaropenbydimord(), gtvarslice(), gtvarslicenext(), internal\+\_\+get\+\_\+allcount(), internal\+\_\+get\+\_\+alldims(), internal\+\_\+get\+\_\+rank(), internal\+\_\+get\+\_\+size(), map\+\_\+dup(), map\+\_\+set\+\_\+ndims(), map\+\_\+set\+\_\+rank(), map\+\_\+to\+\_\+internal\+\_\+specs(), and var\+\_\+class().


\begin{DoxyCode}
252     \textcolor{comment}{! 同じファイル番号の変数表の中身を返す}
253     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}
254     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}), \textcolor{keywordtype}{intent(in)}:: var
255     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: vid
256     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: map(:)
257     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: ndims
258     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{allocated}(maptab)) \textcolor{keywordflow}{goto} 999
259     \textcolor{keywordflow}{if} (var%mapid <= 0 .or. var%mapid > \textcolor{keyword}{size}(maptab)) \textcolor{keywordflow}{goto} 999
260     \textcolor{keywordflow}{if} (maptab(var%mapid)%vid == vid\_invalid) \textcolor{keywordflow}{goto} 999
261     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(vid)) vid = maptab(var%mapid)%vid
262     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(map)) map(:) = maptab(var%mapid)%map(1:\textcolor{keyword}{size}(map))
263     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ndims)) ndims = maptab(var%mapid)%ndims
264     \textcolor{keywordflow}{return}
265 999 \textcolor{keywordflow}{continue}
266     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(vid)) vid = vid\_invalid
267     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(map)) \textcolor{keywordflow}{then}
268       map(:)%dimno = -1
269       map(:)%url = \textcolor{stringliteral}{" "}
270 \textcolor{keywordflow}{    endif}
271     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ndims)) ndims = 0
\end{DoxyCode}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{namespacegtdata__internal__map_a076911f777be03f10a2c024dac7efdad_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_ae904583b5f08e47440b3d0dc46996b22}\label{namespacegtdata__internal__map_ae904583b5f08e47440b3d0dc46996b22}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!map\+\_\+resize@{map\+\_\+resize}}
\index{map\+\_\+resize@{map\+\_\+resize}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{map\+\_\+resize()}{map\_resize()}}
{\footnotesize\ttfamily subroutine gtdata\+\_\+internal\+\_\+map\+::map\+\_\+resize (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__types_1_1gt__variable}{gt\+\_\+variable}), intent(in)}]{var,  }\item[{integer, intent(in)}]{ndims }\end{DoxyParamCaption})}



Definition at line 453 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References map\+\_\+allocate(), and maptab.



Referenced by gtvaradddim().


\begin{DoxyCode}
453     \textcolor{comment}{! 変数 var の次元表の大きさを変える}
454     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}
455     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}), \textcolor{keywordtype}{intent(in)}:: var
456     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: ndims
457     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{pointer}:: newmap(:)
458     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{pointer}:: tmpmap(:)
459     \textcolor{keywordtype}{integer}:: n
460     \textcolor{keywordflow}{if} (\textcolor{keyword}{associated}(maptab(var%mapid)%map)) \textcolor{keywordflow}{then}
461       tmpmap => maptab(var%mapid)%map
462       \textcolor{keyword}{call }map\_allocate(newmap, ndims)
463       n = \hyperlink{interfacedc__date__generic_1_1min}{min}(\textcolor{keyword}{size}(tmpmap), ndims)
464       newmap(1:n) = tmpmap(1:n)
465       \textcolor{keyword}{deallocate}(tmpmap)
466       maptab(var%mapid)%map => newmap
467       newmap(n+1:ndims)%dimno = -1
468       newmap(n+1:ndims)%url = \textcolor{stringliteral}{' '}
469       newmap(n+1:ndims)%allcount = 0
470       newmap(n+1:ndims)%offset = 0
471       newmap(n+1:ndims)%step = 1
472       newmap(n+1:ndims)%start = 1
473       newmap(n+1:ndims)%count = 0
474       newmap(n+1:ndims)%stride = 1
475     \textcolor{keywordflow}{else}
476       \textcolor{keyword}{call }map\_allocate(maptab(var%mapid)%map, ndims)
477       n = 1
478 \textcolor{keywordflow}{    endif}
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=324pt]{namespacegtdata__internal__map_ae904583b5f08e47440b3d0dc46996b22_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=290pt]{namespacegtdata__internal__map_ae904583b5f08e47440b3d0dc46996b22_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_a2e6a789c1c8f4850421da11f10081cb7}\label{namespacegtdata__internal__map_a2e6a789c1c8f4850421da11f10081cb7}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!map\+\_\+set@{map\+\_\+set}}
\index{map\+\_\+set@{map\+\_\+set}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{map\+\_\+set()}{map\_set()}}
{\footnotesize\ttfamily subroutine gtdata\+\_\+internal\+\_\+map\+::map\+\_\+set (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__types_1_1gt__variable}{gt\+\_\+variable}), intent(in)}]{var,  }\item[{type(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\+\_\+dimmap}), dimension(\+:), intent(in)}]{map,  }\item[{integer, intent(out)}]{stat }\end{DoxyParamCaption})}



Definition at line 275 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References dc\+\_\+error\+::dc\+\_\+noerr, dc\+\_\+error\+::gt\+\_\+enomoredims, maptab, and gtdata\+\_\+internal\+\_\+vartable\+::vid\+\_\+invalid.



Referenced by gtvaradddim(), gtvardeldim(), gtvarexchdim(), gtvarlimit\+\_\+iiii(), gtvaropenbydimord(), gtvarslice(), and gtvarslicenext().


\begin{DoxyCode}
275     \textcolor{comment}{! 同じファイル番号の変数表の値を設定する}
276     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}
277     \textcolor{keywordtype}{use }\hyperlink{namespacedc__error}{dc\_error}\textcolor{keywordtype}{, only}: nf90\_enotvar, \hyperlink{namespacedc__error_adbe5d07dca84213ae01fef87caf04be3}{gt\_enomoredims}, 
      \hyperlink{namespacedc__error_a64841a3c9e3ef7d5ddb175e5770f7dfe}{dc\_noerr}
278     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}), \textcolor{keywordtype}{intent(in)}:: var
279     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{intent(in)}:: map(:)
280     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}:: stat
281     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{allocated}(maptab)) \textcolor{keywordflow}{goto} 999
282     \textcolor{keywordflow}{if} (var%mapid <= 0 .or. var%mapid > \textcolor{keyword}{size}(maptab)) \textcolor{keywordflow}{goto} 999
283     \textcolor{keywordflow}{if} (maptab(var%mapid)%vid == vid\_invalid) \textcolor{keywordflow}{goto} 999
284     \textcolor{keywordflow}{if} (\textcolor{keyword}{size}(map) > \textcolor{keyword}{size}(maptab(var%mapid)%map)) \textcolor{keywordflow}{then}
285       stat = \hyperlink{namespacedc__error_adbe5d07dca84213ae01fef87caf04be3}{gt\_enomoredims}
286       \textcolor{keywordflow}{return}
287 \textcolor{keywordflow}{    endif}
288     maptab(var%mapid)%map(1:\textcolor{keyword}{size}(map)) = map(:)
289     stat = \hyperlink{namespacedc__error_a64841a3c9e3ef7d5ddb175e5770f7dfe}{dc\_noerr}
290     \textcolor{keywordflow}{return}
291 999 \textcolor{keywordflow}{continue}
292     stat = nf90\_enotvar
\end{DoxyCode}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__map_a2e6a789c1c8f4850421da11f10081cb7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_a12dffe35d93120bca94db15c47818ae1}\label{namespacegtdata__internal__map_a12dffe35d93120bca94db15c47818ae1}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!map\+\_\+set\+\_\+ndims@{map\+\_\+set\+\_\+ndims}}
\index{map\+\_\+set\+\_\+ndims@{map\+\_\+set\+\_\+ndims}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{map\+\_\+set\+\_\+ndims()}{map\_set\_ndims()}}
{\footnotesize\ttfamily subroutine gtdata\+\_\+internal\+\_\+map\+::map\+\_\+set\+\_\+ndims (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__types_1_1gt__variable}{gt\+\_\+variable}), intent(in)}]{var,  }\item[{integer, intent(in)}]{ndims,  }\item[{integer, intent(out)}]{stat }\end{DoxyParamCaption})}



Definition at line 308 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References dc\+\_\+error\+::dc\+\_\+noerr, dc\+\_\+error\+::gt\+\_\+enomoredims, map\+\_\+lookup(), maptab, and gtdata\+\_\+internal\+\_\+vartable\+::vartablelookup().



Referenced by gtvaradddim(), gtvardeldim(), and gtvarexchdim().


\begin{DoxyCode}
308     \textcolor{comment}{! 変数 var の次元数を ndims に変える。}
309     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}
310     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__vartable}{gtdata\_internal\_vartable}\textcolor{keywordtype}{, only}: \hyperlink{namespacegtdata__internal__vartable_a1bddf47a2cacc8db25b6fa2c32ed68db}{vartablelookup}
311     \textcolor{keywordtype}{use }\hyperlink{namespacedc__error}{dc\_error}\textcolor{keywordtype}{, only}: nf90\_enotvar, \hyperlink{namespacedc__error_adbe5d07dca84213ae01fef87caf04be3}{gt\_enomoredims}, 
      \hyperlink{namespacedc__error_a64841a3c9e3ef7d5ddb175e5770f7dfe}{dc\_noerr}
312     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}), \textcolor{keywordtype}{intent(in)}:: var
313     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: ndims
314     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}:: stat
315     \textcolor{keywordtype}{integer}:: vid
316     \textcolor{keyword}{call }map\_lookup(var, vid=vid)
317     \textcolor{keywordflow}{if} (vid == vid\_invalid) \textcolor{keywordflow}{then}
318       stat = nf90\_enotvar
319       \textcolor{keywordflow}{return}
320 \textcolor{keywordflow}{    endif}
321     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{associated}(maptab(var%mapid)%map)) \textcolor{keywordflow}{then}
322       \textcolor{keywordflow}{if} (ndims == 0) \textcolor{keywordflow}{then}
323         stat = \hyperlink{namespacedc__error_a64841a3c9e3ef7d5ddb175e5770f7dfe}{dc\_noerr}
324         maptab(var%mapid)%ndims = 0
325       \textcolor{keywordflow}{else}
326         stat = \hyperlink{namespacedc__error_adbe5d07dca84213ae01fef87caf04be3}{gt\_enomoredims}
327 \textcolor{keywordflow}{      endif}
328     \textcolor{keywordflow}{else}
329       \textcolor{keywordflow}{if} (ndims > \textcolor{keyword}{size}(maptab(var%mapid)%map)) \textcolor{keywordflow}{then}
330         stat = \hyperlink{namespacedc__error_adbe5d07dca84213ae01fef87caf04be3}{gt\_enomoredims}
331       \textcolor{keywordflow}{else}
332         stat = \hyperlink{namespacedc__error_a64841a3c9e3ef7d5ddb175e5770f7dfe}{dc\_noerr}
333         maptab(var%mapid)%ndims = ndims
334 \textcolor{keywordflow}{      endif}
335 \textcolor{keywordflow}{    endif}
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=340pt]{namespacegtdata__internal__map_a12dffe35d93120bca94db15c47818ae1_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=295pt]{namespacegtdata__internal__map_a12dffe35d93120bca94db15c47818ae1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_ade13b31dac124116c651f89ee2a693ef}\label{namespacegtdata__internal__map_ade13b31dac124116c651f89ee2a693ef}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!map\+\_\+set\+\_\+rank@{map\+\_\+set\+\_\+rank}}
\index{map\+\_\+set\+\_\+rank@{map\+\_\+set\+\_\+rank}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{map\+\_\+set\+\_\+rank()}{map\_set\_rank()}}
{\footnotesize\ttfamily subroutine gtdata\+\_\+internal\+\_\+map\+::map\+\_\+set\+\_\+rank (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__types_1_1gt__variable}{gt\+\_\+variable}), intent(in)}]{var,  }\item[{integer, intent(in)}]{rank,  }\item[{integer, intent(out)}]{stat }\end{DoxyParamCaption})}



Definition at line 339 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References dc\+\_\+error\+::dc\+\_\+noerr, dc\+\_\+error\+::gt\+\_\+enomoredims, map\+\_\+lookup(), maptab, and gtdata\+\_\+internal\+\_\+vartable\+::vartablelookup().



Referenced by gtvargetpointerdouble1(), gtvargetpointerdouble2(), gtvargetpointerdouble3(), gtvargetpointerdouble4(), gtvargetpointerdouble5(), gtvargetpointerdouble6(), gtvargetpointerdouble7(), gtvargetpointerint1(), gtvargetpointerint2(), gtvargetpointerint3(), gtvargetpointerint4(), gtvargetpointerint5(), gtvargetpointerint6(), gtvargetpointerint7(), gtvargetpointerreal1(), gtvargetpointerreal2(), gtvargetpointerreal3(), gtvargetpointerreal4(), gtvargetpointerreal5(), gtvargetpointerreal6(), and gtvargetpointerreal7().


\begin{DoxyCode}
339     \textcolor{comment}{! 変数 var のランク(非縮退次元数)を rank に減らすように}
340     \textcolor{comment}{! count 値を1に減らす。ランクを増やすことや外見次元数の操作はしない。}
341     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}
342     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__vartable}{gtdata\_internal\_vartable}\textcolor{keywordtype}{, only}: \hyperlink{namespacegtdata__internal__vartable_a1bddf47a2cacc8db25b6fa2c32ed68db}{vartablelookup}
343     \textcolor{keywordtype}{use }\hyperlink{namespacedc__error}{dc\_error}\textcolor{keywordtype}{, only}: nf90\_enotvar, \hyperlink{namespacedc__error_adbe5d07dca84213ae01fef87caf04be3}{gt\_enomoredims}, 
      \hyperlink{namespacedc__error_a64841a3c9e3ef7d5ddb175e5770f7dfe}{dc\_noerr}
344     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}), \textcolor{keywordtype}{intent(in)}:: var
345     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: rank
346     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}:: stat
347     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{pointer}:: tmpmap(:)
348     \textcolor{keywordtype}{integer}:: ndims
349     \textcolor{keywordtype}{integer}:: vid, nd
350     \textcolor{keyword}{call }map\_lookup(var, vid, ndims=ndims)
351     \textcolor{keywordflow}{if} (vid == vid\_invalid) \textcolor{keywordflow}{then}
352       stat = nf90\_enotvar
353       \textcolor{keywordflow}{return}
354 \textcolor{keywordflow}{    endif}
355     \textcolor{keywordflow}{if} (ndims < rank) \textcolor{keywordflow}{then}
356       stat = \hyperlink{namespacedc__error_adbe5d07dca84213ae01fef87caf04be3}{gt\_enomoredims}
357       \textcolor{keywordflow}{return}
358 \textcolor{keywordflow}{    endif}
359     tmpmap => maptab(var%mapid)%map
360     \textcolor{keywordflow}{do}, nd = ndims, 1, -1
361       \textcolor{keywordflow}{if} (count(tmpmap(1:ndims)%count > 1) <= rank) \textcolor{keywordflow}{exit}
362       tmpmap(nd)%count = 1
363 \textcolor{keywordflow}{    enddo}
364     stat = \hyperlink{namespacedc__error_a64841a3c9e3ef7d5ddb175e5770f7dfe}{dc\_noerr}
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=340pt]{namespacegtdata__internal__map_ade13b31dac124116c651f89ee2a693ef_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__map_ade13b31dac124116c651f89ee2a693ef_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_a392037efec5853031c3f9fac8f52c507}\label{namespacegtdata__internal__map_a392037efec5853031c3f9fac8f52c507}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!map\+\_\+to\+\_\+internal\+\_\+specs@{map\+\_\+to\+\_\+internal\+\_\+specs}}
\index{map\+\_\+to\+\_\+internal\+\_\+specs@{map\+\_\+to\+\_\+internal\+\_\+specs}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{map\+\_\+to\+\_\+internal\+\_\+specs()}{map\_to\_internal\_specs()}}
{\footnotesize\ttfamily subroutine, public gtdata\+\_\+internal\+\_\+map\+::map\+\_\+to\+\_\+internal\+\_\+specs (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__types_1_1gt__variable}{gt\+\_\+variable}), intent(in)}]{var,  }\item[{integer, dimension(\+:, \+:), pointer}]{specs,  }\item[{integer, intent(out), optional}]{ndims }\end{DoxyParamCaption})}



Definition at line 368 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References map\+\_\+lookup(), maptab, and gtdata\+\_\+internal\+\_\+vartable\+::ndims().



Referenced by gtvargetdouble(), gtvargetint(), gtvargetreal(), gtvarputchar(), gtvarputdouble(), gtvarputint(), and gtvarputreal().


\begin{DoxyCode}
368     \textcolor{comment}{! マップ表から netCDF の引数にふさわしい start, count, stride, imap}
369     \textcolor{comment}{! を作成する。ただし、stride が負になるばあいは対策されていない。}
370     \textcolor{comment}{! (暫定的に gdncvarget/gdncvarput が対応している)}
371     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}
372     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__vartable}{gtdata\_internal\_vartable}\textcolor{keywordtype}{, only}: num\_dimensions => 
      \hyperlink{namespacegtdata__internal__vartable_ae622b02798006661945bef1406c25ea4}{ndims}
373     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}), \textcolor{keywordtype}{intent(in)}:: var
374     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{pointer}:: specs(:, :)
375     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: \hyperlink{namespacegtdata__internal__vartable_ae622b02798006661945bef1406c25ea4}{ndims}
376     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1gt__dimmap}{gt\_dimmap}), \textcolor{keywordtype}{pointer}:: it
377     \textcolor{keywordtype}{integer}:: vid, \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}, j, imap, internal\_ndims
378     \textcolor{keywordtype}{integer}:: external\_ndims
379   \textcolor{keywordflow}{continue}
380     \textcolor{keyword}{call }map\_lookup(var, vid, \hyperlink{namespacegtdata__internal__vartable_ae622b02798006661945bef1406c25ea4}{ndims}=external\_ndims)
381     internal\_ndims = num\_dimensions(vid)
382     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(\hyperlink{namespacegtdata__internal__vartable_ae622b02798006661945bef1406c25ea4}{ndims})) \hyperlink{namespacegtdata__internal__vartable_ae622b02798006661945bef1406c25ea4}{ndims} = internal\_ndims
383     \textcolor{keyword}{allocate}(specs(\hyperlink{interfacedc__date__generic_1_1max}{max}(1, internal\_ndims), 4))
384     specs(:, 1) = 1
385     specs(:, 2) = 1
386     specs(:, 3) = 1
387     specs(:, 4) = 0
388     imap = 1
389     \textcolor{keywordflow}{do}, \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i} = 1, \textcolor{keyword}{size}(maptab(var%mapid)%map)
390       it => maptab(var%mapid)%map(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})
391       j = it%dimno
392       \textcolor{keywordflow}{if} (j > 0 .and. j <= internal\_ndims) \textcolor{keywordflow}{then}
393         specs(j, 1) = it%start + it%offset
394         specs(j, 2) = it%count
395         \textcolor{keywordflow}{if} (\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i} > external\_ndims) specs(j, 2) = 1
396         specs(j, 3) = it%stride * it%step
397         specs(j, 4) = imap
398 \textcolor{keywordflow}{      endif}
399       imap = imap * it%count
400 \textcolor{keywordflow}{    enddo}
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__map_a392037efec5853031c3f9fac8f52c507_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__map_a392037efec5853031c3f9fac8f52c507_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_aa0f727646e588a97e73dac30fb02ef25}\label{namespacegtdata__internal__map_aa0f727646e588a97e73dac30fb02ef25}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!maptabadd@{maptabadd}}
\index{maptabadd@{maptabadd}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{maptabadd()}{maptabadd()}}
{\footnotesize\ttfamily subroutine, public gtdata\+\_\+internal\+\_\+map\+::maptabadd (\begin{DoxyParamCaption}\item[{integer, intent(out)}]{mapid,  }\item[{integer, intent(in)}]{vid }\end{DoxyParamCaption})}



Definition at line 189 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References maptab, maptab\+\_\+init\+\_\+size, and gtdata\+\_\+internal\+\_\+vartable\+::vid\+\_\+invalid.



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


\begin{DoxyCode}
189     \textcolor{comment}{! すでに実体表に追加されたエントリ番号 vid を指定して、}
190     \textcolor{comment}{! マップ表にエントリを追加する。}
191     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}:: mapid
192     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}:: vid
193     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1map__table__entry}{map\_table\_entry}), \textcolor{keywordtype}{allocatable}:: tmp\_maptab(:)
194     \textcolor{keywordtype}{integer}:: \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}, n
195     \textcolor{comment}{! 必要なら初期確保}
196     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{allocated}(maptab)) \textcolor{keywordflow}{then}
197       \textcolor{keyword}{allocate}(maptab(maptab\_init\_size))
198       maptab(:)%vid = vid\_invalid
199       \textcolor{keywordflow}{do}, n = 1, maptab\_init\_size
200         \textcolor{keyword}{nullify}(maptab(n)%map)
201 \textcolor{keywordflow}{      enddo}
202 \textcolor{keywordflow}{    endif}
203     \textcolor{comment}{! 空き地があればそこに割り当て}
204     \textcolor{keywordflow}{do}, \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i} = 1, \textcolor{keyword}{size}(maptab)
205       \textcolor{keywordflow}{if} (maptab(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%vid == vid\_invalid) \textcolor{keywordflow}{then}
206         mapid = \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}
207         maptab(mapid)%vid = vid
208         \textcolor{keywordflow}{return}
209 \textcolor{keywordflow}{      endif}
210 \textcolor{keywordflow}{    enddo}
211     \textcolor{comment}{! 空き地はなかったのだから倍幅確保}
212     n = \textcolor{keyword}{size}(maptab)
213     \textcolor{keyword}{allocate}(tmp\_maptab(n))
214     tmp\_maptab(:) = maptab(:)
215     \textcolor{keyword}{deallocate}(maptab)
216     \textcolor{keyword}{allocate}(maptab(n * 2))
217     \textcolor{comment}{! 確保したところはクリア}
218     maptab(1:n) = tmp\_maptab(1:n)
219     \textcolor{keywordflow}{do}, \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i} = n + 1, (2 * \textcolor{keyword}{size}(tmp\_maptab))
220       maptab(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%vid = vid\_invalid
221       \textcolor{keyword}{nullify}(maptab(\hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i})%map)
222 \textcolor{keywordflow}{    enddo}
223     \textcolor{keyword}{deallocate}(tmp\_maptab)
224     mapid = n + 1
225     maptab(mapid)%vid = vid
\end{DoxyCode}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__map_aa0f727646e588a97e73dac30fb02ef25_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_a4d64e68c2ccbf5729f07a64822f90726}\label{namespacegtdata__internal__map_a4d64e68c2ccbf5729f07a64822f90726}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!maptabdelete@{maptabdelete}}
\index{maptabdelete@{maptabdelete}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{maptabdelete()}{maptabdelete()}}
{\footnotesize\ttfamily subroutine, public gtdata\+\_\+internal\+\_\+map\+::maptabdelete (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__types_1_1gt__variable}{gt\+\_\+variable}), intent(in)}]{var,  }\item[{logical, intent(out), optional}]{err }\end{DoxyParamCaption})}



Definition at line 229 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References dc\+\_\+trace\+::dbgmessage(), dc\+\_\+error\+::dc\+\_\+noerr, maptab, dc\+\_\+error\+::storeerror(), and gtdata\+\_\+internal\+\_\+vartable\+::vid\+\_\+invalid.



Referenced by gtvarclose().


\begin{DoxyCode}
229     \textcolor{comment}{! 変数 var をマップ表から削除する。}
230     \textcolor{comment}{! 実体表には手をつけない。}
231     \textcolor{keywordtype}{use }\hyperlink{namespacedc__error}{dc\_error}\textcolor{keywordtype}{, only}: nf90\_enotvar, \hyperlink{namespacedc__error_a0104aee83ee5752b1a9f6152b11864a8}{storeerror}, \hyperlink{namespacedc__error_a64841a3c9e3ef7d5ddb175e5770f7dfe}{dc\_noerr}
232     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}
233     \textcolor{keywordtype}{use }\hyperlink{namespacedc__trace}{dc\_trace}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}
234     \textcolor{keywordtype}{implicit none}
235     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}), \textcolor{keywordtype}{intent(in)}:: var
236     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: err
237     \textcolor{keywordtype}{integer}:: mapid
238     mapid = var%mapid
239     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{allocated}(maptab)) \textcolor{keywordflow}{goto} 999
240     \textcolor{keywordflow}{if} (mapid <= 0 .or. mapid > \textcolor{keyword}{size}(maptab)) \textcolor{keywordflow}{goto} 999
241     \textcolor{keywordflow}{if} (maptab(mapid)%vid == vid\_invalid) \textcolor{keywordflow}{goto} 999
242     maptab(mapid)%vid = vid\_invalid
243     \textcolor{keywordflow}{if} (\textcolor{keyword}{associated}(maptab(mapid)%map)) \textcolor{keyword}{deallocate}(maptab(mapid)%map)
244     \textcolor{keyword}{call }\hyperlink{namespacedc__error_a0104aee83ee5752b1a9f6152b11864a8}{storeerror}(\hyperlink{namespacedc__error_a64841a3c9e3ef7d5ddb175e5770f7dfe}{dc\_noerr}, \textcolor{stringliteral}{'maptabdelete'}, err)
245     \textcolor{keyword}{call }\hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage}(\textcolor{stringliteral}{'gtdata\_internal\_map table %d deleted'}, \hyperlink{namespacedcunits__com_a5742752149f55f07bd09fc85d59f7319}{i}=(/mapid/))
246     \textcolor{keywordflow}{return}
247 999 \textcolor{keywordflow}{continue}
248     \textcolor{keyword}{call }\hyperlink{namespacedc__error_a0104aee83ee5752b1a9f6152b11864a8}{storeerror}(nf90\_enotvar, \textcolor{stringliteral}{'maptabdelete'}, err)
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacegtdata__internal__map_a4d64e68c2ccbf5729f07a64822f90726_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=282pt]{namespacegtdata__internal__map_a4d64e68c2ccbf5729f07a64822f90726_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacegtdata__internal__map_a86b920031832bea17e70a6bf4623c3d9}\label{namespacegtdata__internal__map_a86b920031832bea17e70a6bf4623c3d9}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!var\+\_\+class@{var\+\_\+class}}
\index{var\+\_\+class@{var\+\_\+class}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{var\+\_\+class()}{var\_class()}}
{\footnotesize\ttfamily subroutine, public gtdata\+\_\+internal\+\_\+map\+::var\+\_\+class (\begin{DoxyParamCaption}\item[{type(\hyperlink{structgtdata__types_1_1gt__variable}{gt\+\_\+variable}), intent(in)}]{var,  }\item[{integer, intent(out), optional}]{class,  }\item[{integer, intent(out), optional}]{cid }\end{DoxyParamCaption})}



Definition at line 297 of file gtdata\+\_\+internal\+\_\+map.\+f90.



References map\+\_\+lookup(), and gtdata\+\_\+internal\+\_\+vartable\+::vartablelookup().



Referenced by gtvarattrnext(), gtvarattrrewind(), gtvarattrtrue(), gtvarcopyattr(), gtvarcreate(), gtvardelattr(), gtvardimname2ord(), gtvarequivalent(), gtvargetattrcc(), gtvargetattrd(), gtvargetattrda(), gtvargetattrdp(), gtvargetattri(), gtvargetattria(), gtvargetattrip(), gtvargetattrr(), gtvargetattrra(), gtvargetattrrp(), gtvargetdouble(), gtvargetint(), gtvargetreal(), gtvarinquire(), gtvarinquirea(), gtvaropenbydimord(), gtvarputattrchar(), gtvarputattrdouble(), gtvarputattrint(), gtvarputattrlogical(), gtvarputattrreal(), gtvarputchar(), gtvarputdouble(), gtvarputint(), gtvarputreal(), and gtvarsync().


\begin{DoxyCode}
297     \textcolor{comment}{! 変数 var を指定して、内部種別 class, 内部識別子 cid を得る。}
298     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__types}{gtdata\_types}\textcolor{keywordtype}{, only}: \hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}
299     \textcolor{keywordtype}{use }\hyperlink{namespacegtdata__internal__vartable}{gtdata\_internal\_vartable}\textcolor{keywordtype}{, only}: \hyperlink{namespacegtdata__internal__vartable_a1bddf47a2cacc8db25b6fa2c32ed68db}{vartablelookup}
300     \textcolor{keywordtype}{type}(\hyperlink{structgtdata__types_1_1gt__variable}{gt\_variable}), \textcolor{keywordtype}{intent(in)}:: var
301     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional}:: \textcolor{keywordtype}{class}, cid
302     \textcolor{keywordtype}{integer}:: vid
303     \textcolor{keyword}{call }map\_lookup(var, vid=vid)
304     \textcolor{keyword}{call }\hyperlink{namespacegtdata__internal__vartable_a1bddf47a2cacc8db25b6fa2c32ed68db}{vartablelookup}(vid, class=\textcolor{keywordtype}{class}, cid=cid)
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=340pt]{namespacegtdata__internal__map_a86b920031832bea17e70a6bf4623c3d9_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__map_a86b920031832bea17e70a6bf4623c3d9_icgraph}
\end{center}
\end{figure}


\subsection{Variable Documentation}
\mbox{\Hypertarget{namespacegtdata__internal__map_a0c5258fa593622394c8eb8a76d2d708d}\label{namespacegtdata__internal__map_a0c5258fa593622394c8eb8a76d2d708d}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!maptab@{maptab}}
\index{maptab@{maptab}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{maptab}{maptab}}
{\footnotesize\ttfamily type(\hyperlink{structgtdata__internal__map_1_1map__table__entry}{map\+\_\+table\+\_\+entry}), dimension(\+:), allocatable, target, save, private gtdata\+\_\+internal\+\_\+map\+::maptab\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 68 of file gtdata\+\_\+internal\+\_\+map.\+f90.



Referenced by gtvar\+\_\+dump(), map\+\_\+apply(), map\+\_\+create(), map\+\_\+dup(), map\+\_\+lookup(), map\+\_\+resize(), map\+\_\+set(), map\+\_\+set\+\_\+ndims(), map\+\_\+set\+\_\+rank(), map\+\_\+to\+\_\+internal\+\_\+specs(), maptabadd(), and maptabdelete().


\begin{DoxyCode}
68   \textcolor{keywordtype}{type}(\hyperlink{structgtdata__internal__map_1_1map__table__entry}{map\_table\_entry}), \textcolor{keywordtype}{save}, \textcolor{keywordtype}{target}, \textcolor{keywordtype}{allocatable}:: maptab(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacegtdata__internal__map_a4fa92a4b395754f6039b8270f6335168}\label{namespacegtdata__internal__map_a4fa92a4b395754f6039b8270f6335168}} 
\index{gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}!maptab\+\_\+init\+\_\+size@{maptab\+\_\+init\+\_\+size}}
\index{maptab\+\_\+init\+\_\+size@{maptab\+\_\+init\+\_\+size}!gtdata\+\_\+internal\+\_\+map@{gtdata\+\_\+internal\+\_\+map}}
\subsubsection{\texorpdfstring{maptab\+\_\+init\+\_\+size}{maptab\_init\_size}}
{\footnotesize\ttfamily integer, parameter, private gtdata\+\_\+internal\+\_\+map\+::maptab\+\_\+init\+\_\+size = 16\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 69 of file gtdata\+\_\+internal\+\_\+map.\+f90.



Referenced by maptabadd().


\begin{DoxyCode}
69   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}:: maptab\_init\_size = 16
\end{DoxyCode}
