\hypertarget{namespaceua__mpi__module__base}{}\section{ua\+\_\+mpi\+\_\+module\+\_\+base Module Reference}
\label{namespaceua__mpi__module__base}\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine, public \hyperlink{namespaceua__mpi__module__base_a73f93133830708e2b96d2f2de767f3d8}{ua\+\_\+base\+\_\+mpi\+\_\+initial} (n\+\_\+in, i\+\_\+in, j\+\_\+in, k\+\_\+in, npv, mpi\+\_\+comm)
\item 
integer function, public \hyperlink{namespaceua__mpi__module__base_af035e99e3aa163554dc51f35491da867}{kp\+\_\+kl} (kl)
\item 
integer function, public \hyperlink{namespaceua__mpi__module__base_a2bbcdfcc788c671edcd8db1126b915a5}{lu\+\_\+nm} (n, m)
\item 
integer function, dimension(2), public \hyperlink{namespaceua__mpi__module__base_a9568b614728200201406fc7b37d36673}{nm\+\_\+lu} (l)
\item 
real(8) function, dimension(0\+:im-\/1, jc, \hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), public \hyperlink{namespaceua__mpi__module__base_ac70eec2c59ad6a100b656c80d0fc492b}{xvb\+\_\+pva} (pva)
\item 
real(8) function, dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1, jc, \hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), public \hyperlink{namespaceua__mpi__module__base_ae58b71b53cfd38c38ef48487dfeed727}{pva\+\_\+xvb} (xvb)
\item 
real(8) function, dimension(0\+:im-\/1, size(pa, 2)), public \hyperlink{namespaceua__mpi__module__base_ab672766fd5065a390deaace3e4e75f14}{xa\+\_\+pa} (pa)
\item 
real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}, size(xa, 2)), public \hyperlink{namespaceua__mpi__module__base_a67ea139272df5de4ae7bd520fa38197c}{pa\+\_\+xa} (xa)
\item 
real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc}, \hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), public \hyperlink{namespaceua__mpi__module__base_adefa40bc8541f3d74264807663e1e115}{wb\+\_\+ua} (ua)
\item 
real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc}, \hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), public \hyperlink{namespaceua__mpi__module__base_a4fa194094ac4cd8eb39ef68a1b4a6948}{ua\+\_\+wb} (wb)
\item 
real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc}, size(ua, 2)), public \hyperlink{namespaceua__mpi__module__base_a83d2ad9b1de5fef2e510085d0ee28a52}{wa\+\_\+ua} (ua)
\item 
real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc}, size(wa, 2)), public \hyperlink{namespaceua__mpi__module__base_ada4da456cb3f9346815084e3264ac852}{ua\+\_\+wa} (wa)
\item 
real(8) function, dimension(size(ab, 1), \hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), public \hyperlink{namespaceua__mpi__module__base_ab7b2720f93f99e0f5c0578e08d8fceae}{aa\+\_\+ab} (ab)
\item 
real(8) function, dimension(size(aa, 1), \hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), public \hyperlink{namespaceua__mpi__module__base_ae2f8e298c1608fa7f39656efacbde06d}{ab\+\_\+aa} (aa)
\item 
real(8) function, dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1, jc, \hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), public \hyperlink{namespaceua__mpi__module__base_aea53eb6c124d6a8e5d6c798491349cd4}{pva\+\_\+ua} (ua\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc}, \hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), public \hyperlink{namespaceua__mpi__module__base_aca4b55487850574fcc0c016fa1e32c54}{ua\+\_\+pva} (pva\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc}), public \hyperlink{namespaceua__mpi__module__base_aa8be6f625f226f1da2f2bcb0ac9d0c89}{u\+\_\+pv} (pv\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1, jc), public \hyperlink{namespaceua__mpi__module__base_a9564b3f010a70cf57d143a50559a1eb8}{pv\+\_\+u} (u\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(0\+:im-\/1, jc, \hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), public \hyperlink{namespaceua__mpi__module__base_a5b26ed2360298ec8f71a1087e6c644b3}{xvb\+\_\+ua} (ua\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc}, \hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), public \hyperlink{namespaceua__mpi__module__base_aca15e3577ad16b46012ba226e91f80b6}{ua\+\_\+xvb} (xvb\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(0\+:im-\/1, jc), public \hyperlink{namespaceua__mpi__module__base_a7adeead2ddfa96922086b6152fc46f38}{xv\+\_\+u} (u\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc}), public \hyperlink{namespaceua__mpi__module__base_ad841b698913367fb7af111df17143ec6}{u\+\_\+xv} (xv\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1, jc, \hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), public \hyperlink{namespaceua__mpi__module__base_a7500733b66f30e5afb9784c399d794a5}{pva\+\_\+wb} (wb\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc}, \hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), public \hyperlink{namespaceua__mpi__module__base_a5752e310929b09500959383c3dfe7a6a}{wb\+\_\+pva} (pva\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc}), public \hyperlink{namespaceua__mpi__module__base_afda56d2f63425e7209a9b4e560f2c148}{w\+\_\+pv} (pv\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1, jc), public \hyperlink{namespaceua__mpi__module__base_a7b7695763a14e5dd61e09fce9f86ae41}{pv\+\_\+w} (w\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(0\+:im-\/1, jc, \hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), public \hyperlink{namespaceua__mpi__module__base_a02ca6b19fe5ef934a207d2f308a77841}{xvb\+\_\+wb} (wb\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc}, \hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), public \hyperlink{namespaceua__mpi__module__base_a1d89284096cef96f118418a45b7220f9}{wb\+\_\+xvb} (xvb\+\_\+data, ipow, iflag)
\item 
subroutine, public \hyperlink{namespaceua__mpi__module__base_a0268a38f4a13aae8ef9f46bb579e3a23}{ua\+\_\+streampotential2vectormpi} (ua\+\_\+\+Psi, ua\+\_\+\+Chi, xvb\+\_\+U, xvb\+\_\+V)
\item 
subroutine, public \hyperlink{namespaceua__mpi__module__base_a0f16c53a0a285646c5fc615ea972d6ec}{ua\+\_\+vector2vordivmpi} (xvb\+\_\+U, xvb\+\_\+V, ua\+\_\+\+Vor, ua\+\_\+\+Div)
\item 
subroutine, public \hyperlink{namespaceua__mpi__module__base_ab365f91eba1e2a8bdc0e8ec0036bc219}{ua\+\_\+vectorcoslat2vordivmpi} (xvb\+\_\+\+U\+Cos\+Lat, xvb\+\_\+\+V\+Cos\+Lat, ua\+\_\+\+Vor, ua\+\_\+\+Div)
\item 
subroutine, public \hyperlink{namespaceua__mpi__module__base_a294bbc42628786c2f6833750334e7be8}{wb\+\_\+streampotential2vectormpi} (wb\+\_\+\+Psi, wb\+\_\+\+Chi, pva\+\_\+U, pva\+\_\+V)
\item 
subroutine, public \hyperlink{namespaceua__mpi__module__base_ade29702160c1cf3f95fabcac65862408}{wb\+\_\+vector2vordivmpi} (pva\+\_\+U, pva\+\_\+V, wb\+\_\+\+Vor, wb\+\_\+\+Div)
\item 
subroutine, public \hyperlink{namespaceua__mpi__module__base_aac2a583dd008ab30867530c45451f870}{wb\+\_\+vectorcoslat2vordivmpi} (pva\+\_\+\+U\+Cos\+Lat, pva\+\_\+\+V\+Cos\+Lat, wb\+\_\+\+Vor, wb\+\_\+\+Div)
\item 
subroutine, public \hyperlink{namespaceua__mpi__module__base_ab5c7cc043ec4092ea95a60f62f818d9e}{ua\+\_\+base\+\_\+mpi\+\_\+finalize}
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km} =16
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_add8f0bfad0998dadd2e218caad49712f}{nproc}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_a0a96bfc6aca39c79277b0d153e53e83f}{nproc\+\_\+h}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_ace8024e7d222f2079ebf63f149bbace5}{nproc\+\_\+v}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_a1669820d86642671e8ff6fc5f8f93a98}{iproc}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_a24117b9c8b0363bcea3fe8f50558e150}{iproc\+\_\+h}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_a44ce9518adedd383957c49b2b2657b28}{iproc\+\_\+v}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_a333b9eb05ead1bb01ab391f51c57d73e}{is}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_a891eddfe21bbce27fb2462df6eb64b3f}{ie}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespaceua__mpi__module__base_a3fc46a43f5636545946affee7b720e96}{isp}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespaceua__mpi__module__base_a66044ccec63cb711b14bb99b3709d441}{iep}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespaceua__mpi__module__base_ac474b93bec69be5bbe58631fd96d60cf}{icp}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_adb1aece196ee907eb087af66998b3109}{ks}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_a5d66bb05dec7b1d8073e532a70b37495}{ke}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespaceua__mpi__module__base_a7b1af94d3cdf29d72cf36735b6a2883f}{ksp}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespaceua__mpi__module__base_a706a59a4a52dd0c43c4e8241c43d8547}{kep}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespaceua__mpi__module__base_a3e554cc95b85dff34bf822a83278c0c4}{kcp}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_aa7a00bf6ef269cc0fa489d1f440fe4d8}{nms}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_a0ab025248a156b439802067e2c5e2a20}{nme}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespaceua__mpi__module__base_a5fe02278146287edca7c6d3ce94ecc51}{nmsp}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespaceua__mpi__module__base_a4520884c4610c4dff11eeeca2b985d17}{nmep}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespaceua__mpi__module__base_a15b54d08a3943c032dac7abf55b70669}{nmcp}
\item 
real(8), dimension(\+:,\+:), allocatable, save, public \hyperlink{namespaceua__mpi__module__base_a2d1bc1db4e2e7d0433433993848af53b}{pv\+\_\+lon}
\item 
real(8), dimension(\+:,\+:), allocatable, save, public \hyperlink{namespaceua__mpi__module__base_a2b847092e20fda562ea00f93e2301984}{pv\+\_\+lat}
\item 
real(8), dimension(\+:), allocatable, save, public \hyperlink{namespaceua__mpi__module__base_a3c7924e501a2905043b89c05a508808d}{p\+\_\+lon}
\item 
real(8), dimension(\+:), allocatable, save, public \hyperlink{namespaceua__mpi__module__base_acf197aa4ca658b59536f052f30e93b44}{p\+\_\+lon\+\_\+weight}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_aeb098e8d89b5cb2b760f323640cad26d}{mpi\+\_\+comm\+\_\+w}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_a8ecb710381425c07040b8357ac91be9b}{mpi\+\_\+comm\+\_\+h}
\item 
integer, save, public \hyperlink{namespaceua__mpi__module__base_af6afc50d091c0e9303c7c1aff0ace31f}{mpi\+\_\+comm\+\_\+v}
\item 
logical, save \hyperlink{namespaceua__mpi__module__base_ac84076ed13349ea0867587111a69f180}{first\+\_\+xvb\+\_\+pva} =.true.
\item 
logical, save \hyperlink{namespaceua__mpi__module__base_a042302c97546af9a4e108e04230b91d4}{first\+\_\+pva\+\_\+xvb} =.true.
\item 
logical, save \hyperlink{namespaceua__mpi__module__base_a98562fcdd3daf35ee6de583c33f56b45}{first\+\_\+wb\+\_\+ua} =.true.
\item 
logical, save \hyperlink{namespaceua__mpi__module__base_a4c17e1576d50969d20a22a8d27ea606a}{first\+\_\+ua\+\_\+wb} =.true.
\item 
logical, save \hyperlink{namespaceua__mpi__module__base_ad28eb631ae22a1bd88b7e9fb6f1bdb63}{first\+\_\+wa\+\_\+ua} =.true.
\item 
logical, save \hyperlink{namespaceua__mpi__module__base_a8a6b6c1a0c381c74049f01735e3256c2}{first\+\_\+aa\+\_\+ab} =.true.
\item 
logical, save \hyperlink{namespaceua__mpi__module__base_a51911cf8fa30b7f63de6565001e045d6}{first\+\_\+xa\+\_\+pa} =.true.
\end{DoxyCompactItemize}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespaceua__mpi__module__base_ab7b2720f93f99e0f5c0578e08d8fceae}\label{namespaceua__mpi__module__base_ab7b2720f93f99e0f5c0578e08d8fceae}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!aa\+\_\+ab@{aa\+\_\+ab}}
\index{aa\+\_\+ab@{aa\+\_\+ab}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{aa\+\_\+ab()}{aa\_ab()}}
{\footnotesize\ttfamily real(8) function, dimension(size(ab,1),\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::aa\+\_\+ab (\begin{DoxyParamCaption}\item[{real(8), dimension(\+:,\+:), intent(in)}]{ab }\end{DoxyParamCaption})}



Definition at line 786 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References first\+\_\+aa\+\_\+ab, iproc\+\_\+h, iproc\+\_\+v, kc, kcp, mpi\+\_\+comm\+\_\+v, and nproc\+\_\+v.


\begin{DoxyCode}
786      \textcolor{comment}{!}
787      \textcolor{comment}{! 水平スペクトル・動径格子点データを集める.}
788      \textcolor{comment}{!}
789      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)} :: ab
790      \textcolor{comment}{!(in)  動径格子点データ(分割)}
791      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(size(ab,1),km)}   :: aa\_ab
792      \textcolor{comment}{!(out) 動径格子点データ}
793 
794      \textcolor{keywordtype}{integer} :: a\_size
795      \textcolor{keywordtype}{integer} :: irqsts
796      \textcolor{keywordtype}{integer} :: ist( mpi\_status\_size )
797 
798      \textcolor{keywordtype}{integer} :: ierr, ip\_v
799      \textcolor{keywordtype}{integer} :: itag
800      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::snd\_rank\_v(:)
801      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_rank\_v(:)
802      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_idx(:)
803 
804      \textcolor{keywordtype}{save} snd\_rank\_v, rcv\_rank\_v, rcv\_idx
805 
806      \textcolor{keywordflow}{if} ( first\_aa\_ab ) \textcolor{keywordflow}{then}
807         first\_aa\_ab = .false.
808         \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(snd\_rank\_v) ) \textcolor{keyword}{deallocate}(snd\_rank\_v)
809         \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_rank\_v) ) \textcolor{keyword}{deallocate}(rcv\_rank\_v)
810         \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_idx) )    \textcolor{keyword}{deallocate}(rcv\_idx)
811         \textcolor{keyword}{allocate}(snd\_rank\_v(1:nproc\_v-1))
812         \textcolor{keyword}{allocate}(rcv\_rank\_v(1:nproc\_v-1))
813         \textcolor{keyword}{allocate}(rcv\_idx(0:nproc\_v-1))
814 
815         \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
816            rcv\_rank\_v(ip\_v) = mod(iproc\_v+ip\_v,nproc\_v)
817            snd\_rank\_v(ip\_v) = mod(iproc\_v-ip\_v+nproc\_v,nproc\_v)
818 \textcolor{keywordflow}{        enddo}
819 
820         rcv\_idx(0) = 1
821         \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
822            rcv\_idx(ip\_v) = rcv\_idx(ip\_v-1)+kcp(ip\_v-1)
823 \textcolor{keywordflow}{        enddo}
824 \textcolor{keywordflow}{     endif}
825 
826      a\_size = \textcolor{keyword}{size}(ab,1)
827 
828      \textcolor{keyword}{call }mpi\_barrier(mpi\_comm\_v,ierr)
829      \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
830         itag = 70000+iproc\_h*1000+iproc\_v
831         \textcolor{keyword}{call }mpi\_irecv(aa\_ab(1,rcv\_idx(snd\_rank\_v(ip\_v))),&
832              a\_size*kcp(snd\_rank\_v(ip\_v)), mpi\_real8,    &
833              snd\_rank\_v(ip\_v), itag, mpi\_comm\_v, irqsts, ierr)
834         itag = 70000+iproc\_h*1000+rcv\_rank\_v(ip\_v)
835         \textcolor{keyword}{call }mpi\_send(ab, a\_size*kc, mpi\_real8, rcv\_rank\_v(ip\_v),&
836              itag,mpi\_comm\_v,ierr)
837         \textcolor{keyword}{CALL }mpi\_wait(irqsts,ist,ierr)
838 \textcolor{keywordflow}{     enddo}
839 
840      aa\_ab(:,rcv\_idx(iproc\_v):rcv\_idx(iproc\_v)+kcp(iproc\_v)-1) = ab
841 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_ae2f8e298c1608fa7f39656efacbde06d}\label{namespaceua__mpi__module__base_ae2f8e298c1608fa7f39656efacbde06d}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ab\+\_\+aa@{ab\+\_\+aa}}
\index{ab\+\_\+aa@{ab\+\_\+aa}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ab\+\_\+aa()}{ab\_aa()}}
{\footnotesize\ttfamily real(8) function, dimension(size(aa,1),\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::ab\+\_\+aa (\begin{DoxyParamCaption}\item[{real(8), dimension(\+:,\+:), intent(in)}]{aa }\end{DoxyParamCaption})}



Definition at line 845 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References ke, and ks.


\begin{DoxyCode}
845      \textcolor{comment}{!}
846      \textcolor{comment}{! 水平スペクトル・動径格子点データを分割する.}
847      \textcolor{comment}{!}
848      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)} :: aa
849      \textcolor{comment}{!(in)  動径格子点データ(:,0:km)}
850      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(size(aa,1),kc)}    :: ab\_aa
851      \textcolor{comment}{!(out) 動径格子点データ(分割)}
852 
853      ab\_aa = aa(:,ks:ke)
854 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_af035e99e3aa163554dc51f35491da867}\label{namespaceua__mpi__module__base_af035e99e3aa163554dc51f35491da867}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!kp\+\_\+kl@{kp\+\_\+kl}}
\index{kp\+\_\+kl@{kp\+\_\+kl}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{kp\+\_\+kl()}{kp\_kl()}}
{\footnotesize\ttfamily integer function, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::kp\+\_\+kl (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{kl }\end{DoxyParamCaption})}



Definition at line 296 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References ke, and ks.


\begin{DoxyCode}
296       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(IN)} :: kl             \textcolor{comment}{! 層番号(全体)}
297       \textcolor{keywordtype}{integer}             :: kp\_kl          \textcolor{comment}{! 層番号(分割プロセス中)}
298 
299       \textcolor{keywordflow}{if} ( ks .le. kl .AND. kl .le. ke ) \textcolor{keywordflow}{then}
300          kp\_kl = kl - ks + 1
301       \textcolor{keywordflow}{else}
302          kp\_kl = 0
303 \textcolor{keywordflow}{      endif}
304 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a2bbcdfcc788c671edcd8db1126b915a5}\label{namespaceua__mpi__module__base_a2bbcdfcc788c671edcd8db1126b915a5}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!lu\+\_\+nm@{lu\+\_\+nm}}
\index{lu\+\_\+nm@{lu\+\_\+nm}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{lu\+\_\+nm()}{lu\_nm()}}
{\footnotesize\ttfamily integer function, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::lu\+\_\+nm (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{n,  }\item[{integer, intent(in)}]{m }\end{DoxyParamCaption})}



Definition at line 308 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References nme, and nms.


\begin{DoxyCode}
308       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(IN)} :: n              \textcolor{comment}{! 全波数}
309       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(IN)} :: m              \textcolor{comment}{! 帯状波数}
310       \textcolor{keywordtype}{integer}             :: lu\_nm          \textcolor{comment}{! 位置情報(分割プロセス中)}
311 
312       \textcolor{keywordtype}{integer} :: ll                         \textcolor{comment}{! 位置情報(全体)}
313 
314       ll = l\_nm(n,m)
315       \textcolor{keywordflow}{if} ( nms .le. ll .AND. ll .le. nme ) \textcolor{keywordflow}{then}
316          lu\_nm = ll-nms+1
317       \textcolor{keywordflow}{else}
318          lu\_nm = 0
319 \textcolor{keywordflow}{      endif}
320 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a9568b614728200201406fc7b37d36673}\label{namespaceua__mpi__module__base_a9568b614728200201406fc7b37d36673}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!nm\+\_\+lu@{nm\+\_\+lu}}
\index{nm\+\_\+lu@{nm\+\_\+lu}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nm\+\_\+lu()}{nm\_lu()}}
{\footnotesize\ttfamily integer function, dimension(2), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::nm\+\_\+lu (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{l }\end{DoxyParamCaption})}



Definition at line 324 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References nms.


\begin{DoxyCode}
324       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(IN)} :: l              \textcolor{comment}{! 位置情報(分割プロセス中)}
325       \textcolor{keywordtype}{integer}             :: nm\_lu(2)        \textcolor{comment}{! 全波数, 帯状波数}
326 
327       nm\_lu = nm\_l(l+nms-1)
328 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a67ea139272df5de4ae7bd520fa38197c}\label{namespaceua__mpi__module__base_a67ea139272df5de4ae7bd520fa38197c}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!pa\+\_\+xa@{pa\+\_\+xa}}
\index{pa\+\_\+xa@{pa\+\_\+xa}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{pa\+\_\+xa()}{pa\_xa()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic},size(xa,2)), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::pa\+\_\+xa (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:,\+:), intent(in)}]{xa }\end{DoxyParamCaption})}



Definition at line 538 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References ie, and is.


\begin{DoxyCode}
538       \textcolor{comment}{!}
539       \textcolor{comment}{! 水平格子データを再分割する}
540       \textcolor{comment}{!}
541       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:,:)}, \textcolor{keywordtype}{intent(in)} :: xa
542       \textcolor{comment}{!(in) 2 次元格子点数データ (0:im-1,:)}
543       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(ic,size(xa,2))}  :: pa\_xa
544       \textcolor{comment}{!(out) 2 次元格子点データ(経度分割)}
545 
546       pa\_xa = xa(is:ie,:)
547 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a9564b3f010a70cf57d143a50559a1eb8}\label{namespaceua__mpi__module__base_a9564b3f010a70cf57d143a50559a1eb8}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!pv\+\_\+u@{pv\+\_\+u}}
\index{pv\+\_\+u@{pv\+\_\+u}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{pv\+\_\+u()}{pv\_u()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::pv\+\_\+u (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc}), intent(in)}]{u\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 982 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References pa\+\_\+xa(), and xv\+\_\+u().


\begin{DoxyCode}
982      \textcolor{comment}{!}
983      \textcolor{comment}{! スペクトルデータから格子データへ変換する(多層用).}
984      \textcolor{comment}{!}
985      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: u\_data(nmc)
986      \textcolor{comment}{!(in) スペクトルデータ}
987      \textcolor{comment}{!}
988      \textcolor{keywordtype}{real(8)}               :: pv\_u(0:ic-1,jc)
989      \textcolor{comment}{!(out) 格子点データ}
990      \textcolor{comment}{!}
991      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
992      \textcolor{comment}{!(in) 作用させる 1/cosφ の次数. 省略時は 0.}
993      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
994      \textcolor{comment}{!(in) 変換の種類}
995      \textcolor{comment}{!    0 : 通常の正変換}
996      \textcolor{comment}{!   -1 : 経度微分を作用させた逆変換}
997      \textcolor{comment}{!    1 : 緯度微分 cosφ・∂/∂φ を作用させた逆変換}
998      \textcolor{comment}{!    2 : sinφを作用させた逆変換}
999      \textcolor{comment}{!    省略時は 0.}
1000      \textcolor{comment}{!}
1001      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0
1002      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0
1003      \textcolor{keywordtype}{integer} ipval, ifval
1004 
1005      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
1006         ipval = ipow
1007      \textcolor{keywordflow}{else}
1008         ipval = ipow\_default
1009 \textcolor{keywordflow}{     endif}
1010 
1011      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
1012         ifval = iflag
1013      \textcolor{keywordflow}{else}
1014         ifval = iflag\_default
1015 \textcolor{keywordflow}{     endif}
1016 
1017      pv\_u = pa\_xa(xv\_u(u\_data,ipow=ipval,iflag=ifval))
1018 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_a9564b3f010a70cf57d143a50559a1eb8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a7b7695763a14e5dd61e09fce9f86ae41}\label{namespaceua__mpi__module__base_a7b7695763a14e5dd61e09fce9f86ae41}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!pv\+\_\+w@{pv\+\_\+w}}
\index{pv\+\_\+w@{pv\+\_\+w}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{pv\+\_\+w()}{pv\_w()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::pv\+\_\+w (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc}), intent(in)}]{w\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 1334 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References pa\+\_\+xa(), and w\+\_\+mpi\+\_\+module\+\_\+base\+::xv\+\_\+w().


\begin{DoxyCode}
1334      \textcolor{comment}{!}
1335      \textcolor{comment}{! スペクトルデータから格子データへ変換する(多層用).}
1336      \textcolor{comment}{!}
1337      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: w\_data(nc)
1338      \textcolor{comment}{!(in) スペクトルデータ}
1339      \textcolor{comment}{!}
1340      \textcolor{keywordtype}{real(8)}               :: pv\_w(0:ic-1,jc)
1341      \textcolor{comment}{!(out) 格子点データ}
1342      \textcolor{comment}{!}
1343      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
1344      \textcolor{comment}{!(in) 作用させる 1/cosφ の次数. 省略時は 0.}
1345      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
1346      \textcolor{comment}{!(in) 変換の種類}
1347      \textcolor{comment}{!    0 : 通常の正変換}
1348      \textcolor{comment}{!   -1 : 経度微分を作用させた逆変換}
1349      \textcolor{comment}{!    1 : 緯度微分 cosφ・∂/∂φ を作用させた逆変換}
1350      \textcolor{comment}{!    2 : sinφを作用させた逆変換}
1351      \textcolor{comment}{!    省略時は 0.}
1352      \textcolor{comment}{!}
1353      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0
1354      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0
1355      \textcolor{keywordtype}{integer} ipval, ifval
1356 
1357      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
1358         ipval = ipow
1359      \textcolor{keywordflow}{else}
1360         ipval = ipow\_default
1361 \textcolor{keywordflow}{     endif}
1362 
1363      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
1364         ifval = iflag
1365      \textcolor{keywordflow}{else}
1366         ifval = iflag\_default
1367 \textcolor{keywordflow}{     endif}
1368 
1369      pv\_w = pa\_xa(xv\_w(w\_data,ipow=ipval,iflag=ifval))
1370 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_a7b7695763a14e5dd61e09fce9f86ae41_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_aea53eb6c124d6a8e5d6c798491349cd4}\label{namespaceua__mpi__module__base_aea53eb6c124d6a8e5d6c798491349cd4}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!pva\+\_\+ua@{pva\+\_\+ua}}
\index{pva\+\_\+ua@{pva\+\_\+ua}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{pva\+\_\+ua()}{pva\_ua()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc,\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::pva\+\_\+ua (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc},\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(in)}]{ua\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 860 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References pva\+\_\+xvb(), and xvb\+\_\+ua().


\begin{DoxyCode}
860      \textcolor{comment}{!}
861      \textcolor{comment}{! スペクトルデータから格子データへ変換する(多層用).}
862      \textcolor{comment}{!}
863      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: ua\_data(nmc,km)
864      \textcolor{comment}{!(in) スペクトルデータ}
865      \textcolor{comment}{!}
866      \textcolor{keywordtype}{real(8)}               :: pva\_ua(0:ic-1,jc,km)
867      \textcolor{comment}{!(out) 格子点データ}
868      \textcolor{comment}{!}
869      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
870      \textcolor{comment}{!(in) 作用させる 1/cosφ の次数. 省略時は 0.}
871      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
872      \textcolor{comment}{!(in) 変換の種類}
873      \textcolor{comment}{!    0 : 通常の正変換}
874      \textcolor{comment}{!   -1 : 経度微分を作用させた逆変換}
875      \textcolor{comment}{!    1 : 緯度微分 cosφ・∂/∂φ を作用させた逆変換}
876      \textcolor{comment}{!    2 : sinφを作用させた逆変換}
877      \textcolor{comment}{!    省略時は 0.}
878      \textcolor{comment}{!}
879      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0
880      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0
881      \textcolor{keywordtype}{integer} ipval, ifval
882 
883      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
884         ipval = ipow
885      \textcolor{keywordflow}{else}
886         ipval = ipow\_default
887 \textcolor{keywordflow}{     endif}
888 
889      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
890         ifval = iflag
891      \textcolor{keywordflow}{else}
892         ifval = iflag\_default
893 \textcolor{keywordflow}{     endif}
894 
895      pva\_ua = pva\_xvb(xvb\_ua(ua\_data,ipow=ipval,iflag=ifval))
896 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_aea53eb6c124d6a8e5d6c798491349cd4_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a7500733b66f30e5afb9784c399d794a5}\label{namespaceua__mpi__module__base_a7500733b66f30e5afb9784c399d794a5}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!pva\+\_\+wb@{pva\+\_\+wb}}
\index{pva\+\_\+wb@{pva\+\_\+wb}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{pva\+\_\+wb()}{pva\_wb()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc,\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::pva\+\_\+wb (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc},\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(in)}]{wb\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 1212 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References pva\+\_\+xvb(), and xvb\+\_\+wb().


\begin{DoxyCode}
1212      \textcolor{comment}{!}
1213      \textcolor{comment}{! スペクトルデータから格子データへ変換する(多層用).}
1214      \textcolor{comment}{!}
1215      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: wb\_data(nc,kc)
1216      \textcolor{comment}{!(in) スペクトルデータ}
1217      \textcolor{comment}{!}
1218      \textcolor{keywordtype}{real(8)}               :: pva\_wb(0:ic-1,jc,km)
1219      \textcolor{comment}{!(out) 格子点データ}
1220      \textcolor{comment}{!}
1221      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
1222      \textcolor{comment}{!(in) 作用させる 1/cosφ の次数. 省略時は 0.}
1223      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
1224      \textcolor{comment}{!(in) 変換の種類}
1225      \textcolor{comment}{!    0 : 通常の正変換}
1226      \textcolor{comment}{!   -1 : 経度微分を作用させた逆変換}
1227      \textcolor{comment}{!    1 : 緯度微分 cosφ・∂/∂φ を作用させた逆変換}
1228      \textcolor{comment}{!    2 : sinφを作用させた逆変換}
1229      \textcolor{comment}{!    省略時は 0.}
1230      \textcolor{comment}{!}
1231      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0
1232      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0
1233      \textcolor{keywordtype}{integer} ipval, ifval
1234 
1235      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
1236         ipval = ipow
1237      \textcolor{keywordflow}{else}
1238         ipval = ipow\_default
1239 \textcolor{keywordflow}{     endif}
1240 
1241      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
1242         ifval = iflag
1243      \textcolor{keywordflow}{else}
1244         ifval = iflag\_default
1245 \textcolor{keywordflow}{     endif}
1246 
1247      pva\_wb = pva\_xvb(xvb\_wb(wb\_data,ipow=ipval,iflag=ifval))
1248 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_a7500733b66f30e5afb9784c399d794a5_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_ae58b71b53cfd38c38ef48487dfeed727}\label{namespaceua__mpi__module__base_ae58b71b53cfd38c38ef48487dfeed727}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!pva\+\_\+xvb@{pva\+\_\+xvb}}
\index{pva\+\_\+xvb@{pva\+\_\+xvb}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{pva\+\_\+xvb()}{pva\_xvb()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc,\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::pva\+\_\+xvb (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:im-\/1,jc,\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(in)}]{xvb }\end{DoxyParamCaption})}



Definition at line 403 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References first\+\_\+pva\+\_\+xvb, ic, icp, ie, iep, iproc\+\_\+h, iproc\+\_\+v, is, isp, w\+\_\+mpi\+\_\+module\+\_\+base\+::jc, kc, kcp, ke, ks, mpi\+\_\+comm\+\_\+v, and nproc\+\_\+v.


\begin{DoxyCode}
403       \textcolor{comment}{!}
404       \textcolor{comment}{! 格子点データ(経度・緯度分割)から格子点データ(緯度・層分割)へ変換する.}
405       \textcolor{comment}{!}
406       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:im-1,jc,kc)}, \textcolor{keywordtype}{intent(in)}   :: xvb
407       \textcolor{comment}{!(in) 2 次元球面調和函数(水平再分割) (nc,:)}
408       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:ic-1,jc,km)}               :: pva\_xvb
409       \textcolor{comment}{!(out) 2 次元球面調和函数チェビシェフスペクトルデータ}
410 
411       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{allocatable} :: pvb\_send(:,:,:)
412 
413       \textcolor{keywordtype}{integer} :: irqsts
414       \textcolor{keywordtype}{integer} :: ist( mpi\_status\_size )
415 
416       \textcolor{keywordtype}{integer} :: ierr, iv
417       \textcolor{keywordtype}{integer} :: itag
418       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::snd\_rank\_v(:)
419       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_rank\_v(:)
420       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_idx(:)
421 
422       \textcolor{keywordtype}{save} snd\_rank\_v, rcv\_rank\_v, rcv\_idx
423 
424       \textcolor{keywordflow}{if} ( first\_pva\_xvb ) \textcolor{keywordflow}{then}
425          first\_pva\_xvb = .false.
426          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(snd\_rank\_v) ) \textcolor{keyword}{deallocate}(snd\_rank\_v)
427          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_rank\_v) ) \textcolor{keyword}{deallocate}(rcv\_rank\_v)
428          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_idx) ) \textcolor{keyword}{deallocate}(rcv\_idx)
429          \textcolor{keyword}{allocate}(snd\_rank\_v(1:nproc\_v-1))
430          \textcolor{keyword}{allocate}(rcv\_rank\_v(1:nproc\_v-1))
431          \textcolor{keyword}{allocate}(rcv\_idx(0:nproc\_v-1))
432 
433          \textcolor{keywordflow}{do} iv=1,nproc\_v-1
434             rcv\_rank\_v(iv) = mod(iproc\_v+iv,nproc\_v)
435             snd\_rank\_v(iv) = mod(iproc\_v-iv+nproc\_v,nproc\_v)
436 \textcolor{keywordflow}{         enddo}
437 
438          rcv\_idx(0) = 1
439          \textcolor{keywordflow}{do} iv=1,nproc\_v-1
440             rcv\_idx(iv) = rcv\_idx(iv-1)+kcp(iv-1)
441 \textcolor{keywordflow}{         enddo}
442 \textcolor{keywordflow}{      endif}
443 
444       \textcolor{comment}{!call MPI\_Barrier(MPI\_COMM\_V,IERR)}
445 
446       \textcolor{keywordflow}{if} ( jc > 0 ) \textcolor{keywordflow}{then}
447          \textcolor{keywordflow}{do} iv=1,nproc\_v-1
448             itag = 20000+iproc\_h*1000+iproc\_v
449             \textcolor{keyword}{call }mpi\_irecv(pva\_xvb(0,1,rcv\_idx(snd\_rank\_v(iv))),&
450                  ic*jc*kcp(snd\_rank\_v(iv)), mpi\_real8,    &
451                  snd\_rank\_v(iv), itag, mpi\_comm\_v, irqsts, ierr)
452             \textcolor{keyword}{allocate}(pvb\_send(icp(rcv\_rank\_v(iv)),jc,kc))
453             pvb\_send = xvb(isp(rcv\_rank\_v(iv)):iep(rcv\_rank\_v(iv)),:,:)
454             itag = 20000+iproc\_h*1000+rcv\_rank\_v(iv)
455             \textcolor{keyword}{call }mpi\_send(pvb\_send, icp(rcv\_rank\_v(iv))*jc*kc,&
456                  mpi\_real8, rcv\_rank\_v(iv),&
457                  itag,mpi\_comm\_v,ierr)
458             \textcolor{keyword}{deallocate}(pvb\_send)
459             \textcolor{keyword}{CALL }mpi\_wait(irqsts,ist,ierr)
460 \textcolor{keywordflow}{         enddo}
461 \textcolor{keywordflow}{      endif}
462       
463       pva\_xvb(:,:,ks:ke) = xvb(is:ie,:,:)
464 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_aa8be6f625f226f1da2f2bcb0ac9d0c89}\label{namespaceua__mpi__module__base_aa8be6f625f226f1da2f2bcb0ac9d0c89}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!u\+\_\+pv@{u\+\_\+pv}}
\index{u\+\_\+pv@{u\+\_\+pv}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{u\+\_\+pv()}{u\_pv()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::u\+\_\+pv (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc), intent(in)}]{pv\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 940 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References u\+\_\+xv(), and xa\+\_\+pa().


\begin{DoxyCode}
940      \textcolor{comment}{!}
941      \textcolor{comment}{! 格子データからスペクトルデータへ(正)変換する(多層用).}
942      \textcolor{comment}{!}
943      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: pv\_data(0:ic-1,jc)
944      \textcolor{comment}{!(in) 格子点データ}
945 
946      \textcolor{keywordtype}{real(8)}               :: u\_pv(nmc)
947      \textcolor{comment}{!(out) スペクトルデータ}
948 
949      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
950      \textcolor{comment}{!(in) 変換時に同時に作用させる 1/cosφ の次数. 省略時は 0.}
951 
952      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
953      \textcolor{comment}{! 変換の種類}
954      \textcolor{comment}{!    0 : 通常の正変換}
955      \textcolor{comment}{!   -1 : 経度微分を作用させた正変換}
956      \textcolor{comment}{!    1 : 緯度微分 1/cosφ・∂(f cos^2φ)/∂φ を作用させた正変換}
957      \textcolor{comment}{!    2 : sinφを作用させた正変換}
958      \textcolor{comment}{!  省略時は 0.}
959      \textcolor{comment}{!}
960      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0      \textcolor{comment}{! スイッチデフォルト値}
961      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0      \textcolor{comment}{! スイッチデフォルト値}
962 
963      \textcolor{keywordtype}{integer} ipval, ifval
964 
965      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
966         ipval = ipow
967      \textcolor{keywordflow}{else}
968         ipval = ipow\_default
969 \textcolor{keywordflow}{     endif}
970 
971      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
972         ifval = iflag
973      \textcolor{keywordflow}{else}
974         ifval = iflag\_default
975 \textcolor{keywordflow}{     endif}
976 
977      u\_pv = u\_xv(xa\_pa(pv\_data),ipow=ipval,iflag=ifval)
978 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_aa8be6f625f226f1da2f2bcb0ac9d0c89_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_ad841b698913367fb7af111df17143ec6}\label{namespaceua__mpi__module__base_ad841b698913367fb7af111df17143ec6}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!u\+\_\+xv@{u\+\_\+xv}}
\index{u\+\_\+xv@{u\+\_\+xv}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{u\+\_\+xv()}{u\_xv()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::u\+\_\+xv (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:im-\/1,jc), intent(in)}]{xv\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 1163 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References ua\+\_\+wa(), and w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+xv().


\begin{DoxyCode}
1163      \textcolor{comment}{!}
1164      \textcolor{comment}{! 格子データからスペクトルデータへ(正)変換する(多層用).}
1165      \textcolor{comment}{!}
1166      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: xv\_data(0:im-1,jc)
1167      \textcolor{comment}{!(in) 格子点データ}
1168 
1169      \textcolor{keywordtype}{real(8)}               :: u\_xv(nmc)
1170      \textcolor{comment}{!(out) スペクトルデータ}
1171 
1172      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
1173      \textcolor{comment}{!(in) 変換時に同時に作用させる 1/cosφ の次数. 省略時は 0.}
1174 
1175      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
1176      \textcolor{comment}{! 変換の種類}
1177      \textcolor{comment}{!    0 : 通常の正変換}
1178      \textcolor{comment}{!   -1 : 経度微分を作用させた正変換}
1179      \textcolor{comment}{!    1 : 緯度微分 1/cosφ・∂(f cos^2φ)/∂φ を作用させた正変換}
1180      \textcolor{comment}{!    2 : sinφを作用させた正変換}
1181      \textcolor{comment}{!  省略時は 0.}
1182      \textcolor{comment}{!}
1183      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0      \textcolor{comment}{! スイッチデフォルト値}
1184      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0      \textcolor{comment}{! スイッチデフォルト値}
1185 
1186      \textcolor{keywordtype}{integer} ipval, ifval
1187 
1188      \textcolor{keywordtype}{real(8)} :: ua\_data(nmc,1)
1189      \textcolor{keywordtype}{real(8)} :: wa\_data(nc,1)
1190 
1191      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
1192         ipval = ipow
1193      \textcolor{keywordflow}{else}
1194         ipval = ipow\_default
1195 \textcolor{keywordflow}{     endif}
1196 
1197      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
1198         ifval = iflag
1199      \textcolor{keywordflow}{else}
1200         ifval = iflag\_default
1201 \textcolor{keywordflow}{     endif}
1202 
1203      wa\_data(:,1) = w\_xv(xv\_data,iflag=ifval,ipow=ipval)
1204      ua\_data = ua\_wa(wa\_data)
1205      u\_xv = ua\_data(:,1)
1206 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_ad841b698913367fb7af111df17143ec6_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_ab5c7cc043ec4092ea95a60f62f818d9e}\label{namespaceua__mpi__module__base_ab5c7cc043ec4092ea95a60f62f818d9e}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ua\+\_\+base\+\_\+mpi\+\_\+finalize@{ua\+\_\+base\+\_\+mpi\+\_\+finalize}}
\index{ua\+\_\+base\+\_\+mpi\+\_\+finalize@{ua\+\_\+base\+\_\+mpi\+\_\+finalize}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ua\+\_\+base\+\_\+mpi\+\_\+finalize()}{ua\_base\_mpi\_finalize()}}
{\footnotesize\ttfamily subroutine, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::ua\+\_\+base\+\_\+mpi\+\_\+finalize (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Definition at line 1698 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References first\+\_\+aa\+\_\+ab, first\+\_\+pva\+\_\+xvb, first\+\_\+ua\+\_\+wb, first\+\_\+wa\+\_\+ua, first\+\_\+wb\+\_\+ua, first\+\_\+xa\+\_\+pa, first\+\_\+xvb\+\_\+pva, icp, iep, isp, kcp, kep, ksp, nmcp, nmep, nmsp, p\+\_\+lon, p\+\_\+lon\+\_\+weight, pv\+\_\+lat, pv\+\_\+lon, and w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+base\+\_\+mpi\+\_\+finalize().


\begin{DoxyCode}
1698      \textcolor{comment}{!}
1699      \textcolor{comment}{!}
1700      \textcolor{comment}{! このサブルーチンを単独で用いるのでなく,}
1701      \textcolor{comment}{! 上位サブルーチン wa\_Finalize を使用すること.}
1702      \textcolor{comment}{!}
1703      \textcolor{keyword}{deallocate}(isp)
1704      \textcolor{keyword}{deallocate}(iep)
1705      \textcolor{keyword}{deallocate}(icp)
1706      \textcolor{keyword}{deallocate}(ksp)
1707      \textcolor{keyword}{deallocate}(kep)
1708      \textcolor{keyword}{deallocate}(kcp)
1709      \textcolor{keyword}{deallocate}(nmsp)
1710      \textcolor{keyword}{deallocate}(nmep)
1711      \textcolor{keyword}{deallocate}(nmcp)
1712 
1713      \textcolor{keyword}{deallocate}(pv\_lon,pv\_lat)
1714      \textcolor{keyword}{deallocate}(p\_lon,p\_lon\_weight)
1715 
1716      \textcolor{keyword}{call }w\_base\_mpi\_finalize
1717 
1718      first\_xvb\_pva=.true.
1719      first\_pva\_xvb=.true.
1720      first\_wb\_ua=.true.
1721      first\_ua\_wb=.true.
1722      first\_wa\_ua=.true.
1723      first\_aa\_ab=.true.
1724      first\_xa\_pa=.true.
1725 
1726      \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},     &
1727           & \textcolor{stringliteral}{'ua\_base\_mpi\_finalize'}, &
1728           & \textcolor{stringliteral}{'ua\_mpi\_module\_base is finalized (2020/08/17) '})
1729 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=346pt]{namespaceua__mpi__module__base_ab5c7cc043ec4092ea95a60f62f818d9e_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a73f93133830708e2b96d2f2de767f3d8}\label{namespaceua__mpi__module__base_a73f93133830708e2b96d2f2de767f3d8}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ua\+\_\+base\+\_\+mpi\+\_\+initial@{ua\+\_\+base\+\_\+mpi\+\_\+initial}}
\index{ua\+\_\+base\+\_\+mpi\+\_\+initial@{ua\+\_\+base\+\_\+mpi\+\_\+initial}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ua\+\_\+base\+\_\+mpi\+\_\+initial()}{ua\_base\_mpi\_initial()}}
{\footnotesize\ttfamily subroutine, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::ua\+\_\+base\+\_\+mpi\+\_\+initial (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{n\+\_\+in,  }\item[{integer, intent(in)}]{i\+\_\+in,  }\item[{integer, intent(in)}]{j\+\_\+in,  }\item[{integer, intent(in)}]{k\+\_\+in,  }\item[{integer, intent(in), optional}]{npv,  }\item[{integer, intent(in), optional}]{mpi\+\_\+comm }\end{DoxyParamCaption})}



Definition at line 169 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References ic, icp, ie, iep, w\+\_\+mpi\+\_\+module\+\_\+base\+::im, iproc, iproc\+\_\+h, iproc\+\_\+v, is, isp, w\+\_\+mpi\+\_\+module\+\_\+base\+::jc, kc, kcp, ke, kep, km, ks, ksp, mpi\+\_\+comm\+\_\+h, mpi\+\_\+comm\+\_\+v, mpi\+\_\+comm\+\_\+w, nc, nmc, nmcp, nme, nmep, nms, nmsp, nproc, nproc\+\_\+h, nproc\+\_\+v, p\+\_\+lon, p\+\_\+lon\+\_\+weight, pv\+\_\+lat, pv\+\_\+lon, w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+base\+\_\+mpi\+\_\+initial(), w\+\_\+mpi\+\_\+module\+\_\+base\+::x\+\_\+lon, w\+\_\+mpi\+\_\+module\+\_\+base\+::x\+\_\+lon\+\_\+weight, w\+\_\+mpi\+\_\+module\+\_\+base\+::xv\+\_\+lat, and w\+\_\+mpi\+\_\+module\+\_\+base\+::xv\+\_\+lon.


\begin{DoxyCode}
169       \textcolor{comment}{!}
170       \textcolor{comment}{! ua\_mpi\_module\_base 初期化}
171       \textcolor{comment}{!}
172       \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: n\_in                \textcolor{comment}{!(in) 切断波数}
173       \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: i\_in                \textcolor{comment}{!(in) 格子点数(東西)}
174       \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: j\_in                \textcolor{comment}{!(in) 格子点数(南北)}
175       \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: k\_in                \textcolor{comment}{!(in) 最大データ数(層数)}
176       \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)},\textcolor{keywordtype}{optional} :: npv        \textcolor{comment}{!(in) 層方向分割数}
177       \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)},\textcolor{keywordtype}{optional} :: mpi\_comm   \textcolor{comment}{!(in) 全体コミュニケーター}
178 
179       \textcolor{keywordtype}{integer} :: ierr, iv
180 
181       km = k\_in
182 
183       \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(npv) ) \textcolor{keywordflow}{then}
184          nproc\_v = npv
185       \textcolor{keywordflow}{else}
186          nproc\_v = 1
187 \textcolor{keywordflow}{      endif}
188 
189       \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(mpi\_comm) ) \textcolor{keywordflow}{then}
190          mpi\_comm\_w = mpi\_comm
191       \textcolor{keywordflow}{else}
192          mpi\_comm\_w = mpi\_comm\_world
193 \textcolor{keywordflow}{      endif}
194 
195       \textcolor{keyword}{CALL }mpi\_comm\_size(mpi\_comm\_w,nproc,ierr)
196       \textcolor{keyword}{CALL }mpi\_comm\_rank(mpi\_comm\_w,iproc,ierr)
197 
198       nproc\_h = nproc/nproc\_v
199       iproc\_v = iproc/nproc\_h
200       iproc\_h = mod(iproc,nproc\_h)
201 
202       \textcolor{keyword}{CALL }mpi\_comm\_split(mpi\_comm\_w, iproc\_v, iproc\_h, mpi\_comm\_h, ierr )
203       \textcolor{keyword}{CALL }mpi\_comm\_split(mpi\_comm\_w, iproc\_h, iproc\_v, mpi\_comm\_v, ierr )
204 
205       \textcolor{keyword}{call }w\_base\_mpi\_initial(n\_in,i\_in,j\_in,mpi\_comm\_h)
206       nc = ncc
207 
208       \textcolor{keyword}{allocate}(isp(0:nproc\_v-1))
209       \textcolor{keyword}{allocate}(iep(0:nproc\_v-1))
210       \textcolor{keyword}{allocate}(icp(0:nproc\_v-1))
211       \textcolor{keyword}{call }mpidevide(int(im),nproc\_v,isp,iep,icp)
212       isp = isp-1 ; iep = iep-1
213       is = isp(iproc\_v) ; ie = iep(iproc\_v) ; ic = icp(iproc\_v)
214 
215       \textcolor{keywordflow}{IF}(iproc.EQ.0)\textcolor{keywordflow}{THEN}
216          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{'   RANK  KSTART  KEND    IC '}
217          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{'------------------------------'}
218          \textcolor{keywordflow}{DO} iv=0,nproc\_v-1
219             \textcolor{keyword}{WRITE}(6,\textcolor{stringliteral}{'(4i7)'}) iv, isp(iv), iep(iv), icp(iv)
220 \textcolor{keywordflow}{         ENDDO}
221          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{''}
222 \textcolor{keywordflow}{      END IF}
223       
224       \textcolor{keyword}{allocate}(ksp(0:nproc\_v-1))
225       \textcolor{keyword}{allocate}(kep(0:nproc\_v-1))
226       \textcolor{keyword}{allocate}(kcp(0:nproc\_v-1))
227       \textcolor{keyword}{call }mpidevide(km,nproc\_v,ksp,kep,kcp)
228       ks = ksp(iproc\_v) ; ke = kep(iproc\_v) ; kc = kcp(iproc\_v)
229 
230       \textcolor{keywordflow}{IF}(iproc.EQ.0)\textcolor{keywordflow}{THEN}
231          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{'   RANK  KSTART  KEND    KC '}
232          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{'------------------------------'}
233          \textcolor{keywordflow}{DO} iv=0,nproc\_v-1
234             \textcolor{keyword}{WRITE}(6,\textcolor{stringliteral}{'(4i7)'}) iv, ksp(iv), kep(iv), kcp(iv)
235 \textcolor{keywordflow}{         ENDDO}
236          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{''}
237 \textcolor{keywordflow}{      END IF}
238 
239       \textcolor{keyword}{allocate}(nmsp(0:nproc\_v-1))
240       \textcolor{keyword}{allocate}(nmep(0:nproc\_v-1))
241       \textcolor{keyword}{allocate}(nmcp(0:nproc\_v-1))
242       \textcolor{keyword}{call }mpidevide(nc,nproc\_v,nmsp,nmep,nmcp)
243       nms = nmsp(iproc\_v) ; nme = nmep(iproc\_v) ; nmc = nmcp(iproc\_v)
244 
245       \textcolor{keywordflow}{IF}(iproc.EQ.0)\textcolor{keywordflow}{THEN}
246          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{'   RANK  NSTART  NEND    NC '}
247          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{'------------------------------'}
248          \textcolor{keywordflow}{DO} iv=0,nproc\_v-1
249             \textcolor{keyword}{WRITE}(6,\textcolor{stringliteral}{'(4i7)'}) iv, nmsp(iv), nmep(iv), nmcp(iv)
250 \textcolor{keywordflow}{         ENDDO}
251          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{''}
252 \textcolor{keywordflow}{      ENDIF}
253 
254       \textcolor{keyword}{allocate}(pv\_lon(0:ic-1,jc),pv\_lat(0:ic-1,jc))
255       \textcolor{keyword}{allocate}(p\_lon(0:ic-1),p\_lon\_weight(0:ic-1))
256 
257       pv\_lon = xv\_lon(is:ie,:)
258       pv\_lat = xv\_lat(is:ie,:)
259       p\_lon  = x\_lon(is:ie)
260       p\_lon\_weight  = x\_lon\_weight(is:ie)
261       
262       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'ua\_base\_mpi\_initial'}, &
263           \textcolor{stringliteral}{'ua\_mpi\_module\_base (2020/08/17) is initialized'})
264 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_a73f93133830708e2b96d2f2de767f3d8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_aca4b55487850574fcc0c016fa1e32c54}\label{namespaceua__mpi__module__base_aca4b55487850574fcc0c016fa1e32c54}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ua\+\_\+pva@{ua\+\_\+pva}}
\index{ua\+\_\+pva@{ua\+\_\+pva}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ua\+\_\+pva()}{ua\_pva()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc},\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::ua\+\_\+pva (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc,\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(in)}]{pva\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 900 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References ua\+\_\+xvb(), and xvb\+\_\+pva().


\begin{DoxyCode}
900      \textcolor{comment}{!}
901      \textcolor{comment}{! スペクトルデータから格子データへ変換する(多層用).}
902      \textcolor{comment}{!}
903      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: pva\_data(0:ic-1,jc,km)
904      \textcolor{comment}{!(in) スペクトルデータ}
905      \textcolor{comment}{!}
906      \textcolor{keywordtype}{real(8)}               :: ua\_pva(nmc,km)
907      \textcolor{comment}{!(out) 格子点データ}
908      \textcolor{comment}{!}
909      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
910      \textcolor{comment}{!(in) 作用させる 1/cosφ の次数. 省略時は 0.}
911      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
912      \textcolor{comment}{!(in) 変換の種類}
913      \textcolor{comment}{!    0 : 通常の正変換}
914      \textcolor{comment}{!   -1 : 経度微分を作用させた逆変換}
915      \textcolor{comment}{!    1 : 緯度微分 cosφ・∂/∂φ を作用させた逆変換}
916      \textcolor{comment}{!    2 : sinφを作用させた逆変換}
917      \textcolor{comment}{!    省略時は 0.}
918      \textcolor{comment}{!}
919      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0
920      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0
921      \textcolor{keywordtype}{integer} ipval, ifval
922 
923      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
924         ipval = ipow
925      \textcolor{keywordflow}{else}
926         ipval = ipow\_default
927 \textcolor{keywordflow}{     endif}
928 
929      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
930         ifval = iflag
931      \textcolor{keywordflow}{else}
932         ifval = iflag\_default
933 \textcolor{keywordflow}{     endif}
934 
935      ua\_pva = ua\_xvb(xvb\_pva(pva\_data),ipow=ipval,iflag=ifval)
936 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_aca4b55487850574fcc0c016fa1e32c54_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a0268a38f4a13aae8ef9f46bb579e3a23}\label{namespaceua__mpi__module__base_a0268a38f4a13aae8ef9f46bb579e3a23}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ua\+\_\+streampotential2vectormpi@{ua\+\_\+streampotential2vectormpi}}
\index{ua\+\_\+streampotential2vectormpi@{ua\+\_\+streampotential2vectormpi}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ua\+\_\+streampotential2vectormpi()}{ua\_streampotential2vectormpi()}}
{\footnotesize\ttfamily subroutine, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::ua\+\_\+streampotential2vectormpi (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc},\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(in)}]{ua\+\_\+\+Psi,  }\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc},\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(in)}]{ua\+\_\+\+Chi,  }\item[{real(8), dimension(0\+:im-\/1,jc,\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(out)}]{xvb\+\_\+U,  }\item[{real(8), dimension(0\+:im-\/1,jc,\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(out)}]{xvb\+\_\+V }\end{DoxyParamCaption})}



Definition at line 1466 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References kc, w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+streampotential2vectormpi(), and wb\+\_\+ua().


\begin{DoxyCode}
1466      \textcolor{comment}{!}
1467      \textcolor{comment}{! 流線・ポテンシャル(スペクトルデータ)から速度場(格子データ)に}
1468      \textcolor{comment}{! (逆)変換する(多層用)}
1469      \textcolor{comment}{!}
1470      \textcolor{comment}{! スペクトル変換を用いず微分を計算するために, 変換回数が 2 回ですむ.}
1471      \textcolor{comment}{!}
1472      \textcolor{comment}{!   u cosφ =      ∂χ/∂λ - cosφ∂ψ/∂φ,}
1473      \textcolor{comment}{!   v cosφ = cosφ∂χ/∂φ +      ∂ψ/∂λ}
1474      \textcolor{comment}{!}
1475      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}    :: ua\_psi(nmc,km)
1476      \textcolor{comment}{!(in) 流線関数((nm+1)*(nm+1),:)}
1477 
1478      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}    :: ua\_chi(nmc,km)
1479      \textcolor{comment}{!(in) 速度ポテンシャル((nm+1)*(nm+1),:)}
1480 
1481      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)}   :: xvb\_u(0:im-1,jc,kc)
1482      \textcolor{comment}{!(out) 速度経度成分(0:im-1,1:jm,:)}
1483 
1484      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)}   :: xvb\_v(0:im-1,jc,kc)
1485      \textcolor{comment}{!(out) 速度緯度成分(0:im-1,1:jm,:)}
1486 
1487      \textcolor{keywordtype}{real(8)} :: wb\_psi(nc,kc)
1488      \textcolor{comment}{!(in) 流線関数((nm+1)*(nm+1),:)}
1489 
1490      \textcolor{keywordtype}{real(8)} :: wb\_chi(nc,kc)
1491      \textcolor{comment}{!(in) 速度ポテンシャル((nm+1)*(nm+1),:)}
1492 
1493      \textcolor{keywordtype}{integer} :: k
1494 
1495      wb\_psi = wb\_ua(ua\_psi)
1496      wb\_chi = wb\_ua(ua\_chi)
1497 
1498      \textcolor{keywordflow}{do} k=1,kc
1499         \textcolor{keyword}{call }w\_streampotential2vectormpi &
1500              ( wb\_psi(:,k), wb\_chi(:,k), xvb\_u(:,:,k), xvb\_v(:,:,k) )
1501 \textcolor{keywordflow}{     enddo}
1502 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_a0268a38f4a13aae8ef9f46bb579e3a23_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a0f16c53a0a285646c5fc615ea972d6ec}\label{namespaceua__mpi__module__base_a0f16c53a0a285646c5fc615ea972d6ec}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ua\+\_\+vector2vordivmpi@{ua\+\_\+vector2vordivmpi}}
\index{ua\+\_\+vector2vordivmpi@{ua\+\_\+vector2vordivmpi}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ua\+\_\+vector2vordivmpi()}{ua\_vector2vordivmpi()}}
{\footnotesize\ttfamily subroutine, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::ua\+\_\+vector2vordivmpi (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:im-\/1,jc,\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(in)}]{xvb\+\_\+U,  }\item[{real(8), dimension(0\+:im-\/1,jc,\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(in)}]{xvb\+\_\+V,  }\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc},\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(out)}]{ua\+\_\+\+Vor,  }\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc},\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(out)}]{ua\+\_\+\+Div }\end{DoxyParamCaption})}



Definition at line 1506 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References kc, ua\+\_\+wb(), and w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+vector2vordivmpi().


\begin{DoxyCode}
1506      \textcolor{comment}{!}
1507      \textcolor{comment}{! 速度場(格子データ)から渦度・発散(スペクトルデータ)に}
1508      \textcolor{comment}{! (正)変換する(多層用)}
1509      \textcolor{comment}{!}
1510      \textcolor{comment}{! スペクトル変換を用いず微分を計算するために, 変換回数が 2 回ですむ.}
1511      \textcolor{comment}{!}
1512      \textcolor{comment}{!   ζ = 1/cosφ∂v/∂λ - 1/cosφ ∂(u cosφ)/∂φ}
1513      \textcolor{comment}{!    D = 1/cosφ∂u/∂λ + 1/cosφ ∂(v cosφ)/∂φ}
1514      \textcolor{comment}{!}
1515      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: xvb\_u(0:im-1,jc,kc)
1516      \textcolor{comment}{!(in) 速度経度成分(0:im-1,1:jm,:)}
1517 
1518      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: xvb\_v(0:im-1,jc,kc)
1519      \textcolor{comment}{!(in) 速度緯度成分(0:im-1,1:jm,:)}
1520 
1521      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)}   :: ua\_vor(nmc,km)
1522      \textcolor{comment}{!(out) 渦度}
1523      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)}   :: ua\_div(nmc,km)
1524      \textcolor{comment}{!(out) 発散}
1525 
1526      \textcolor{keywordtype}{real(8)}  :: wb\_vor(nc,kc)  \textcolor{comment}{! 渦度}
1527      \textcolor{keywordtype}{real(8)}  :: wb\_div(nc,kc)  \textcolor{comment}{! 発散}
1528 
1529      \textcolor{keywordtype}{integer} :: k
1530 
1531      \textcolor{keywordflow}{do} k=1,kc
1532         \textcolor{keyword}{call }w\_vector2vordivmpi &
1533              (xvb\_u(:,:,k), xvb\_v(:,:,k), wb\_vor(:,k), wb\_div(:,k))
1534 \textcolor{keywordflow}{     enddo}
1535 
1536      ua\_vor = ua\_wb(wb\_vor)
1537      ua\_div = ua\_wb(wb\_div)
1538 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=343pt]{namespaceua__mpi__module__base_a0f16c53a0a285646c5fc615ea972d6ec_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_ab365f91eba1e2a8bdc0e8ec0036bc219}\label{namespaceua__mpi__module__base_ab365f91eba1e2a8bdc0e8ec0036bc219}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ua\+\_\+vectorcoslat2vordivmpi@{ua\+\_\+vectorcoslat2vordivmpi}}
\index{ua\+\_\+vectorcoslat2vordivmpi@{ua\+\_\+vectorcoslat2vordivmpi}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ua\+\_\+vectorcoslat2vordivmpi()}{ua\_vectorcoslat2vordivmpi()}}
{\footnotesize\ttfamily subroutine, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::ua\+\_\+vectorcoslat2vordivmpi (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:im-\/1,jc,\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(in)}]{xvb\+\_\+\+U\+Cos\+Lat,  }\item[{real(8), dimension(0\+:im-\/1,jc,\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(in)}]{xvb\+\_\+\+V\+Cos\+Lat,  }\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc},\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(out)}]{ua\+\_\+\+Vor,  }\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc},\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(out)}]{ua\+\_\+\+Div }\end{DoxyParamCaption})}



Definition at line 1542 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References kc, ua\+\_\+wb(), and w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+vectorcoslat2vordivmpi().


\begin{DoxyCode}
1542      \textcolor{comment}{!}
1543      \textcolor{comment}{! 速度場(格子データ)から渦度・発散(スペクトルデータ)に}
1544      \textcolor{comment}{! (正)変換する(多層用)}
1545      \textcolor{comment}{!}
1546      \textcolor{comment}{! スペクトル変換を用いず微分を計算するために, 変換回数が 2 回ですむ.}
1547      \textcolor{comment}{!}
1548      \textcolor{comment}{!   ζ = 1/cosφ∂v/∂λ - 1/cosφ ∂(u cosφ)/∂φ}
1549      \textcolor{comment}{!    D = 1/cosφ∂u/∂λ + 1/cosφ ∂(v cosφ)/∂φ}
1550      \textcolor{comment}{!}
1551      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: xvb\_ucoslat(0:im-1,jc,kc)
1552      \textcolor{comment}{!(in) 速度経度成分 * cos(lat) (0:im-1,1:jm,:)}
1553 
1554      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: xvb\_vcoslat(0:im-1,jc,kc)
1555      \textcolor{comment}{!(in) 速度緯度成分 * cos(lat) (0:im-1,1:jm,:)}
1556 
1557      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)}   :: ua\_vor(nmc,km)
1558      \textcolor{comment}{!(out) 流線関数}
1559      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)}   :: ua\_div(nmc,km)
1560      \textcolor{comment}{!(out) 速度ポテンシャル}
1561 
1562      \textcolor{keywordtype}{real(8)}  :: wb\_vor(nc,kc)  \textcolor{comment}{! 渦度}
1563      \textcolor{keywordtype}{real(8)}  :: wb\_div(nc,kc)  \textcolor{comment}{! 発散}
1564 
1565      \textcolor{keywordtype}{integer} :: k
1566 
1567      \textcolor{keywordflow}{do} k=1,kc
1568         \textcolor{keyword}{call }w\_vectorcoslat2vordivmpi &
1569              (xvb\_ucoslat(:,:,k), xvb\_vcoslat(:,:,k), wb\_vor(:,k), wb\_div(:,k))
1570 \textcolor{keywordflow}{     enddo}
1571 
1572      ua\_vor = ua\_wb(wb\_vor)
1573      ua\_div = ua\_wb(wb\_div)
1574 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_ab365f91eba1e2a8bdc0e8ec0036bc219_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_ada4da456cb3f9346815084e3264ac852}\label{namespaceua__mpi__module__base_ada4da456cb3f9346815084e3264ac852}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ua\+\_\+wa@{ua\+\_\+wa}}
\index{ua\+\_\+wa@{ua\+\_\+wa}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ua\+\_\+wa()}{ua\_wa()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc},size(wa,2)), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::ua\+\_\+wa (\begin{DoxyParamCaption}\item[{real(8), dimension(\+:,\+:), intent(in)}]{wa }\end{DoxyParamCaption})}



Definition at line 773 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References nme, and nms.


\begin{DoxyCode}
773      \textcolor{comment}{!}
774      \textcolor{comment}{! 水平スペクトルデータを再分割する}
775      \textcolor{comment}{!}
776      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)} :: wa
777      \textcolor{comment}{!(in) 2 次元球面調和函数データ (nc,:)}
778      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(nmc,size(wa,2))}  :: ua\_wa
779      \textcolor{comment}{!(out) 2 次元球面調和函数データ(水平再分割)}
780 
781      ua\_wa = wa(nms:nme,:)
782 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a4fa194094ac4cd8eb39ef68a1b4a6948}\label{namespaceua__mpi__module__base_a4fa194094ac4cd8eb39ef68a1b4a6948}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ua\+\_\+wb@{ua\+\_\+wb}}
\index{ua\+\_\+wb@{ua\+\_\+wb}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ua\+\_\+wb()}{ua\_wb()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc},\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::ua\+\_\+wb (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc},\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(in)}]{wb }\end{DoxyParamCaption})}



Definition at line 627 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References first\+\_\+ua\+\_\+wb, iproc\+\_\+h, iproc\+\_\+v, kc, kcp, ke, ks, mpi\+\_\+comm\+\_\+v, mpi\+\_\+comm\+\_\+w, nmc, nmcp, nme, nmep, nms, nmsp, and nproc\+\_\+v.


\begin{DoxyCode}
627       \textcolor{comment}{!}
628       \textcolor{comment}{! 水平スペクトル・層分割データを集める.}
629       \textcolor{comment}{!}
630       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(nc,kc)}, \textcolor{keywordtype}{intent(in)} :: wb
631       \textcolor{comment}{!(in)  動径格子点データ(分割)}
632       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(nmc,km)} :: ua\_wb
633       \textcolor{comment}{!(out) 動径格子点データ}
634 
635       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{allocatable} :: wb\_send(:,:)
636 
637       \textcolor{keywordtype}{integer} :: irqsts
638       \textcolor{keywordtype}{integer} :: ist( mpi\_status\_size )
639 
640       \textcolor{keywordtype}{integer} :: ierr, iv
641       \textcolor{keywordtype}{integer} :: itag
642       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::snd\_rank\_v(:)
643       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_rank\_v(:)
644       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_idx(:)
645 
646       \textcolor{keywordtype}{save} snd\_rank\_v, rcv\_rank\_v, rcv\_idx
647 
648       \textcolor{keywordflow}{if} ( first\_ua\_wb ) \textcolor{keywordflow}{then}
649          first\_ua\_wb = .false.
650          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(snd\_rank\_v) ) \textcolor{keyword}{deallocate}(snd\_rank\_v)
651          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_rank\_v) ) \textcolor{keyword}{deallocate}(rcv\_rank\_v)
652          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_idx) ) \textcolor{keyword}{deallocate}(rcv\_idx)
653          \textcolor{keyword}{allocate}(snd\_rank\_v(1:nproc\_v-1))
654          \textcolor{keyword}{allocate}(rcv\_rank\_v(1:nproc\_v-1))
655          \textcolor{keyword}{allocate}(rcv\_idx(0:nproc\_v-1))
656 
657          \textcolor{keywordflow}{do} iv=1,nproc\_v-1
658             rcv\_rank\_v(iv) = mod(iproc\_v+iv,nproc\_v)
659             snd\_rank\_v(iv) = mod(iproc\_v-iv+nproc\_v,nproc\_v)
660 \textcolor{keywordflow}{         enddo}
661 
662          rcv\_idx(0) = 1
663          \textcolor{keywordflow}{do} iv=1,nproc\_v-1
664             rcv\_idx(iv) = rcv\_idx(iv-1)+kcp(iv-1)
665 \textcolor{keywordflow}{         enddo}
666 \textcolor{keywordflow}{      endif}
667 
668       \textcolor{keyword}{call }mpi\_barrier(mpi\_comm\_w,ierr)
669       \textcolor{keywordflow}{do} iv=1,nproc\_v-1
670          itag = 50000+iproc\_h*1000+iproc\_v
671          \textcolor{keyword}{call }mpi\_irecv(ua\_wb(1,rcv\_idx(snd\_rank\_v(iv))),&
672               nmc*kcp(snd\_rank\_v(iv)), mpi\_real8,    &
673               snd\_rank\_v(iv), itag, mpi\_comm\_v, irqsts, ierr)
674 
675          \textcolor{keyword}{allocate}(wb\_send(nmcp(rcv\_rank\_v(iv)),kc))
676          wb\_send = wb(nmsp(rcv\_rank\_v(iv)):nmep(rcv\_rank\_v(iv)),:)
677          itag = 50000+iproc\_h*1000+rcv\_rank\_v(iv)
678          \textcolor{keyword}{call }mpi\_send(wb\_send, nmcp(rcv\_rank\_v(iv))*kc,&
679               mpi\_real8, rcv\_rank\_v(iv),&
680               itag,mpi\_comm\_v,ierr)
681          \textcolor{keyword}{deallocate}(wb\_send)
682          \textcolor{keyword}{CALL }mpi\_wait(irqsts,ist,ierr)
683 \textcolor{keywordflow}{      enddo}
684       \textcolor{keyword}{call }mpi\_barrier(mpi\_comm\_w,ierr)
685 
686 \textcolor{comment}{!!$      call MPI\_Barrier(MPI\_COMM\_W,IERR)}
687 \textcolor{comment}{!!$      do iv=1,nproc\_v-1}
688 \textcolor{comment}{!!$         allocate(wb\_send(nmcp(rcv\_rank\_v(iv)),kc))}
689 \textcolor{comment}{!!$         wb\_send = wb(nmsp(rcv\_rank\_v(iv)):nmep(rcv\_rank\_v(iv)),:)}
690 \textcolor{comment}{!!$         call MPI\_ISEND(wb\_send, nmcp(rcv\_rank\_v(iv))*kc,&}
691 \textcolor{comment}{!!$              MPI\_REAL8, rcv\_rank\_v(iv),&}
692 \textcolor{comment}{!!$              itag,MPI\_COMM\_V,IRQSTS,IERR)}
693 \textcolor{comment}{!!$         deallocate(wb\_send)}
694 \textcolor{comment}{!!$         call MPI\_RECV(ua\_wb(1,rcv\_idx(snd\_rank\_v(iv))),&}
695 \textcolor{comment}{!!$              nmc*kcp(snd\_rank\_v(iv)), MPI\_REAL8,    &}
696 \textcolor{comment}{!!$              snd\_rank\_v(iv), itag, MPI\_COMM\_V, IST, IERR)}
697 \textcolor{comment}{!!$         CALL MPI\_WAIT(IRQSTS,IST,IERR)}
698 \textcolor{comment}{!!$      enddo}
699 \textcolor{comment}{!!$      call MPI\_Barrier(MPI\_COMM\_W,IERR)}
700 
701       ua\_wb(:,ks:ke) = wb(nms:nme,:)
702 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_aca15e3577ad16b46012ba226e91f80b6}\label{namespaceua__mpi__module__base_aca15e3577ad16b46012ba226e91f80b6}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ua\+\_\+xvb@{ua\+\_\+xvb}}
\index{ua\+\_\+xvb@{ua\+\_\+xvb}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ua\+\_\+xvb()}{ua\_xvb()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc},\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::ua\+\_\+xvb (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:im-\/1,jc,\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(in)}]{xvb\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 1069 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References kc, ua\+\_\+wb(), and w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+xv().


\begin{DoxyCode}
1069      \textcolor{comment}{!}
1070      \textcolor{comment}{! 格子データからスペクトルデータへ(正)変換する(多層用).}
1071      \textcolor{comment}{!}
1072      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: xvb\_data(0:im-1,jc,kc)
1073      \textcolor{comment}{!(in) 格子点データ}
1074 
1075      \textcolor{keywordtype}{real(8)}               :: ua\_xvb(nmc,km)
1076      \textcolor{comment}{!(out) スペクトルデータ}
1077 
1078      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
1079      \textcolor{comment}{!(in) 変換時に同時に作用させる 1/cosφ の次数. 省略時は 0.}
1080 
1081      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
1082      \textcolor{comment}{! 変換の種類}
1083      \textcolor{comment}{!    0 : 通常の正変換}
1084      \textcolor{comment}{!   -1 : 経度微分を作用させた正変換}
1085      \textcolor{comment}{!    1 : 緯度微分 1/cosφ・∂(f cos^2φ)/∂φ を作用させた正変換}
1086      \textcolor{comment}{!    2 : sinφを作用させた正変換}
1087      \textcolor{comment}{!  省略時は 0.}
1088      \textcolor{comment}{!}
1089      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0      \textcolor{comment}{! スイッチデフォルト値}
1090      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0      \textcolor{comment}{! スイッチデフォルト値}
1091 
1092      \textcolor{keywordtype}{integer} ipval, ifval
1093 
1094      \textcolor{keywordtype}{real(8)} :: wb\_data(nc,kc)
1095      \textcolor{keywordtype}{integer} k
1096 
1097      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
1098         ipval = ipow
1099      \textcolor{keywordflow}{else}
1100         ipval = ipow\_default
1101 \textcolor{keywordflow}{     endif}
1102 
1103      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
1104         ifval = iflag
1105      \textcolor{keywordflow}{else}
1106         ifval = iflag\_default
1107 \textcolor{keywordflow}{     endif}
1108 
1109      \textcolor{keywordflow}{do} k=1,kc
1110         wb\_data(:,k) = w\_xv(xvb\_data(:,:,k),iflag=ifval,ipow=ipval)
1111 \textcolor{keywordflow}{     enddo}
1112 
1113      ua\_xvb = ua\_wb(wb\_data)
1114 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_aca15e3577ad16b46012ba226e91f80b6_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_afda56d2f63425e7209a9b4e560f2c148}\label{namespaceua__mpi__module__base_afda56d2f63425e7209a9b4e560f2c148}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!w\+\_\+pv@{w\+\_\+pv}}
\index{w\+\_\+pv@{w\+\_\+pv}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{w\+\_\+pv()}{w\_pv()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+pv (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc), intent(in)}]{pv\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 1292 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+xv(), and xa\+\_\+pa().


\begin{DoxyCode}
1292      \textcolor{comment}{!}
1293      \textcolor{comment}{! 格子データからスペクトルデータへ(正)変換する(多層用).}
1294      \textcolor{comment}{!}
1295      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: pv\_data(0:ic-1,jc)
1296      \textcolor{comment}{!(in) 格子点データ}
1297 
1298      \textcolor{keywordtype}{real(8)}               :: w\_pv(nc)
1299      \textcolor{comment}{!(out) スペクトルデータ}
1300 
1301      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
1302      \textcolor{comment}{!(in) 変換時に同時に作用させる 1/cosφ の次数. 省略時は 0.}
1303 
1304      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
1305      \textcolor{comment}{! 変換の種類}
1306      \textcolor{comment}{!    0 : 通常の正変換}
1307      \textcolor{comment}{!   -1 : 経度微分を作用させた正変換}
1308      \textcolor{comment}{!    1 : 緯度微分 1/cosφ・∂(f cos^2φ)/∂φ を作用させた正変換}
1309      \textcolor{comment}{!    2 : sinφを作用させた正変換}
1310      \textcolor{comment}{!  省略時は 0.}
1311      \textcolor{comment}{!}
1312      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0      \textcolor{comment}{! スイッチデフォルト値}
1313      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0      \textcolor{comment}{! スイッチデフォルト値}
1314 
1315      \textcolor{keywordtype}{integer} ipval, ifval
1316 
1317      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
1318         ipval = ipow
1319      \textcolor{keywordflow}{else}
1320         ipval = ipow\_default
1321 \textcolor{keywordflow}{     endif}
1322 
1323      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
1324         ifval = iflag
1325      \textcolor{keywordflow}{else}
1326         ifval = iflag\_default
1327 \textcolor{keywordflow}{     endif}
1328 
1329      w\_pv = w\_xv(xa\_pa(pv\_data),ipow=ipval,iflag=ifval)
1330 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_afda56d2f63425e7209a9b4e560f2c148_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a83d2ad9b1de5fef2e510085d0ee28a52}\label{namespaceua__mpi__module__base_a83d2ad9b1de5fef2e510085d0ee28a52}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!wa\+\_\+ua@{wa\+\_\+ua}}
\index{wa\+\_\+ua@{wa\+\_\+ua}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{wa\+\_\+ua()}{wa\_ua()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc},size(ua,2)), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::wa\+\_\+ua (\begin{DoxyParamCaption}\item[{real(8), dimension(\+:,\+:), intent(in)}]{ua }\end{DoxyParamCaption})}



Definition at line 706 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References first\+\_\+wa\+\_\+ua, iproc\+\_\+h, iproc\+\_\+v, mpi\+\_\+comm\+\_\+v, nmc, nmcp, and nproc\+\_\+v.


\begin{DoxyCode}
706      \textcolor{comment}{!}
707      \textcolor{comment}{! 水平スペクトル・動径格子点データからスペクトルデータへ(正)変換する.}
708      \textcolor{comment}{!}
709      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)}       :: ua
710      \textcolor{comment}{!(in) 2 次元球面調和函数(水平再分割) (nc,:)}
711      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(nc,size(ua,2))}   :: wa\_ua
712      \textcolor{comment}{!(out) 2 次元球面調和函数チェビシェフスペクトルデータ}
713 
714      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(size(ua,2),nmc)}  :: au
715      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(size(ua,2),nc)}   :: aw
716 
717      \textcolor{keywordtype}{integer} :: a\_size
718      \textcolor{keywordtype}{integer} :: irqsts
719      \textcolor{keywordtype}{integer} :: ist( mpi\_status\_size )
720 
721      \textcolor{keywordtype}{integer} :: ierr, ip\_v
722      \textcolor{keywordtype}{integer} :: itag
723      \textcolor{comment}{! integer, allocatable ::snd\_rank(:)}
724      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::snd\_rank\_v(:)
725      \textcolor{comment}{! integer, allocatable ::rcv\_rank(:)}
726      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_rank\_v(:)
727      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_idx(:)
728 
729      \textcolor{keywordtype}{save} snd\_rank\_v, rcv\_rank\_v, rcv\_idx \textcolor{comment}{!, snd\_rank, rcv\_rank}
730 
731      \textcolor{keywordflow}{if} ( first\_wa\_ua ) \textcolor{keywordflow}{then}
732         first\_wa\_ua = .false.
733         \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(snd\_rank\_v) ) \textcolor{keyword}{deallocate}(snd\_rank\_v)
734         \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_rank\_v) ) \textcolor{keyword}{deallocate}(rcv\_rank\_v)
735         \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_idx)    ) \textcolor{keyword}{deallocate}(rcv\_idx)
736         \textcolor{keyword}{allocate}(snd\_rank\_v(1:nproc\_v-1))
737         \textcolor{keyword}{allocate}(rcv\_rank\_v(1:nproc\_v-1))
738         \textcolor{keyword}{allocate}(rcv\_idx(0:nproc\_v-1))
739 
740         \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
741            rcv\_rank\_v(ip\_v) = mod(iproc\_v+ip\_v,nproc\_v)
742            snd\_rank\_v(ip\_v) = mod(iproc\_v-ip\_v+nproc\_v,nproc\_v)
743 \textcolor{keywordflow}{        enddo}
744 
745         rcv\_idx(0) = 1
746         \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
747            rcv\_idx(ip\_v) = rcv\_idx(ip\_v-1)+nmcp(ip\_v-1)
748 \textcolor{keywordflow}{        enddo}
749 \textcolor{keywordflow}{     endif}
750 
751      au = transpose(ua)
752      a\_size = \textcolor{keyword}{size}(ua,2)
753 
754      \textcolor{comment}{!call MPI\_Barrier(MPI\_COMM\_V,IERR)}
755      \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
756         itag = 60000+iproc\_h*1000+iproc\_v
757         \textcolor{keyword}{call }mpi\_irecv(aw(1,rcv\_idx(snd\_rank\_v(ip\_v))),  &
758              a\_size*nmcp(snd\_rank\_v(ip\_v)), mpi\_real8,   &
759              snd\_rank\_v(ip\_v), itag, mpi\_comm\_v, irqsts, ierr)
760          itag = 60000+iproc\_h*1000+rcv\_rank\_v(ip\_v)
761         \textcolor{keyword}{call }mpi\_send(au, a\_size*nmc, mpi\_real8, rcv\_rank\_v(ip\_v),&
762              itag,mpi\_comm\_v,ierr)
763         \textcolor{keyword}{CALL }mpi\_wait(irqsts,ist,ierr)
764 \textcolor{keywordflow}{     enddo}
765 
766      aw(:,rcv\_idx(iproc\_v):rcv\_idx(iproc\_v)+nmcp(iproc\_v)-1) = au
767 
768      wa\_ua = transpose(aw)
769 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a5752e310929b09500959383c3dfe7a6a}\label{namespaceua__mpi__module__base_a5752e310929b09500959383c3dfe7a6a}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!wb\+\_\+pva@{wb\+\_\+pva}}
\index{wb\+\_\+pva@{wb\+\_\+pva}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{wb\+\_\+pva()}{wb\_pva()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc},\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::wb\+\_\+pva (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc,\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(in)}]{pva\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 1252 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References wb\+\_\+xvb(), and xvb\+\_\+pva().


\begin{DoxyCode}
1252      \textcolor{comment}{!}
1253      \textcolor{comment}{! スペクトルデータから格子データへ変換する(多層用).}
1254      \textcolor{comment}{!}
1255      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: pva\_data(0:ic-1,jc,km)
1256      \textcolor{comment}{!(in) スペクトルデータ}
1257      \textcolor{comment}{!}
1258      \textcolor{keywordtype}{real(8)}               :: wb\_pva(nc,kc)
1259      \textcolor{comment}{!(out) 格子点データ}
1260      \textcolor{comment}{!}
1261      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
1262      \textcolor{comment}{!(in) 作用させる 1/cosφ の次数. 省略時は 0.}
1263      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
1264      \textcolor{comment}{!(in) 変換の種類}
1265      \textcolor{comment}{!    0 : 通常の正変換}
1266      \textcolor{comment}{!   -1 : 経度微分を作用させた逆変換}
1267      \textcolor{comment}{!    1 : 緯度微分 cosφ・∂/∂φ を作用させた逆変換}
1268      \textcolor{comment}{!    2 : sinφを作用させた逆変換}
1269      \textcolor{comment}{!    省略時は 0.}
1270      \textcolor{comment}{!}
1271      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0
1272      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0
1273      \textcolor{keywordtype}{integer} ipval, ifval
1274 
1275      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
1276         ipval = ipow
1277      \textcolor{keywordflow}{else}
1278         ipval = ipow\_default
1279 \textcolor{keywordflow}{     endif}
1280 
1281      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
1282         ifval = iflag
1283      \textcolor{keywordflow}{else}
1284         ifval = iflag\_default
1285 \textcolor{keywordflow}{     endif}
1286 
1287      wb\_pva = wb\_xvb(xvb\_pva(pva\_data),ipow=ipval,iflag=ifval)
1288 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_a5752e310929b09500959383c3dfe7a6a_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a294bbc42628786c2f6833750334e7be8}\label{namespaceua__mpi__module__base_a294bbc42628786c2f6833750334e7be8}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!wb\+\_\+streampotential2vectormpi@{wb\+\_\+streampotential2vectormpi}}
\index{wb\+\_\+streampotential2vectormpi@{wb\+\_\+streampotential2vectormpi}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{wb\+\_\+streampotential2vectormpi()}{wb\_streampotential2vectormpi()}}
{\footnotesize\ttfamily subroutine, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::wb\+\_\+streampotential2vectormpi (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc},\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(in)}]{wb\+\_\+\+Psi,  }\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc},\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(in)}]{wb\+\_\+\+Chi,  }\item[{real(8), dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc,\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(out)}]{pva\+\_\+U,  }\item[{real(8), dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc,\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(out)}]{pva\+\_\+V }\end{DoxyParamCaption})}



Definition at line 1580 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References kc, pva\+\_\+xvb(), and w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+streampotential2vectormpi().


\begin{DoxyCode}
1580      \textcolor{comment}{!}
1581      \textcolor{comment}{! 流線・ポテンシャル(スペクトルデータ)から速度場(格子データ)に}
1582      \textcolor{comment}{! (逆)変換する(多層用)}
1583      \textcolor{comment}{!}
1584      \textcolor{comment}{! スペクトル変換を用いず微分を計算するために, 変換回数が 2 回ですむ.}
1585      \textcolor{comment}{!}
1586      \textcolor{comment}{!   u cosφ =      ∂χ/∂λ - cosφ∂ψ/∂φ,}
1587      \textcolor{comment}{!   v cosφ = cosφ∂χ/∂φ +      ∂ψ/∂λ}
1588      \textcolor{comment}{!}
1589      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}    :: wb\_psi(nc,kc)
1590      \textcolor{comment}{!(in) 流線関数}
1591 
1592      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}    :: wb\_chi(nc,kc)
1593      \textcolor{comment}{!(in) 速度ポテンシャル((nm+1)*(nm+1),:)}
1594 
1595      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)}   :: pva\_u(0:ic-1,jc,km)
1596      \textcolor{comment}{!(out) 速度経度成分}
1597 
1598      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)}   :: pva\_v(0:ic-1,jc,km)
1599      \textcolor{comment}{!(out) 速度緯度成分}
1600 
1601      \textcolor{keywordtype}{real(8)} :: xvb\_u(0:im-1,jc,kc)
1602      \textcolor{comment}{!(out) 速度経度成分}
1603 
1604      \textcolor{keywordtype}{real(8)} :: xvb\_v(0:im-1,jc,kc)
1605      \textcolor{comment}{!(out) 速度緯度成分}
1606      \textcolor{keywordtype}{integer} :: k
1607 
1608      \textcolor{keywordflow}{do} k=1,kc
1609         \textcolor{keyword}{call }w\_streampotential2vectormpi &
1610              ( wb\_psi(:,k), wb\_chi(:,k), xvb\_u(:,:,k), xvb\_v(:,:,k) )
1611 \textcolor{keywordflow}{     enddo}
1612 
1613      pva\_u = pva\_xvb(xvb\_u)
1614      pva\_v = pva\_xvb(xvb\_v)      
1615 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_a294bbc42628786c2f6833750334e7be8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_adefa40bc8541f3d74264807663e1e115}\label{namespaceua__mpi__module__base_adefa40bc8541f3d74264807663e1e115}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!wb\+\_\+ua@{wb\+\_\+ua}}
\index{wb\+\_\+ua@{wb\+\_\+ua}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{wb\+\_\+ua()}{wb\_ua()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc},\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::wb\+\_\+ua (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc},\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(in)}]{ua }\end{DoxyParamCaption})}



Definition at line 551 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References first\+\_\+wb\+\_\+ua, iproc\+\_\+h, iproc\+\_\+v, kc, kcp, ke, ks, ksp, mpi\+\_\+comm\+\_\+v, nmc, nmcp, nme, nmep, nms, nmsp, and nproc\+\_\+v.


\begin{DoxyCode}
551       \textcolor{comment}{!}
552       \textcolor{comment}{! 水平スペクトル・動径格子点データからスペクトルデータへ(正)変換する.}
553       \textcolor{comment}{!}
554       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(nmc,km)}, \textcolor{keywordtype}{intent(in)}       :: ua
555       \textcolor{comment}{!(in) 2 次元球面調和函数(水平再分割) (nc,:)}
556       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(nc,kc)}                    :: wb\_ua
557       \textcolor{comment}{!(out) 2 次元球面調和函数チェビシェフスペクトルデータ}
558 
559       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{allocatable} :: ua\_recv(:,:)
560 
561       \textcolor{keywordtype}{integer} :: irqsts
562       \textcolor{keywordtype}{integer} :: ist( mpi\_status\_size )
563 
564       \textcolor{keywordtype}{integer} :: ierr, iv
565       \textcolor{keywordtype}{integer} :: itag
566       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::snd\_rank\_v(:)
567       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_rank\_v(:)
568       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_idx(:)
569 
570       \textcolor{keywordtype}{save} snd\_rank\_v, rcv\_rank\_v, rcv\_idx
571 
572       \textcolor{keywordflow}{if} ( first\_wb\_ua ) \textcolor{keywordflow}{then}
573          first\_wb\_ua = .false.
574          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(snd\_rank\_v) ) \textcolor{keyword}{deallocate}(snd\_rank\_v)
575          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_rank\_v) ) \textcolor{keyword}{deallocate}(rcv\_rank\_v)
576          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_idx) ) \textcolor{keyword}{deallocate}(rcv\_idx)
577          \textcolor{keyword}{allocate}(snd\_rank\_v(1:nproc\_v-1))
578          \textcolor{keyword}{allocate}(rcv\_rank\_v(1:nproc\_v-1))
579          \textcolor{keyword}{allocate}(rcv\_idx(0:nproc\_v-1))
580 
581          \textcolor{keywordflow}{do} iv=1,nproc\_v-1
582             rcv\_rank\_v(iv) = mod(iproc\_v+iv,nproc\_v)
583             snd\_rank\_v(iv) = mod(iproc\_v-iv+nproc\_v,nproc\_v)
584 \textcolor{keywordflow}{         enddo}
585 
586          rcv\_idx(0) = 1
587          \textcolor{keywordflow}{do} iv=1,nproc\_v-1
588             rcv\_idx(iv) = rcv\_idx(iv-1)+nmcp(iv-1)
589 \textcolor{keywordflow}{         enddo}
590 \textcolor{keywordflow}{      endif}
591 
592       \textcolor{comment}{!call MPI\_Barrier(MPI\_COMM\_W,IERR)}
593 \textcolor{comment}{!!$      do iv=1,nproc\_v-1}
594 \textcolor{comment}{!!$         itag = 40000+iproc\_h*1000+iproc\_v}
595 \textcolor{comment}{!!$         allocate(ua\_recv(nmcp(snd\_rank\_v(iv)),kc))}
596 \textcolor{comment}{!!$         call MPI\_IRECV(ua\_recv,kc*nmcp(snd\_rank\_v(iv)), MPI\_REAL8,&}
597 \textcolor{comment}{!!$              snd\_rank\_v(iv), itag, MPI\_COMM\_V, IRQSTS, IERR)}
598 \textcolor{comment}{!!$         itag = 40000+iproc\_h*1000+rcv\_rank\_v(iv)}
599 \textcolor{comment}{!!$         call MPI\_SEND(ua(1,ksp(rcv\_rank\_v(iv))),nmc*kcp(rcv\_rank\_v(iv)), &}
600 \textcolor{comment}{!!$              MPI\_REAL8, rcv\_rank\_v(iv),&}
601 \textcolor{comment}{!!$              itag,MPI\_COMM\_V,IERR)}
602 \textcolor{comment}{!!$         CALL MPI\_WAIT(IRQSTS,IST,IERR)}
603 \textcolor{comment}{!!$         wb\_ua(nmsp(snd\_rank\_v(iv)):nmep(snd\_rank\_v(iv)),:) = ua\_recv}
604 \textcolor{comment}{!!$         deallocate(ua\_recv)}
605 \textcolor{comment}{!!$      enddo}
606 \textcolor{comment}{!!$      !call MPI\_Barrier(MPI\_COMM\_W,IERR)}
607       \textcolor{keywordflow}{do} iv=1,nproc\_v-1
608          itag = 40000+iproc\_h*1000+rcv\_rank\_v(iv)
609          \textcolor{keyword}{call }mpi\_isend(ua(1,ksp(rcv\_rank\_v(iv))),nmc*kcp(rcv\_rank\_v(iv)), &
610               mpi\_real8, rcv\_rank\_v(iv),&
611               itag,mpi\_comm\_v,irqsts,ierr)
612          \textcolor{keyword}{allocate}(ua\_recv(nmcp(snd\_rank\_v(iv)),kc))
613          itag = 40000+iproc\_h*1000+iproc\_v
614          \textcolor{keyword}{call }mpi\_recv(ua\_recv,kc*nmcp(snd\_rank\_v(iv)), mpi\_real8,&
615               snd\_rank\_v(iv), itag, mpi\_comm\_v, ist, ierr)
616          wb\_ua(nmsp(snd\_rank\_v(iv)):nmep(snd\_rank\_v(iv)),:) = ua\_recv
617          \textcolor{keyword}{deallocate}(ua\_recv)
618          \textcolor{keyword}{CALL }mpi\_wait(irqsts,ist,ierr)
619 \textcolor{keywordflow}{      enddo}
620 \textcolor{comment}{!!$      call MPI\_Barrier(MPI\_COMM\_W,IERR)}
621 
622       wb\_ua(nms:nme,:) = ua(:,ks:ke)
623 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_ade29702160c1cf3f95fabcac65862408}\label{namespaceua__mpi__module__base_ade29702160c1cf3f95fabcac65862408}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!wb\+\_\+vector2vordivmpi@{wb\+\_\+vector2vordivmpi}}
\index{wb\+\_\+vector2vordivmpi@{wb\+\_\+vector2vordivmpi}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{wb\+\_\+vector2vordivmpi()}{wb\_vector2vordivmpi()}}
{\footnotesize\ttfamily subroutine, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::wb\+\_\+vector2vordivmpi (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc,\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(in)}]{pva\+\_\+U,  }\item[{real(8), dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc,\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(in)}]{pva\+\_\+V,  }\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc},\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(out)}]{wb\+\_\+\+Vor,  }\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc},\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(out)}]{wb\+\_\+\+Div }\end{DoxyParamCaption})}



Definition at line 1619 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References kc, w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+vector2vordivmpi(), and xvb\+\_\+pva().


\begin{DoxyCode}
1619      \textcolor{comment}{!}
1620      \textcolor{comment}{! 速度場(格子データ)から渦度・発散(スペクトルデータ)に}
1621      \textcolor{comment}{! (正)変換する(多層用)}
1622      \textcolor{comment}{!}
1623      \textcolor{comment}{! スペクトル変換を用いず微分を計算するために, 変換回数が 2 回ですむ.}
1624      \textcolor{comment}{!}
1625      \textcolor{comment}{!   ζ = 1/cosφ∂v/∂λ - 1/cosφ ∂(u cosφ)/∂φ}
1626      \textcolor{comment}{!    D = 1/cosφ∂u/∂λ + 1/cosφ ∂(v cosφ)/∂φ}
1627      \textcolor{comment}{!}
1628      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: pva\_u(0:ic-1,jc,km)
1629      \textcolor{comment}{!(in) 速度経度成分}
1630 
1631      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: pva\_v(0:ic-1,jc,km)
1632      \textcolor{comment}{!(in) 速度緯度成分}
1633 
1634      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)}   :: wb\_vor(nc,kc)
1635      \textcolor{comment}{!(out) 渦度}
1636      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)}   :: wb\_div(nc,kc)
1637      \textcolor{comment}{!(out) 発散}
1638 
1639      \textcolor{keywordtype}{real(8)} :: xvb\_u(0:im-1,jc,kc)
1640      \textcolor{comment}{!速度経度成分}
1641 
1642      \textcolor{keywordtype}{real(8)} :: xvb\_v(0:im-1,jc,kc)
1643      \textcolor{comment}{!速度緯度成分}
1644 
1645      \textcolor{keywordtype}{integer} :: k
1646 
1647      xvb\_u = xvb\_pva(pva\_u)
1648      xvb\_v = xvb\_pva(pva\_v)
1649 
1650      \textcolor{keywordflow}{do} k=1,kc
1651         \textcolor{keyword}{call }w\_vector2vordivmpi &
1652              (xvb\_u(:,:,k), xvb\_v(:,:,k), wb\_vor(:,k), wb\_div(:,k))
1653 \textcolor{keywordflow}{     enddo}
1654 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=345pt]{namespaceua__mpi__module__base_ade29702160c1cf3f95fabcac65862408_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_aac2a583dd008ab30867530c45451f870}\label{namespaceua__mpi__module__base_aac2a583dd008ab30867530c45451f870}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!wb\+\_\+vectorcoslat2vordivmpi@{wb\+\_\+vectorcoslat2vordivmpi}}
\index{wb\+\_\+vectorcoslat2vordivmpi@{wb\+\_\+vectorcoslat2vordivmpi}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{wb\+\_\+vectorcoslat2vordivmpi()}{wb\_vectorcoslat2vordivmpi()}}
{\footnotesize\ttfamily subroutine, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::wb\+\_\+vectorcoslat2vordivmpi (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc,\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(in)}]{pva\+\_\+\+U\+Cos\+Lat,  }\item[{real(8), dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc,\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(in)}]{pva\+\_\+\+V\+Cos\+Lat,  }\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc},\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(out)}]{wb\+\_\+\+Vor,  }\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc},\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(out)}]{wb\+\_\+\+Div }\end{DoxyParamCaption})}



Definition at line 1658 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References kc, w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+vectorcoslat2vordivmpi(), and xvb\+\_\+pva().


\begin{DoxyCode}
1658      \textcolor{comment}{!}
1659      \textcolor{comment}{! 速度場(格子データ)から渦度・発散(スペクトルデータ)に}
1660      \textcolor{comment}{! (正)変換する(多層用)}
1661      \textcolor{comment}{!}
1662      \textcolor{comment}{! スペクトル変換を用いず微分を計算するために, 変換回数が 2 回ですむ.}
1663      \textcolor{comment}{!}
1664      \textcolor{comment}{!   ζ = 1/cosφ∂v/∂λ - 1/cosφ ∂(u cosφ)/∂φ}
1665      \textcolor{comment}{!    D = 1/cosφ∂u/∂λ + 1/cosφ ∂(v cosφ)/∂φ}
1666      \textcolor{comment}{!}
1667      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}  :: pva\_ucoslat(0:ic-1,jc,km)
1668      \textcolor{comment}{!(in) 速度経度成分 * cos(lat)}
1669 
1670      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}  :: pva\_vcoslat(0:ic-1,jc,km)
1671      \textcolor{comment}{!(in) 速度緯度成分 * cos(lat)}
1672 
1673      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)} :: wb\_vor(nc,kc)
1674      \textcolor{comment}{!(out) 流線関数}
1675      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)} :: wb\_div(nc,kc)
1676      \textcolor{comment}{!(out) 速度ポテンシャル}
1677 
1678      \textcolor{keywordtype}{real(8)} :: xvb\_ucoslat(0:im-1,jc,kc)
1679      \textcolor{comment}{!速度経度成分 * cos(lat)}
1680 
1681      \textcolor{keywordtype}{real(8)} :: xvb\_vcoslat(0:im-1,jc,kc)
1682      \textcolor{comment}{!速度緯度成分 * cos(lat)}
1683 
1684      \textcolor{keywordtype}{integer} :: k
1685 
1686      xvb\_ucoslat = xvb\_pva(pva\_ucoslat)
1687      xvb\_vcoslat = xvb\_pva(pva\_vcoslat)      
1688 
1689      \textcolor{keywordflow}{do} k=1,kc
1690         \textcolor{keyword}{call }w\_vectorcoslat2vordivmpi &
1691              (xvb\_ucoslat(:,:,k), xvb\_vcoslat(:,:,k), wb\_vor(:,k), wb\_div(:,k))
1692 \textcolor{keywordflow}{     enddo}
1693 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_aac2a583dd008ab30867530c45451f870_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a1d89284096cef96f118418a45b7220f9}\label{namespaceua__mpi__module__base_a1d89284096cef96f118418a45b7220f9}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!wb\+\_\+xvb@{wb\+\_\+xvb}}
\index{wb\+\_\+xvb@{wb\+\_\+xvb}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{wb\+\_\+xvb()}{wb\_xvb()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc},\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::wb\+\_\+xvb (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:im-\/1,jc,\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(in)}]{xvb\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 1418 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References kc, and w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+xv().


\begin{DoxyCode}
1418      \textcolor{comment}{!}
1419      \textcolor{comment}{! 格子データからスペクトルデータへ(正)変換する(多層用).}
1420      \textcolor{comment}{!}
1421      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: xvb\_data(0:im-1,jc,kc)
1422      \textcolor{comment}{!(in) 格子点データ}
1423 
1424      \textcolor{keywordtype}{real(8)}               :: wb\_xvb(nc,kc)
1425      \textcolor{comment}{!(out) スペクトルデータ}
1426 
1427      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
1428      \textcolor{comment}{!(in) 変換時に同時に作用させる 1/cosφ の次数. 省略時は 0.}
1429 
1430      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
1431      \textcolor{comment}{! 変換の種類}
1432      \textcolor{comment}{!    0 : 通常の正変換}
1433      \textcolor{comment}{!   -1 : 経度微分を作用させた正変換}
1434      \textcolor{comment}{!    1 : 緯度微分 1/cosφ・∂(f cos^2φ)/∂φ を作用させた正変換}
1435      \textcolor{comment}{!    2 : sinφを作用させた正変換}
1436      \textcolor{comment}{!  省略時は 0.}
1437      \textcolor{comment}{!}
1438      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0      \textcolor{comment}{! スイッチデフォルト値}
1439      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0      \textcolor{comment}{! スイッチデフォルト値}
1440 
1441      \textcolor{keywordtype}{integer} ipval, ifval
1442 
1443      \textcolor{keywordtype}{integer} k
1444 
1445      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
1446         ipval = ipow
1447      \textcolor{keywordflow}{else}
1448         ipval = ipow\_default
1449 \textcolor{keywordflow}{     endif}
1450 
1451      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
1452         ifval = iflag
1453      \textcolor{keywordflow}{else}
1454         ifval = iflag\_default
1455 \textcolor{keywordflow}{     endif}
1456 
1457      \textcolor{keywordflow}{do} k=1,kc
1458         wb\_xvb(:,k) = w\_xv(xvb\_data(:,:,k),iflag=ifval,ipow=ipval)
1459 \textcolor{keywordflow}{     enddo}
1460 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_a1d89284096cef96f118418a45b7220f9_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_ab672766fd5065a390deaace3e4e75f14}\label{namespaceua__mpi__module__base_ab672766fd5065a390deaace3e4e75f14}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!xa\+\_\+pa@{xa\+\_\+pa}}
\index{xa\+\_\+pa@{xa\+\_\+pa}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{xa\+\_\+pa()}{xa\_pa()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:im-\/1,size(pa,2)), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::xa\+\_\+pa (\begin{DoxyParamCaption}\item[{real(8), dimension(\+:,\+:), intent(in)}]{pa }\end{DoxyParamCaption})}



Definition at line 468 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References first\+\_\+xa\+\_\+pa, ic, icp, ie, iproc\+\_\+h, iproc\+\_\+v, is, mpi\+\_\+comm\+\_\+v, and nproc\+\_\+v.


\begin{DoxyCode}
468       \textcolor{comment}{!}
469       \textcolor{comment}{! 水平スペクトル・動径格子点データからスペクトルデータへ(正)変換する.}
470       \textcolor{comment}{!}
471       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)}       :: pa
472       \textcolor{comment}{!(in) 2 次元格子点データ(経度分割) (ic,:)}
473       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:im-1,size(pa,2))}     :: xa\_pa
474       \textcolor{comment}{!(out) 2 次元格子点データ}
475 
476       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(size(pa,2),ic)}      :: ap
477       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(size(pa,2),0:im-1)}  :: ax
478 
479       \textcolor{keywordtype}{integer} :: a\_size
480       \textcolor{keywordtype}{integer} :: irqsts
481       \textcolor{keywordtype}{integer} :: ist( mpi\_status\_size )
482 
483       \textcolor{keywordtype}{integer} :: ierr, ip\_v
484       \textcolor{keywordtype}{integer} :: itag
485       \textcolor{comment}{! integer, allocatable ::snd\_rank(:)}
486       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::snd\_rank\_v(:)
487       \textcolor{comment}{! integer, allocatable ::rcv\_rank(:)}
488       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_rank\_v(:)
489       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_idx(:)
490 
491       \textcolor{keywordtype}{save} snd\_rank\_v, rcv\_rank\_v, rcv\_idx \textcolor{comment}{!, snd\_rank, rcv\_rank}
492 
493       \textcolor{keywordflow}{if} ( first\_xa\_pa ) \textcolor{keywordflow}{then}
494          first\_xa\_pa = .false.
495          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(snd\_rank\_v) ) \textcolor{keyword}{deallocate}(snd\_rank\_v)
496          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_rank\_v) ) \textcolor{keyword}{deallocate}(rcv\_rank\_v)
497          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_idx)    ) \textcolor{keyword}{deallocate}(rcv\_idx)
498          \textcolor{keyword}{allocate}(snd\_rank\_v(1:nproc\_v-1))
499          \textcolor{keyword}{allocate}(rcv\_rank\_v(1:nproc\_v-1))
500          \textcolor{keyword}{allocate}(rcv\_idx(0:nproc\_v-1))
501 
502          \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
503             rcv\_rank\_v(ip\_v) = mod(iproc\_v+ip\_v,nproc\_v)
504             snd\_rank\_v(ip\_v) = mod(iproc\_v-ip\_v+nproc\_v,nproc\_v)
505 \textcolor{keywordflow}{         enddo}
506 
507          rcv\_idx(0) = 0
508          \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
509             rcv\_idx(ip\_v) = rcv\_idx(ip\_v-1)+icp(ip\_v-1)
510 \textcolor{keywordflow}{         enddo}
511 \textcolor{keywordflow}{      endif}
512 
513       ap = transpose(pa)
514       a\_size = \textcolor{keyword}{size}(pa,2)
515 
516       \textcolor{comment}{!call MPI\_Barrier(MPI\_COMM\_V,IERR)}
517 
518       \textcolor{keywordflow}{if} ( a\_size > 0 ) \textcolor{keywordflow}{then}
519          \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
520             itag = 30000+iproc\_h*1000+iproc\_v
521             \textcolor{keyword}{call }mpi\_irecv(ax(1,rcv\_idx(snd\_rank\_v(ip\_v))),  &
522                  a\_size*icp(snd\_rank\_v(ip\_v)), mpi\_real8,   &
523                  snd\_rank\_v(ip\_v), itag, mpi\_comm\_v, irqsts, ierr)
524             itag = 30000+iproc\_h*1000+rcv\_rank\_v(ip\_v)
525             \textcolor{keyword}{call }mpi\_send(ap, a\_size*ic, mpi\_real8, rcv\_rank\_v(ip\_v),&
526                  itag,mpi\_comm\_v,ierr)
527             \textcolor{keyword}{CALL }mpi\_wait(irqsts,ist,ierr)
528 \textcolor{keywordflow}{         enddo}
529 \textcolor{keywordflow}{      endif}
530       
531       ax(:,is:ie) = ap
532 
533       xa\_pa = transpose(ax)
534 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a7adeead2ddfa96922086b6152fc46f38}\label{namespaceua__mpi__module__base_a7adeead2ddfa96922086b6152fc46f38}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!xv\+\_\+u@{xv\+\_\+u}}
\index{xv\+\_\+u@{xv\+\_\+u}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{xv\+\_\+u()}{xv\_u()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:im-\/1,jc), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::xv\+\_\+u (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc}), intent(in)}]{u\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 1118 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References wa\+\_\+ua(), and w\+\_\+mpi\+\_\+module\+\_\+base\+::xv\+\_\+w().


\begin{DoxyCode}
1118      \textcolor{comment}{!}
1119      \textcolor{comment}{! スペクトルデータから格子データへ変換する(多層用).}
1120      \textcolor{comment}{!}
1121      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: u\_data(nmc)
1122      \textcolor{comment}{!(in) スペクトルデータ}
1123      \textcolor{comment}{!}
1124      \textcolor{keywordtype}{real(8)}               :: xv\_u(0:im-1,jc)
1125      \textcolor{comment}{!(out) 格子点データ}
1126      \textcolor{comment}{!}
1127      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
1128      \textcolor{comment}{!(in) 作用させる 1/cosφ の次数. 省略時は 0.}
1129      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
1130      \textcolor{comment}{!(in) 変換の種類}
1131      \textcolor{comment}{!    0 : 通常の正変換}
1132      \textcolor{comment}{!   -1 : 経度微分を作用させた逆変換}
1133      \textcolor{comment}{!    1 : 緯度微分 cosφ・∂/∂φ を作用させた逆変換}
1134      \textcolor{comment}{!    2 : sinφを作用させた逆変換}
1135      \textcolor{comment}{!    省略時は 0.}
1136      \textcolor{comment}{!}
1137      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0
1138      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0
1139      \textcolor{keywordtype}{integer} ipval, ifval
1140 
1141      \textcolor{keywordtype}{real(8)} :: ua\_data(nmc,1)
1142      \textcolor{keywordtype}{real(8)} :: wa\_data(nc,1)
1143 
1144      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
1145         ipval = ipow
1146      \textcolor{keywordflow}{else}
1147         ipval = ipow\_default
1148 \textcolor{keywordflow}{     endif}
1149 
1150      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
1151         ifval = iflag
1152      \textcolor{keywordflow}{else}
1153         ifval = iflag\_default
1154 \textcolor{keywordflow}{     endif}
1155 
1156      ua\_data(:,1) = u\_data
1157      wa\_data = wa\_ua(ua\_data)
1158      xv\_u = xv\_w(wa\_data(:,1),iflag=ifval,ipow=ipval)
1159 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_a7adeead2ddfa96922086b6152fc46f38_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_ac70eec2c59ad6a100b656c80d0fc492b}\label{namespaceua__mpi__module__base_ac70eec2c59ad6a100b656c80d0fc492b}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!xvb\+\_\+pva@{xvb\+\_\+pva}}
\index{xvb\+\_\+pva@{xvb\+\_\+pva}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{xvb\+\_\+pva()}{xvb\_pva()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:im-\/1,jc,\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::xvb\+\_\+pva (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:\hyperlink{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}{ic}-\/1,jc,\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(in)}]{pva }\end{DoxyParamCaption})}



Definition at line 333 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References first\+\_\+xvb\+\_\+pva, ic, icp, ie, iep, iproc\+\_\+h, iproc\+\_\+v, is, isp, w\+\_\+mpi\+\_\+module\+\_\+base\+::jc, kc, kcp, ke, ks, ksp, mpi\+\_\+comm\+\_\+v, and nproc\+\_\+v.


\begin{DoxyCode}
333       \textcolor{comment}{!}
334       \textcolor{comment}{! 格子点データ(経度・緯度分割)から格子点データ(緯度・層分割)へ変換する.}
335       \textcolor{comment}{!}
336       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:ic-1,jc,km)}, \textcolor{keywordtype}{intent(in)}   :: pva
337       \textcolor{comment}{!(in) 2 次元球面調和函数(水平再分割) (nc,:)}
338       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:im-1,jc,kc)}               :: xvb\_pva
339       \textcolor{comment}{!(out) 2 次元球面調和函数チェビシェフスペクトルデータ}
340 
341       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{allocatable} :: pvb\_recv(:,:,:)
342 
343       \textcolor{keywordtype}{integer} :: irqsts
344       \textcolor{keywordtype}{integer} :: ist( mpi\_status\_size )
345 
346       \textcolor{keywordtype}{integer} :: ierr, iv
347       \textcolor{keywordtype}{integer} :: itag
348       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} :: snd\_rank\_v(:)
349       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} :: rcv\_rank\_v(:)
350 
351       \textcolor{keywordtype}{save} snd\_rank\_v, rcv\_rank\_v \textcolor{comment}{!, rcv\_idx}
352 
353       \textcolor{keywordflow}{if} ( first\_xvb\_pva ) \textcolor{keywordflow}{then}
354          first\_xvb\_pva = .false.
355          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(snd\_rank\_v) ) \textcolor{keyword}{deallocate}(snd\_rank\_v)
356          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_rank\_v) ) \textcolor{keyword}{deallocate}(rcv\_rank\_v)
357          \textcolor{keyword}{allocate}(snd\_rank\_v(1:nproc\_v-1))
358          \textcolor{keyword}{allocate}(rcv\_rank\_v(1:nproc\_v-1))
359 
360          \textcolor{keywordflow}{do} iv=1,nproc\_v-1
361             rcv\_rank\_v(iv) = mod(iproc\_v+iv,nproc\_v)
362             snd\_rank\_v(iv) = mod(iproc\_v-iv+nproc\_v,nproc\_v)
363 \textcolor{keywordflow}{         enddo}
364 
365 \textcolor{keywordflow}{      endif}
366 
367       \textcolor{comment}{!call MPI\_Barrier(MPI\_COMM\_V,IERR)}
368       
369 \textcolor{comment}{!!$      if ( jc > 0 ) then}
370 \textcolor{comment}{!!$         do iv=1,nproc\_v-1}
371 \textcolor{comment}{!!$            itag = 10000+iproc\_h*1000+iproc\_v}
372 \textcolor{comment}{!!$            allocate(pvb\_recv(icp(snd\_rank\_v(iv)),jc,kc))}
373 \textcolor{comment}{!!$            call MPI\_IRECV(pvb\_recv,kc*jc*icp(snd\_rank\_v(iv)), MPI\_REAL8, &}
374 \textcolor{comment}{!!$                 snd\_rank\_v(iv), itag, MPI\_COMM\_V, IRQSTS, IERR)}
375 \textcolor{comment}{!!$            itag = 10000+iproc\_h*1000+rcv\_rank\_v(iv)}
376 \textcolor{comment}{!!$            call MPI\_SEND(pva(0,1,ksp(rcv\_rank\_v(iv))),ic*jc*kcp(rcv\_rank\_v(iv)), &}
377 \textcolor{comment}{!!$                 MPI\_REAL8, rcv\_rank\_v(iv),&}
378 \textcolor{comment}{!!$                 itag,MPI\_COMM\_V,IERR)}
379 \textcolor{comment}{!!$            CALL MPI\_WAIT(IRQSTS,IST,IERR)}
380 \textcolor{comment}{!!$            xvb\_pva(isp(snd\_rank\_v(iv)):iep(snd\_rank\_v(iv)),:,:) = pvb\_recv}
381 \textcolor{comment}{!!$            deallocate(pvb\_recv)}
382 \textcolor{comment}{!!$         enddo}
383          \textcolor{keywordflow}{do} iv=1,nproc\_v-1
384             itag = 10000+iproc\_h*1000+rcv\_rank\_v(iv)
385             \textcolor{keyword}{call }mpi\_isend(pva(0,1,ksp(rcv\_rank\_v(iv))),ic*jc*kcp(rcv\_rank\_v(iv)), &
386                  mpi\_real8, rcv\_rank\_v(iv),&
387                  itag,mpi\_comm\_v,irqsts,ierr)
388             \textcolor{keyword}{allocate}(pvb\_recv(icp(snd\_rank\_v(iv)),jc,kc))
389             itag = 10000+iproc\_h*1000+iproc\_v
390             \textcolor{keyword}{call }mpi\_recv(pvb\_recv,kc*jc*icp(snd\_rank\_v(iv)), mpi\_real8, &
391                  snd\_rank\_v(iv), itag, mpi\_comm\_v, ist, ierr)
392             xvb\_pva(isp(snd\_rank\_v(iv)):iep(snd\_rank\_v(iv)),:,:) = pvb\_recv
393             \textcolor{keyword}{deallocate}(pvb\_recv)
394             \textcolor{keyword}{CALL }mpi\_wait(irqsts,ist,ierr)
395 \textcolor{keywordflow}{         enddo}
396 \textcolor{comment}{!!$      end if}
397 
398       xvb\_pva(is:ie,:,:) = pva(:,:,ks:ke)
399 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a5b26ed2360298ec8f71a1087e6c644b3}\label{namespaceua__mpi__module__base_a5b26ed2360298ec8f71a1087e6c644b3}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!xvb\+\_\+ua@{xvb\+\_\+ua}}
\index{xvb\+\_\+ua@{xvb\+\_\+ua}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{xvb\+\_\+ua()}{xvb\_ua()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:im-\/1,jc,\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::xvb\+\_\+ua (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}{nmc},\hyperlink{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}{km}), intent(in)}]{ua\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 1022 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References kc, wb\+\_\+ua(), and w\+\_\+mpi\+\_\+module\+\_\+base\+::xv\+\_\+w().


\begin{DoxyCode}
1022      \textcolor{comment}{!}
1023      \textcolor{comment}{! スペクトルデータから格子データへ変換する(多層用).}
1024      \textcolor{comment}{!}
1025      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: ua\_data(nmc,km)
1026      \textcolor{comment}{!(in) スペクトルデータ}
1027      \textcolor{comment}{!}
1028      \textcolor{keywordtype}{real(8)}               :: xvb\_ua(0:im-1,jc,kc)
1029      \textcolor{comment}{!(out) 格子点データ}
1030      \textcolor{comment}{!}
1031      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
1032      \textcolor{comment}{!(in) 作用させる 1/cosφ の次数. 省略時は 0.}
1033      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
1034      \textcolor{comment}{!(in) 変換の種類}
1035      \textcolor{comment}{!    0 : 通常の正変換}
1036      \textcolor{comment}{!   -1 : 経度微分を作用させた逆変換}
1037      \textcolor{comment}{!    1 : 緯度微分 cosφ・∂/∂φ を作用させた逆変換}
1038      \textcolor{comment}{!    2 : sinφを作用させた逆変換}
1039      \textcolor{comment}{!    省略時は 0.}
1040      \textcolor{comment}{!}
1041      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0
1042      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0
1043      \textcolor{keywordtype}{integer} ipval, ifval
1044 
1045      \textcolor{keywordtype}{real(8)} :: wb\_data(nc,kc)
1046      \textcolor{keywordtype}{integer} :: k
1047 
1048      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
1049         ipval = ipow
1050      \textcolor{keywordflow}{else}
1051         ipval = ipow\_default
1052 \textcolor{keywordflow}{     endif}
1053 
1054      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
1055         ifval = iflag
1056      \textcolor{keywordflow}{else}
1057         ifval = iflag\_default
1058 \textcolor{keywordflow}{     endif}
1059 
1060      wb\_data = wb\_ua(ua\_data)
1061 
1062      \textcolor{keywordflow}{do} k=1,kc
1063         xvb\_ua(:,:,k) = xv\_w(wb\_data(:,k),iflag=ifval,ipow=ipval)
1064 \textcolor{keywordflow}{     enddo}
1065 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_a5b26ed2360298ec8f71a1087e6c644b3_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a02ca6b19fe5ef934a207d2f308a77841}\label{namespaceua__mpi__module__base_a02ca6b19fe5ef934a207d2f308a77841}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!xvb\+\_\+wb@{xvb\+\_\+wb}}
\index{xvb\+\_\+wb@{xvb\+\_\+wb}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{xvb\+\_\+wb()}{xvb\_wb()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:im-\/1,jc,\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), public ua\+\_\+mpi\+\_\+module\+\_\+base\+::xvb\+\_\+wb (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}{nc},\hyperlink{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}{kc}), intent(in)}]{wb\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 1374 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References kc, and w\+\_\+mpi\+\_\+module\+\_\+base\+::xv\+\_\+w().


\begin{DoxyCode}
1374      \textcolor{comment}{!}
1375      \textcolor{comment}{! スペクトルデータから格子データへ変換する(多層用).}
1376      \textcolor{comment}{!}
1377      \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: wb\_data(nc,kc)
1378      \textcolor{comment}{!(in) スペクトルデータ}
1379      \textcolor{comment}{!}
1380      \textcolor{keywordtype}{real(8)}               :: xvb\_wb(0:im-1,jc,kc)
1381      \textcolor{comment}{!(out) 格子点データ}
1382      \textcolor{comment}{!}
1383      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
1384      \textcolor{comment}{!(in) 作用させる 1/cosφ の次数. 省略時は 0.}
1385      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
1386      \textcolor{comment}{!(in) 変換の種類}
1387      \textcolor{comment}{!    0 : 通常の正変換}
1388      \textcolor{comment}{!   -1 : 経度微分を作用させた逆変換}
1389      \textcolor{comment}{!    1 : 緯度微分 cosφ・∂/∂φ を作用させた逆変換}
1390      \textcolor{comment}{!    2 : sinφを作用させた逆変換}
1391      \textcolor{comment}{!    省略時は 0.}
1392      \textcolor{comment}{!}
1393      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0
1394      \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0
1395      \textcolor{keywordtype}{integer} ipval, ifval
1396 
1397      \textcolor{keywordtype}{integer} :: k
1398 
1399      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
1400         ipval = ipow
1401      \textcolor{keywordflow}{else}
1402         ipval = ipow\_default
1403 \textcolor{keywordflow}{     endif}
1404 
1405      \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
1406         ifval = iflag
1407      \textcolor{keywordflow}{else}
1408         ifval = iflag\_default
1409 \textcolor{keywordflow}{     endif}
1410 
1411      \textcolor{keywordflow}{do} k=1,kc
1412         xvb\_wb(:,:,k) = xv\_w(wb\_data(:,k),iflag=ifval,ipow=ipval)
1413 \textcolor{keywordflow}{     enddo}
1414 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceua__mpi__module__base_a02ca6b19fe5ef934a207d2f308a77841_cgraph}
\end{center}
\end{figure}


\subsection{Variable Documentation}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a8a6b6c1a0c381c74049f01735e3256c2}\label{namespaceua__mpi__module__base_a8a6b6c1a0c381c74049f01735e3256c2}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!first\+\_\+aa\+\_\+ab@{first\+\_\+aa\+\_\+ab}}
\index{first\+\_\+aa\+\_\+ab@{first\+\_\+aa\+\_\+ab}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{first\+\_\+aa\+\_\+ab}{first\_aa\_ab}}
{\footnotesize\ttfamily logical, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::first\+\_\+aa\+\_\+ab =.true.}



Definition at line 98 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
98   \textcolor{keywordtype}{logical}              :: first\_aa\_ab=.true.
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a042302c97546af9a4e108e04230b91d4}\label{namespaceua__mpi__module__base_a042302c97546af9a4e108e04230b91d4}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!first\+\_\+pva\+\_\+xvb@{first\+\_\+pva\+\_\+xvb}}
\index{first\+\_\+pva\+\_\+xvb@{first\+\_\+pva\+\_\+xvb}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{first\+\_\+pva\+\_\+xvb}{first\_pva\_xvb}}
{\footnotesize\ttfamily logical, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::first\+\_\+pva\+\_\+xvb =.true.}



Definition at line 94 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
94   \textcolor{keywordtype}{logical}              :: first\_pva\_xvb=.true.
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a4c17e1576d50969d20a22a8d27ea606a}\label{namespaceua__mpi__module__base_a4c17e1576d50969d20a22a8d27ea606a}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!first\+\_\+ua\+\_\+wb@{first\+\_\+ua\+\_\+wb}}
\index{first\+\_\+ua\+\_\+wb@{first\+\_\+ua\+\_\+wb}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{first\+\_\+ua\+\_\+wb}{first\_ua\_wb}}
{\footnotesize\ttfamily logical, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::first\+\_\+ua\+\_\+wb =.true.}



Definition at line 96 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
96   \textcolor{keywordtype}{logical}              :: first\_ua\_wb=.true.
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_ad28eb631ae22a1bd88b7e9fb6f1bdb63}\label{namespaceua__mpi__module__base_ad28eb631ae22a1bd88b7e9fb6f1bdb63}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!first\+\_\+wa\+\_\+ua@{first\+\_\+wa\+\_\+ua}}
\index{first\+\_\+wa\+\_\+ua@{first\+\_\+wa\+\_\+ua}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{first\+\_\+wa\+\_\+ua}{first\_wa\_ua}}
{\footnotesize\ttfamily logical, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::first\+\_\+wa\+\_\+ua =.true.}



Definition at line 97 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
97   \textcolor{keywordtype}{logical}              :: first\_wa\_ua=.true.
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a98562fcdd3daf35ee6de583c33f56b45}\label{namespaceua__mpi__module__base_a98562fcdd3daf35ee6de583c33f56b45}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!first\+\_\+wb\+\_\+ua@{first\+\_\+wb\+\_\+ua}}
\index{first\+\_\+wb\+\_\+ua@{first\+\_\+wb\+\_\+ua}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{first\+\_\+wb\+\_\+ua}{first\_wb\_ua}}
{\footnotesize\ttfamily logical, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::first\+\_\+wb\+\_\+ua =.true.}



Definition at line 95 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
95   \textcolor{keywordtype}{logical}              :: first\_wb\_ua=.true.
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a51911cf8fa30b7f63de6565001e045d6}\label{namespaceua__mpi__module__base_a51911cf8fa30b7f63de6565001e045d6}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!first\+\_\+xa\+\_\+pa@{first\+\_\+xa\+\_\+pa}}
\index{first\+\_\+xa\+\_\+pa@{first\+\_\+xa\+\_\+pa}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{first\+\_\+xa\+\_\+pa}{first\_xa\_pa}}
{\footnotesize\ttfamily logical, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::first\+\_\+xa\+\_\+pa =.true.}



Definition at line 99 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
99   \textcolor{keywordtype}{logical}              :: first\_xa\_pa=.true.
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_ac84076ed13349ea0867587111a69f180}\label{namespaceua__mpi__module__base_ac84076ed13349ea0867587111a69f180}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!first\+\_\+xvb\+\_\+pva@{first\+\_\+xvb\+\_\+pva}}
\index{first\+\_\+xvb\+\_\+pva@{first\+\_\+xvb\+\_\+pva}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{first\+\_\+xvb\+\_\+pva}{first\_xvb\_pva}}
{\footnotesize\ttfamily logical, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::first\+\_\+xvb\+\_\+pva =.true.}



Definition at line 93 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
93   \textcolor{keywordtype}{logical}              :: first\_xvb\_pva=.true.
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}\label{namespaceua__mpi__module__base_a48d3b0de85d326b892eccafd95121897}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ic@{ic}}
\index{ic@{ic}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ic}{ic}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::ic}



Definition at line 76 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_ac474b93bec69be5bbe58631fd96d60cf}\label{namespaceua__mpi__module__base_ac474b93bec69be5bbe58631fd96d60cf}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!icp@{icp}}
\index{icp@{icp}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{icp}{icp}}
{\footnotesize\ttfamily integer, dimension(\+:), allocatable, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::icp}



Definition at line 77 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_a891eddfe21bbce27fb2462df6eb64b3f}\label{namespaceua__mpi__module__base_a891eddfe21bbce27fb2462df6eb64b3f}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ie@{ie}}
\index{ie@{ie}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ie}{ie}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::ie}



Definition at line 76 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_a66044ccec63cb711b14bb99b3709d441}\label{namespaceua__mpi__module__base_a66044ccec63cb711b14bb99b3709d441}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!iep@{iep}}
\index{iep@{iep}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{iep}{iep}}
{\footnotesize\ttfamily integer, dimension(\+:), allocatable, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::iep}



Definition at line 77 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_a1669820d86642671e8ff6fc5f8f93a98}\label{namespaceua__mpi__module__base_a1669820d86642671e8ff6fc5f8f93a98}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!iproc@{iproc}}
\index{iproc@{iproc}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{iproc}{iproc}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::iproc}



Definition at line 72 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
72   \textcolor{keywordtype}{integer}              :: iproc, iproc\_h, iproc\_v
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a24117b9c8b0363bcea3fe8f50558e150}\label{namespaceua__mpi__module__base_a24117b9c8b0363bcea3fe8f50558e150}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!iproc\+\_\+h@{iproc\+\_\+h}}
\index{iproc\+\_\+h@{iproc\+\_\+h}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{iproc\+\_\+h}{iproc\_h}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::iproc\+\_\+h}



Definition at line 72 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_a44ce9518adedd383957c49b2b2657b28}\label{namespaceua__mpi__module__base_a44ce9518adedd383957c49b2b2657b28}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!iproc\+\_\+v@{iproc\+\_\+v}}
\index{iproc\+\_\+v@{iproc\+\_\+v}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{iproc\+\_\+v}{iproc\_v}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::iproc\+\_\+v}



Definition at line 72 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_a333b9eb05ead1bb01ab391f51c57d73e}\label{namespaceua__mpi__module__base_a333b9eb05ead1bb01ab391f51c57d73e}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!is@{is}}
\index{is@{is}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{is}{is}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::is}



Definition at line 76 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
76   \textcolor{keywordtype}{integer}              :: is, ie, ic
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a3fc46a43f5636545946affee7b720e96}\label{namespaceua__mpi__module__base_a3fc46a43f5636545946affee7b720e96}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!isp@{isp}}
\index{isp@{isp}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{isp}{isp}}
{\footnotesize\ttfamily integer, dimension(\+:), allocatable, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::isp}



Definition at line 77 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
77   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} :: isp(:), iep(:), icp(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}\label{namespaceua__mpi__module__base_aeb926dc98ccf5fd35d7818316c3f5bc2}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!kc@{kc}}
\index{kc@{kc}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{kc}{kc}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::kc}



Definition at line 79 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_a3e554cc95b85dff34bf822a83278c0c4}\label{namespaceua__mpi__module__base_a3e554cc95b85dff34bf822a83278c0c4}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!kcp@{kcp}}
\index{kcp@{kcp}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{kcp}{kcp}}
{\footnotesize\ttfamily integer, dimension(\+:), allocatable, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::kcp}



Definition at line 80 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_a5d66bb05dec7b1d8073e532a70b37495}\label{namespaceua__mpi__module__base_a5d66bb05dec7b1d8073e532a70b37495}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ke@{ke}}
\index{ke@{ke}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ke}{ke}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::ke}



Definition at line 79 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_a706a59a4a52dd0c43c4e8241c43d8547}\label{namespaceua__mpi__module__base_a706a59a4a52dd0c43c4e8241c43d8547}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!kep@{kep}}
\index{kep@{kep}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{kep}{kep}}
{\footnotesize\ttfamily integer, dimension(\+:), allocatable, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::kep}



Definition at line 80 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}\label{namespaceua__mpi__module__base_a53995322618c20bb22b2888fb8a6067d}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!km@{km}}
\index{km@{km}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{km}{km}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::km =16}



Definition at line 69 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
69   \textcolor{keywordtype}{integer}              :: km=16         \textcolor{comment}{! 同時に処理する最大データ数(層の数).}
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_adb1aece196ee907eb087af66998b3109}\label{namespaceua__mpi__module__base_adb1aece196ee907eb087af66998b3109}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ks@{ks}}
\index{ks@{ks}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ks}{ks}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::ks}



Definition at line 79 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
79   \textcolor{keywordtype}{integer}              :: ks, ke, kc
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a7b1af94d3cdf29d72cf36735b6a2883f}\label{namespaceua__mpi__module__base_a7b1af94d3cdf29d72cf36735b6a2883f}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!ksp@{ksp}}
\index{ksp@{ksp}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ksp}{ksp}}
{\footnotesize\ttfamily integer, dimension(\+:), allocatable, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::ksp}



Definition at line 80 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
80   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} :: ksp(:), kep(:), kcp(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a8ecb710381425c07040b8357ac91be9b}\label{namespaceua__mpi__module__base_a8ecb710381425c07040b8357ac91be9b}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!mpi\+\_\+comm\+\_\+h@{mpi\+\_\+comm\+\_\+h}}
\index{mpi\+\_\+comm\+\_\+h@{mpi\+\_\+comm\+\_\+h}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{mpi\+\_\+comm\+\_\+h}{mpi\_comm\_h}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::mpi\+\_\+comm\+\_\+h}



Definition at line 90 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
90   \textcolor{keywordtype}{integer}              :: mpi\_comm\_h
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_af6afc50d091c0e9303c7c1aff0ace31f}\label{namespaceua__mpi__module__base_af6afc50d091c0e9303c7c1aff0ace31f}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!mpi\+\_\+comm\+\_\+v@{mpi\+\_\+comm\+\_\+v}}
\index{mpi\+\_\+comm\+\_\+v@{mpi\+\_\+comm\+\_\+v}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{mpi\+\_\+comm\+\_\+v}{mpi\_comm\_v}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::mpi\+\_\+comm\+\_\+v}



Definition at line 91 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
91   \textcolor{keywordtype}{integer}              :: mpi\_comm\_v
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_aeb098e8d89b5cb2b760f323640cad26d}\label{namespaceua__mpi__module__base_aeb098e8d89b5cb2b760f323640cad26d}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!mpi\+\_\+comm\+\_\+w@{mpi\+\_\+comm\+\_\+w}}
\index{mpi\+\_\+comm\+\_\+w@{mpi\+\_\+comm\+\_\+w}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{mpi\+\_\+comm\+\_\+w}{mpi\_comm\_w}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::mpi\+\_\+comm\+\_\+w}



Definition at line 89 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
89   \textcolor{keywordtype}{integer}              :: mpi\_comm\_w
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}\label{namespaceua__mpi__module__base_ae4a7d2b26521bc753c9495488d2f3cf6}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!nc@{nc}}
\index{nc@{nc}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nc}{nc}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::nc}



Definition at line 74 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
74   \textcolor{keywordtype}{integer}              :: nc
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}\label{namespaceua__mpi__module__base_a5cd7be323ceeffe52057aa7ebd6682cd}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!nmc@{nmc}}
\index{nmc@{nmc}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nmc}{nmc}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::nmc}



Definition at line 82 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_a15b54d08a3943c032dac7abf55b70669}\label{namespaceua__mpi__module__base_a15b54d08a3943c032dac7abf55b70669}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!nmcp@{nmcp}}
\index{nmcp@{nmcp}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nmcp}{nmcp}}
{\footnotesize\ttfamily integer, dimension(\+:), allocatable, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::nmcp}



Definition at line 83 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_a0ab025248a156b439802067e2c5e2a20}\label{namespaceua__mpi__module__base_a0ab025248a156b439802067e2c5e2a20}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!nme@{nme}}
\index{nme@{nme}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nme}{nme}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::nme}



Definition at line 82 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_a4520884c4610c4dff11eeeca2b985d17}\label{namespaceua__mpi__module__base_a4520884c4610c4dff11eeeca2b985d17}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!nmep@{nmep}}
\index{nmep@{nmep}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nmep}{nmep}}
{\footnotesize\ttfamily integer, dimension(\+:), allocatable, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::nmep}



Definition at line 83 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_aa7a00bf6ef269cc0fa489d1f440fe4d8}\label{namespaceua__mpi__module__base_aa7a00bf6ef269cc0fa489d1f440fe4d8}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!nms@{nms}}
\index{nms@{nms}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nms}{nms}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::nms}



Definition at line 82 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
82   \textcolor{keywordtype}{integer}              :: nms, nme, nmc
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a5fe02278146287edca7c6d3ce94ecc51}\label{namespaceua__mpi__module__base_a5fe02278146287edca7c6d3ce94ecc51}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!nmsp@{nmsp}}
\index{nmsp@{nmsp}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nmsp}{nmsp}}
{\footnotesize\ttfamily integer, dimension(\+:), allocatable, save ua\+\_\+mpi\+\_\+module\+\_\+base\+::nmsp}



Definition at line 83 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
83   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} :: nmsp(:), nmep(:), nmcp(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_add8f0bfad0998dadd2e218caad49712f}\label{namespaceua__mpi__module__base_add8f0bfad0998dadd2e218caad49712f}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!nproc@{nproc}}
\index{nproc@{nproc}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nproc}{nproc}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::nproc}



Definition at line 71 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
71   \textcolor{keywordtype}{integer}              :: nproc, nproc\_h, nproc\_v
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a0a96bfc6aca39c79277b0d153e53e83f}\label{namespaceua__mpi__module__base_a0a96bfc6aca39c79277b0d153e53e83f}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!nproc\+\_\+h@{nproc\+\_\+h}}
\index{nproc\+\_\+h@{nproc\+\_\+h}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nproc\+\_\+h}{nproc\_h}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::nproc\+\_\+h}



Definition at line 71 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_ace8024e7d222f2079ebf63f149bbace5}\label{namespaceua__mpi__module__base_ace8024e7d222f2079ebf63f149bbace5}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!nproc\+\_\+v@{nproc\+\_\+v}}
\index{nproc\+\_\+v@{nproc\+\_\+v}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nproc\+\_\+v}{nproc\_v}}
{\footnotesize\ttfamily integer, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::nproc\+\_\+v}



Definition at line 71 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_a3c7924e501a2905043b89c05a508808d}\label{namespaceua__mpi__module__base_a3c7924e501a2905043b89c05a508808d}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!p\+\_\+lon@{p\+\_\+lon}}
\index{p\+\_\+lon@{p\+\_\+lon}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{p\+\_\+lon}{p\_lon}}
{\footnotesize\ttfamily real(8), dimension(\+:), allocatable, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::p\+\_\+lon}



Definition at line 86 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
86   \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{allocatable} :: p\_lon(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_acf197aa4ca658b59536f052f30e93b44}\label{namespaceua__mpi__module__base_acf197aa4ca658b59536f052f30e93b44}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!p\+\_\+lon\+\_\+weight@{p\+\_\+lon\+\_\+weight}}
\index{p\+\_\+lon\+\_\+weight@{p\+\_\+lon\+\_\+weight}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{p\+\_\+lon\+\_\+weight}{p\_lon\_weight}}
{\footnotesize\ttfamily real(8), dimension(\+:), allocatable, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::p\+\_\+lon\+\_\+weight}



Definition at line 87 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
87   \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{allocatable} :: p\_lon\_weight(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespaceua__mpi__module__base_a2b847092e20fda562ea00f93e2301984}\label{namespaceua__mpi__module__base_a2b847092e20fda562ea00f93e2301984}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!pv\+\_\+lat@{pv\+\_\+lat}}
\index{pv\+\_\+lat@{pv\+\_\+lat}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{pv\+\_\+lat}{pv\_lat}}
{\footnotesize\ttfamily real(8), dimension(\+:,\+:), allocatable, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::pv\+\_\+lat}



Definition at line 85 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

\mbox{\Hypertarget{namespaceua__mpi__module__base_a2d1bc1db4e2e7d0433433993848af53b}\label{namespaceua__mpi__module__base_a2d1bc1db4e2e7d0433433993848af53b}} 
\index{ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}!pv\+\_\+lon@{pv\+\_\+lon}}
\index{pv\+\_\+lon@{pv\+\_\+lon}!ua\+\_\+mpi\+\_\+module\+\_\+base@{ua\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{pv\+\_\+lon}{pv\_lon}}
{\footnotesize\ttfamily real(8), dimension(\+:,\+:), allocatable, save, public ua\+\_\+mpi\+\_\+module\+\_\+base\+::pv\+\_\+lon}



Definition at line 85 of file ua\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
85   \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{allocatable} :: pv\_lon(:,:), pv\_lat(:,:)
\end{DoxyCode}
