\hypertarget{namespacewb__mpi__module__base}{}\section{wb\+\_\+mpi\+\_\+module\+\_\+base Module Reference}
\label{namespacewb__mpi__module__base}\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine, public \hyperlink{namespacewb__mpi__module__base_a44b98bbaf9c58c5650a7672c0aa83670}{wb\+\_\+base\+\_\+mpi\+\_\+initial} (n\+\_\+in, i\+\_\+in, j\+\_\+in, k\+\_\+in, npv, mpi\+\_\+comm)
\item 
integer function, public \hyperlink{namespacewb__mpi__module__base_a574d20660c3a0f2a2377dc3675b3b971}{kp\+\_\+kl} (kl)
\item 
real(8) function, dimension(0\+:im-\/1, \hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc}, \hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), public \hyperlink{namespacewb__mpi__module__base_a5442ce46ec248d6a0842f4dad9bcba22}{xvb\+\_\+pva} (pva)
\item 
real(8) function, dimension(\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic}, \hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc}, \hyperlink{namespacewb__mpi__module__base_ad9ae0bfbde2d0e73448cc2f3b70b2d7e}{km}), public \hyperlink{namespacewb__mpi__module__base_a587f6ac08121d4b7625402b84a9b42b4}{pva\+\_\+xvb} (xvb)
\item 
real(8) function, dimension(0\+:im-\/1, size(pa, 2)), public \hyperlink{namespacewb__mpi__module__base_ab311a561473d873c66a5215e28e197bc}{xa\+\_\+pa} (pa)
\item 
real(8) function, dimension(\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic}, size(xa, 2)), public \hyperlink{namespacewb__mpi__module__base_a8f7a0a691565b0bedefdccb43d3937dd}{pa\+\_\+xa} (xa)
\item 
real(8) function, dimension(size(ab, 1), \hyperlink{namespacewb__mpi__module__base_ad9ae0bfbde2d0e73448cc2f3b70b2d7e}{km}), public \hyperlink{namespacewb__mpi__module__base_a37dd989789799123a1dc99c615516328}{aa\+\_\+ab} (ab)
\item 
real(8) function, dimension(size(aa, 1), \hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), public \hyperlink{namespacewb__mpi__module__base_a9ee2e0f3d75b05d1f3b8734d8a1408e3}{ab\+\_\+aa} (aa)
\item 
real(8) function, dimension(1\+:\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic}, 1\+:\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc}, \hyperlink{namespacewb__mpi__module__base_ad9ae0bfbde2d0e73448cc2f3b70b2d7e}{km}), public \hyperlink{namespacewb__mpi__module__base_a025f8d083f043515394d9a3f310e2db3}{pva\+\_\+wb} (wb\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc}, \hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), public \hyperlink{namespacewb__mpi__module__base_a642828e1fdf4f4533637bd37700279a6}{wb\+\_\+pva} (pva\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc}), public \hyperlink{namespacewb__mpi__module__base_aa69697c92180ee8c513a74640e91f4e5}{w\+\_\+pv} (pv\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(1\+:\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic}, 1\+:\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc}), public \hyperlink{namespacewb__mpi__module__base_afd8617fac666ad31bd5377e6fa3ead3a}{pv\+\_\+w} (w\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(0\+:im-\/1, 1\+:\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc}, \hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), public \hyperlink{namespacewb__mpi__module__base_aee2c507efa4d2543de9e893550309100}{xvb\+\_\+wb} (wb\+\_\+data, ipow, iflag)
\item 
real(8) function, dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc}, \hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), public \hyperlink{namespacewb__mpi__module__base_aadca2bb3910a5b9b40240730d8504a0a}{wb\+\_\+xvb} (xvb\+\_\+data, ipow, iflag)
\item 
subroutine, public \hyperlink{namespacewb__mpi__module__base_a10cbe42c46393e9fc186badc733f8583}{wb\+\_\+streampotential2vectormpi} (wb\+\_\+\+Psi, wb\+\_\+\+Chi, pva\+\_\+U, pva\+\_\+V)
\item 
subroutine, public \hyperlink{namespacewb__mpi__module__base_a408eba1b2edfb42c50f4a6ec12af8a31}{wb\+\_\+vector2vordivmpi} (pva\+\_\+U, pva\+\_\+V, wb\+\_\+\+Vor, wb\+\_\+\+Div)
\item 
subroutine, public \hyperlink{namespacewb__mpi__module__base_a5b117a6fc24a42652d72d17b93167e39}{wb\+\_\+vectorcoslat2vordivmpi} (pva\+\_\+\+U\+Cos\+Lat, pva\+\_\+\+V\+Cos\+Lat, wb\+\_\+\+Vor, wb\+\_\+\+Div)
\item 
subroutine, public \hyperlink{namespacewb__mpi__module__base_a64f43efc47529bd6f9966468de4b96c7}{wb\+\_\+base\+\_\+mpi\+\_\+finalize}
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_ad9ae0bfbde2d0e73448cc2f3b70b2d7e}{km} =16
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_a2091dbc090ba0d59bb946120856419b4}{nproc}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_a38c21609aea7cc2df844a9a53f8f1dc9}{nproc\+\_\+h}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_a88f0edce972889bb2e4fa343c68991e9}{nproc\+\_\+v}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_a6ba5e9b5adfa4395ffa2806a97533030}{iproc}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_aba7197000d9bd8e011a87e295727a138}{iproc\+\_\+h}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_a8e2058c9be7139c7191e6f06369f449b}{iproc\+\_\+v}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_a8a9a5db5f626250e378b8d509120922b}{is}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_a9df296468a54e299b025d448d3f6c953}{ie}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespacewb__mpi__module__base_a617b18969a6116af5ab97d09d4b05dd7}{isp}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespacewb__mpi__module__base_a23b34a08ae42bd62f1a88239252e9114}{iep}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespacewb__mpi__module__base_ae8c12b541d37274ae073df77e69d7d42}{icp}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_a822bfbcc24d78552fe906fbf285efc3a}{ks}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_a10ce621b1ffa452457dd5d0f92e261b8}{ke}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespacewb__mpi__module__base_a3b7067eed7d48a8ba8857c8fcdc6e369}{ksp}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespacewb__mpi__module__base_a8f85c99483c6bea30bda4829cbc536db}{kep}
\item 
integer, dimension(\+:), allocatable, save \hyperlink{namespacewb__mpi__module__base_ab77b08f8169b710c229b03dc363a4a05}{kcp}
\item 
real(8), dimension(\+:,\+:), allocatable, save, public \hyperlink{namespacewb__mpi__module__base_a0df019b4231b520bcd36e7ec648ef8c0}{pv\+\_\+lon}
\item 
real(8), dimension(\+:,\+:), allocatable, save, public \hyperlink{namespacewb__mpi__module__base_af914ab037652632589bc011bbd48633e}{pv\+\_\+lat}
\item 
real(8), dimension(\+:), allocatable, save, public \hyperlink{namespacewb__mpi__module__base_af513bbafc21b1de69cf394c1290fd1d0}{p\+\_\+lon}
\item 
real(8), dimension(\+:), allocatable, save, public \hyperlink{namespacewb__mpi__module__base_a7bb039879e8ab1803e446814c4e39386}{p\+\_\+lon\+\_\+weight}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_aa2f9547770bff318394bab6c762b0408}{mpi\+\_\+comm\+\_\+w}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_af8bb5a0d39839e222f7869be31f8099b}{mpi\+\_\+comm\+\_\+h}
\item 
integer, save, public \hyperlink{namespacewb__mpi__module__base_a7a615fd5f10f58751d1226136cc4a64b}{mpi\+\_\+comm\+\_\+v}
\item 
logical, save \hyperlink{namespacewb__mpi__module__base_ac405cbf91dfdf88aebdeef17bfeb4a11}{first\+\_\+xvb\+\_\+pva} =.true.
\item 
logical, save \hyperlink{namespacewb__mpi__module__base_a056f7937d6599989996a23a3a104f434}{first\+\_\+pva\+\_\+xvb} =.true.
\item 
logical, save \hyperlink{namespacewb__mpi__module__base_ad0a0cce4488f536cf6befcc88d8722c0}{first\+\_\+aa\+\_\+ab} =.true.
\item 
logical, save \hyperlink{namespacewb__mpi__module__base_a6a9f4005875da0edacafe491cc8fa881}{first\+\_\+xa\+\_\+pa} =.true.
\end{DoxyCompactItemize}


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



Definition at line 472 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



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


\begin{DoxyCode}
472       \textcolor{comment}{!}
473       \textcolor{comment}{! 水平スペクトル・動径格子点データを集める.}
474       \textcolor{comment}{!}
475       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)} :: ab
476       \textcolor{comment}{!(in)  動径格子点データ(分割)}
477       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(size(ab,1),km)}   :: aa\_ab
478       \textcolor{comment}{!(out) 動径格子点データ}
479 
480       \textcolor{keywordtype}{integer} :: a\_size
481       \textcolor{keywordtype}{integer} :: irqsts
482       \textcolor{keywordtype}{integer} :: ist( mpi\_status\_size )
483 
484       \textcolor{keywordtype}{integer} :: ierr, ip\_v
485       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter} :: itag=111
486       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::snd\_rank\_v(:)
487       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_rank\_v(:)
488       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_idx(:)
489 
490       \textcolor{keywordtype}{save} snd\_rank\_v, rcv\_rank\_v, rcv\_idx
491 
492       \textcolor{keywordflow}{if} ( first\_aa\_ab ) \textcolor{keywordflow}{then}
493          first\_aa\_ab = .false.
494          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(snd\_rank\_v) ) \textcolor{keyword}{deallocate}(snd\_rank\_v)
495          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_rank\_v) ) \textcolor{keyword}{deallocate}(rcv\_rank\_v)
496          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_idx) )    \textcolor{keyword}{deallocate}(rcv\_idx)
497          \textcolor{keyword}{allocate}(snd\_rank\_v(1:nproc\_v-1))
498          \textcolor{keyword}{allocate}(rcv\_rank\_v(1:nproc\_v-1))
499          \textcolor{keyword}{allocate}(rcv\_idx(0:nproc\_v-1))
500 
501          \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
502             rcv\_rank\_v(ip\_v) = mod(iproc\_v+ip\_v,nproc\_v)
503             snd\_rank\_v(ip\_v) = mod(iproc\_v-ip\_v+nproc\_v,nproc\_v)
504 \textcolor{keywordflow}{         enddo}
505 
506          rcv\_idx(0) = 1
507          \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
508             rcv\_idx(ip\_v) = rcv\_idx(ip\_v-1)+kcp(ip\_v-1)
509 \textcolor{keywordflow}{         enddo}
510 \textcolor{keywordflow}{      endif}
511 
512       a\_size = \textcolor{keyword}{size}(ab,1)
513 
514       \textcolor{keyword}{call }mpi\_barrier(mpi\_comm\_v,ierr)
515       \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
516          \textcolor{keyword}{call }mpi\_isend(ab, a\_size*kc, mpi\_real8, rcv\_rank\_v(ip\_v),&
517               itag,mpi\_comm\_v,irqsts,ierr)
518          \textcolor{keyword}{call }mpi\_recv(aa\_ab(1,rcv\_idx(snd\_rank\_v(ip\_v))),&
519               a\_size*kcp(snd\_rank\_v(ip\_v)), mpi\_real8,    &
520               snd\_rank\_v(ip\_v), itag, mpi\_comm\_v, ist, ierr)
521          \textcolor{keyword}{CALL }mpi\_wait(irqsts,ist,ierr)
522 \textcolor{keywordflow}{      enddo}
523 
524       aa\_ab(:,rcv\_idx(iproc\_v):rcv\_idx(iproc\_v)+kcp(iproc\_v)-1) = ab
525 
\end{DoxyCode}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a9ee2e0f3d75b05d1f3b8734d8a1408e3}\label{namespacewb__mpi__module__base_a9ee2e0f3d75b05d1f3b8734d8a1408e3}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!ab\+\_\+aa@{ab\+\_\+aa}}
\index{ab\+\_\+aa@{ab\+\_\+aa}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ab\+\_\+aa()}{ab\_aa()}}
{\footnotesize\ttfamily real(8) function, dimension(size(aa,1),\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), public wb\+\_\+mpi\+\_\+module\+\_\+base\+::ab\+\_\+aa (\begin{DoxyParamCaption}\item[{real(8), dimension(\+:,\+:), intent(in)}]{aa }\end{DoxyParamCaption})}



Definition at line 529 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References ke, and ks.


\begin{DoxyCode}
529       \textcolor{comment}{!}
530       \textcolor{comment}{! 水平スペクトル・動径格子点データを分割する.}
531       \textcolor{comment}{!}
532       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)} :: aa
533       \textcolor{comment}{!(in)  動径格子点データ(:,0:km)}
534       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(size(aa,1),kc)}    :: ab\_aa
535       \textcolor{comment}{!(out) 動径格子点データ(分割)}
536 
537       ab\_aa = aa(:,ks:ke)
538 
\end{DoxyCode}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a574d20660c3a0f2a2377dc3675b3b971}\label{namespacewb__mpi__module__base_a574d20660c3a0f2a2377dc3675b3b971}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!kp\+\_\+kl@{kp\+\_\+kl}}
\index{kp\+\_\+kl@{kp\+\_\+kl}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{kp\+\_\+kl()}{kp\_kl()}}
{\footnotesize\ttfamily integer function, public wb\+\_\+mpi\+\_\+module\+\_\+base\+::kp\+\_\+kl (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{kl }\end{DoxyParamCaption})}



Definition at line 259 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References ke, and ks.


\begin{DoxyCode}
259       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(IN)} :: kl             \textcolor{comment}{! 層番号(全体)}
260       \textcolor{keywordtype}{integer}             :: kp\_kl          \textcolor{comment}{! 層番号(分割プロセス中)}
261 
262       \textcolor{keywordflow}{if} ( ks .le. kl .AND. kl .le. ke ) \textcolor{keywordflow}{then}
263          kp\_kl = kl - ks + 1
264       \textcolor{keywordflow}{else}
265          kp\_kl = 0
266 \textcolor{keywordflow}{      endif}
267 
\end{DoxyCode}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a8f7a0a691565b0bedefdccb43d3937dd}\label{namespacewb__mpi__module__base_a8f7a0a691565b0bedefdccb43d3937dd}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!pa\+\_\+xa@{pa\+\_\+xa}}
\index{pa\+\_\+xa@{pa\+\_\+xa}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{pa\+\_\+xa()}{pa\_xa()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic},size(xa,2)), public wb\+\_\+mpi\+\_\+module\+\_\+base\+::pa\+\_\+xa (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:,\+:), intent(in)}]{xa }\end{DoxyParamCaption})}



Definition at line 459 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References ie, and is.


\begin{DoxyCode}
459       \textcolor{comment}{!}
460       \textcolor{comment}{! 水平格子データを再分割する}
461       \textcolor{comment}{!}
462       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:,:)}, \textcolor{keywordtype}{intent(in)} :: xa
463       \textcolor{comment}{!(in) 2 次元格子点数データ (0:im-1,:)}
464       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(ic,size(xa,2))}  :: pa\_xa
465       \textcolor{comment}{!(out) 2 次元格子点データ(経度分割)}
466 
467       pa\_xa = xa(is:ie,:)
468 
\end{DoxyCode}
\mbox{\Hypertarget{namespacewb__mpi__module__base_afd8617fac666ad31bd5377e6fa3ead3a}\label{namespacewb__mpi__module__base_afd8617fac666ad31bd5377e6fa3ead3a}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!pv\+\_\+w@{pv\+\_\+w}}
\index{pv\+\_\+w@{pv\+\_\+w}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{pv\+\_\+w()}{pv\_w()}}
{\footnotesize\ttfamily real(8) function, dimension(1\+:\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic},1\+:\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc}), public wb\+\_\+mpi\+\_\+module\+\_\+base\+::pv\+\_\+w (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc}), intent(in)}]{w\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 666 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



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


\begin{DoxyCode}
666       \textcolor{comment}{!}
667       \textcolor{comment}{! スペクトルデータから格子データへ変換する(多層用).}
668       \textcolor{comment}{!}
669       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: w\_data(nc)
670       \textcolor{comment}{!(in) スペクトルデータ}
671       \textcolor{comment}{!}
672       \textcolor{keywordtype}{real(8)}               :: pv\_w(1:ic,1:jc)
673       \textcolor{comment}{!(out) 格子点データ}
674       \textcolor{comment}{!}
675       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
676       \textcolor{comment}{!(in) 作用させる 1/cosφ の次数. 省略時は 0.}
677       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
678       \textcolor{comment}{!(in) 変換の種類}
679       \textcolor{comment}{!    0 : 通常の正変換}
680       \textcolor{comment}{!   -1 : 経度微分を作用させた逆変換}
681       \textcolor{comment}{!    1 : 緯度微分 cosφ・∂/∂φ を作用させた逆変換}
682       \textcolor{comment}{!    2 : sinφを作用させた逆変換}
683       \textcolor{comment}{!    省略時は 0.}
684       \textcolor{comment}{!}
685       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0
686       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0
687       \textcolor{keywordtype}{integer} ipval, ifval
688 
689       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
690          ipval = ipow
691       \textcolor{keywordflow}{else}
692          ipval = ipow\_default
693 \textcolor{keywordflow}{      endif}
694 
695       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
696          ifval = iflag
697       \textcolor{keywordflow}{else}
698          ifval = iflag\_default
699 \textcolor{keywordflow}{      endif}
700 
701       pv\_w = pa\_xa(xv\_w(w\_data,ipow=ipval,iflag=ifval))
702 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacewb__mpi__module__base_afd8617fac666ad31bd5377e6fa3ead3a_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a025f8d083f043515394d9a3f310e2db3}\label{namespacewb__mpi__module__base_a025f8d083f043515394d9a3f310e2db3}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!pva\+\_\+wb@{pva\+\_\+wb}}
\index{pva\+\_\+wb@{pva\+\_\+wb}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{pva\+\_\+wb()}{pva\_wb()}}
{\footnotesize\ttfamily real(8) function, dimension(1\+:\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic},1\+:\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc},\hyperlink{namespacewb__mpi__module__base_ad9ae0bfbde2d0e73448cc2f3b70b2d7e}{km}), public wb\+\_\+mpi\+\_\+module\+\_\+base\+::pva\+\_\+wb (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc},\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), intent(in)}]{wb\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 544 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



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


\begin{DoxyCode}
544       \textcolor{comment}{!}
545       \textcolor{comment}{! スペクトルデータから格子データへ変換する(多層用).}
546       \textcolor{comment}{!}
547       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: wb\_data(nc,kc)
548       \textcolor{comment}{!(in) スペクトルデータ}
549       \textcolor{comment}{!}
550       \textcolor{keywordtype}{real(8)}               :: pva\_wb(1:ic,1:jc,km)
551       \textcolor{comment}{!(out) 格子点データ}
552       \textcolor{comment}{!}
553       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
554       \textcolor{comment}{!(in) 作用させる 1/cosφ の次数. 省略時は 0.}
555       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
556       \textcolor{comment}{!(in) 変換の種類}
557       \textcolor{comment}{!    0 : 通常の正変換}
558       \textcolor{comment}{!   -1 : 経度微分を作用させた逆変換}
559       \textcolor{comment}{!    1 : 緯度微分 cosφ・∂/∂φ を作用させた逆変換}
560       \textcolor{comment}{!    2 : sinφを作用させた逆変換}
561       \textcolor{comment}{!    省略時は 0.}
562       \textcolor{comment}{!}
563       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0
564       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0
565       \textcolor{keywordtype}{integer} ipval, ifval
566 
567       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
568          ipval = ipow
569       \textcolor{keywordflow}{else}
570          ipval = ipow\_default
571 \textcolor{keywordflow}{      endif}
572 
573       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
574          ifval = iflag
575       \textcolor{keywordflow}{else}
576          ifval = iflag\_default
577 \textcolor{keywordflow}{      endif}
578 
579       pva\_wb = pva\_xvb(xvb\_wb(wb\_data,ipow=ipval,iflag=ifval))
580 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacewb__mpi__module__base_a025f8d083f043515394d9a3f310e2db3_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a587f6ac08121d4b7625402b84a9b42b4}\label{namespacewb__mpi__module__base_a587f6ac08121d4b7625402b84a9b42b4}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!pva\+\_\+xvb@{pva\+\_\+xvb}}
\index{pva\+\_\+xvb@{pva\+\_\+xvb}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{pva\+\_\+xvb()}{pva\_xvb()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic},\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc},\hyperlink{namespacewb__mpi__module__base_ad9ae0bfbde2d0e73448cc2f3b70b2d7e}{km}), public wb\+\_\+mpi\+\_\+module\+\_\+base\+::pva\+\_\+xvb (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:im-\/1,\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc},\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), intent(in)}]{xvb }\end{DoxyParamCaption})}



Definition at line 328 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



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


\begin{DoxyCode}
328       \textcolor{comment}{!}
329       \textcolor{comment}{! 格子点データ(経度・緯度分割)から格子点データ(緯度・層分割)へ変換する.}
330       \textcolor{comment}{!}
331       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:im-1,jc,kc)}, \textcolor{keywordtype}{intent(in)}   :: xvb
332       \textcolor{comment}{!(in) 2 次元球面調和函数(水平再分割) (nc,:)}
333       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(ic,jc,km)}                   :: pva\_xvb
334       \textcolor{comment}{!(out) 2 次元球面調和函数チェビシェフスペクトルデータ}
335 
336       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{allocatable} :: pvb\_send(:,:,:)
337 
338       \textcolor{keywordtype}{integer} :: irqsts
339       \textcolor{keywordtype}{integer} :: ist( mpi\_status\_size )
340 
341       \textcolor{keywordtype}{integer} :: ierr, iv
342       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter} :: itag=111
343       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::snd\_rank\_v(:)
344       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_rank\_v(:)
345       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_idx(:)
346 
347       \textcolor{keywordtype}{save} snd\_rank\_v, rcv\_rank\_v, rcv\_idx
348 
349       \textcolor{keywordflow}{if} ( first\_pva\_xvb ) \textcolor{keywordflow}{then}
350          first\_pva\_xvb = .false.
351          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(snd\_rank\_v) ) \textcolor{keyword}{deallocate}(snd\_rank\_v)
352          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_rank\_v) ) \textcolor{keyword}{deallocate}(rcv\_rank\_v)
353          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_idx) ) \textcolor{keyword}{deallocate}(rcv\_idx)
354          \textcolor{keyword}{allocate}(snd\_rank\_v(1:nproc\_v-1))
355          \textcolor{keyword}{allocate}(rcv\_rank\_v(1:nproc\_v-1))
356          \textcolor{keyword}{allocate}(rcv\_idx(0:nproc\_v-1))
357 
358          \textcolor{keywordflow}{do} iv=1,nproc\_v-1
359             rcv\_rank\_v(iv) = mod(iproc\_v+iv,nproc\_v)
360             snd\_rank\_v(iv) = mod(iproc\_v-iv+nproc\_v,nproc\_v)
361 \textcolor{keywordflow}{         enddo}
362 
363          rcv\_idx(0) = 1
364          \textcolor{keywordflow}{do} iv=1,nproc\_v-1
365             rcv\_idx(iv) = rcv\_idx(iv-1)+kcp(iv-1)
366 \textcolor{keywordflow}{         enddo}
367 \textcolor{keywordflow}{      endif}
368 
369       \textcolor{keyword}{call }mpi\_barrier(mpi\_comm\_v,ierr)
370 
371       \textcolor{keywordflow}{if} ( jc > 0 ) \textcolor{keywordflow}{then}
372          \textcolor{keywordflow}{do} iv=1,nproc\_v-1
373             \textcolor{keyword}{allocate}(pvb\_send(icp(rcv\_rank\_v(iv)),jc,kc))
374             pvb\_send = xvb(isp(rcv\_rank\_v(iv)):iep(rcv\_rank\_v(iv)),:,:)
375             \textcolor{keyword}{call }mpi\_isend(pvb\_send, icp(rcv\_rank\_v(iv))*jc*kc,&
376                  mpi\_real8, rcv\_rank\_v(iv),&
377                  itag,mpi\_comm\_v,irqsts,ierr)
378             \textcolor{keyword}{deallocate}(pvb\_send)
379             \textcolor{keyword}{call }mpi\_recv(pva\_xvb(1,1,rcv\_idx(snd\_rank\_v(iv))),&
380                  ic*jc*kcp(snd\_rank\_v(iv)), mpi\_real8,    &
381                  snd\_rank\_v(iv), itag, mpi\_comm\_v, ist, ierr)
382             \textcolor{keyword}{CALL }mpi\_wait(irqsts,ist,ierr)
383 \textcolor{keywordflow}{         enddo}
384 \textcolor{keywordflow}{      endif}
385       
386       pva\_xvb(:,:,ks:ke) = xvb(is:ie,:,:)
387 
\end{DoxyCode}
\mbox{\Hypertarget{namespacewb__mpi__module__base_aa69697c92180ee8c513a74640e91f4e5}\label{namespacewb__mpi__module__base_aa69697c92180ee8c513a74640e91f4e5}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!w\+\_\+pv@{w\+\_\+pv}}
\index{w\+\_\+pv@{w\+\_\+pv}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{w\+\_\+pv()}{w\_pv()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc}), public wb\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+pv (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic},\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc}), intent(in)}]{pv\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 624 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



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


\begin{DoxyCode}
624       \textcolor{comment}{!}
625       \textcolor{comment}{! 格子データからスペクトルデータへ(正)変換する(多層用).}
626       \textcolor{comment}{!}
627       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: pv\_data(ic,jc)
628       \textcolor{comment}{!(in) 格子点データ}
629 
630       \textcolor{keywordtype}{real(8)}               :: w\_pv(nc)
631       \textcolor{comment}{!(out) スペクトルデータ}
632 
633       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
634       \textcolor{comment}{!(in) 変換時に同時に作用させる 1/cosφ の次数. 省略時は 0.}
635 
636       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
637       \textcolor{comment}{! 変換の種類}
638       \textcolor{comment}{!    0 : 通常の正変換}
639       \textcolor{comment}{!   -1 : 経度微分を作用させた正変換}
640       \textcolor{comment}{!    1 : 緯度微分 1/cosφ・∂(f cos^2φ)/∂φ を作用させた正変換}
641       \textcolor{comment}{!    2 : sinφを作用させた正変換}
642       \textcolor{comment}{!  省略時は 0.}
643       \textcolor{comment}{!}
644       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0      \textcolor{comment}{! スイッチデフォルト値}
645       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0      \textcolor{comment}{! スイッチデフォルト値}
646 
647       \textcolor{keywordtype}{integer} ipval, ifval
648 
649       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
650          ipval = ipow
651       \textcolor{keywordflow}{else}
652          ipval = ipow\_default
653 \textcolor{keywordflow}{      endif}
654 
655       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
656          ifval = iflag
657       \textcolor{keywordflow}{else}
658          ifval = iflag\_default
659 \textcolor{keywordflow}{      endif}
660 
661       w\_pv = w\_xv(xa\_pa(pv\_data),ipow=ipval,iflag=ifval)
662 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacewb__mpi__module__base_aa69697c92180ee8c513a74640e91f4e5_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a64f43efc47529bd6f9966468de4b96c7}\label{namespacewb__mpi__module__base_a64f43efc47529bd6f9966468de4b96c7}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!wb\+\_\+base\+\_\+mpi\+\_\+finalize@{wb\+\_\+base\+\_\+mpi\+\_\+finalize}}
\index{wb\+\_\+base\+\_\+mpi\+\_\+finalize@{wb\+\_\+base\+\_\+mpi\+\_\+finalize}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{wb\+\_\+base\+\_\+mpi\+\_\+finalize()}{wb\_base\_mpi\_finalize()}}
{\footnotesize\ttfamily subroutine, public wb\+\_\+mpi\+\_\+module\+\_\+base\+::wb\+\_\+base\+\_\+mpi\+\_\+finalize (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Definition at line 916 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



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


\begin{DoxyCode}
916       \textcolor{comment}{!}
917       \textcolor{comment}{!}
918       \textcolor{comment}{! このサブルーチンを単独で用いるのでなく,}
919       \textcolor{comment}{! 上位サブルーチン wa\_Finalize を使用すること.}
920       \textcolor{comment}{!}
921       \textcolor{keyword}{deallocate}(isp)
922       \textcolor{keyword}{deallocate}(iep)
923       \textcolor{keyword}{deallocate}(icp)
924       \textcolor{keyword}{deallocate}(ksp)
925       \textcolor{keyword}{deallocate}(kep)
926       \textcolor{keyword}{deallocate}(kcp)
927 
928       \textcolor{keyword}{deallocate}(pv\_lon,pv\_lat)
929       \textcolor{keyword}{deallocate}(p\_lon,p\_lon\_weight)
930 
931       \textcolor{keyword}{call }w\_base\_mpi\_finalize
932 
933       first\_xvb\_pva=.true.
934       first\_pva\_xvb=.true.
935       first\_aa\_ab=.true.
936       first\_xa\_pa=.true.
937 
938       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},     &
939            & \textcolor{stringliteral}{'wb\_base\_mpi\_finalize'}, &
940            & \textcolor{stringliteral}{'wb\_mpi\_module\_base is finalized (2020/07/31) '})
941 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=349pt]{namespacewb__mpi__module__base_a64f43efc47529bd6f9966468de4b96c7_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a44b98bbaf9c58c5650a7672c0aa83670}\label{namespacewb__mpi__module__base_a44b98bbaf9c58c5650a7672c0aa83670}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!wb\+\_\+base\+\_\+mpi\+\_\+initial@{wb\+\_\+base\+\_\+mpi\+\_\+initial}}
\index{wb\+\_\+base\+\_\+mpi\+\_\+initial@{wb\+\_\+base\+\_\+mpi\+\_\+initial}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{wb\+\_\+base\+\_\+mpi\+\_\+initial()}{wb\_base\_mpi\_initial()}}
{\footnotesize\ttfamily subroutine, public wb\+\_\+mpi\+\_\+module\+\_\+base\+::wb\+\_\+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 146 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References ic, icp, ie, iep, w\+\_\+mpi\+\_\+module\+\_\+base\+::im, iproc, iproc\+\_\+h, iproc\+\_\+v, is, isp, jc, kc, kcp, ke, kep, km, ks, ksp, mpi\+\_\+comm\+\_\+h, mpi\+\_\+comm\+\_\+v, mpi\+\_\+comm\+\_\+w, w\+\_\+mpi\+\_\+module\+\_\+base\+::nc, 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}
146       \textcolor{comment}{!}
147       \textcolor{comment}{! ua\_mpi\_module\_base 初期化}
148       \textcolor{comment}{!}
149       \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: n\_in                \textcolor{comment}{!(in) 切断波数}
150       \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: i\_in                \textcolor{comment}{!(in) 格子点数(東西)}
151       \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: j\_in                \textcolor{comment}{!(in) 格子点数(南北)}
152       \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: k\_in                \textcolor{comment}{!(in) 最大データ数(層数)}
153       \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)},\textcolor{keywordtype}{optional} :: npv        \textcolor{comment}{!(in) 層方向分割数}
154       \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)},\textcolor{keywordtype}{optional} :: mpi\_comm   \textcolor{comment}{!(in) 全体コミュニケーター}
155 
156       \textcolor{keywordtype}{integer} :: ierr, iv
157 
158       km = k\_in
159 
160       \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(npv) ) \textcolor{keywordflow}{then}
161          nproc\_v = npv
162       \textcolor{keywordflow}{else}
163          nproc\_v = 1
164 \textcolor{keywordflow}{      endif}
165 
166       \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(mpi\_comm) ) \textcolor{keywordflow}{then}
167          mpi\_comm\_w = mpi\_comm
168       \textcolor{keywordflow}{else}
169          mpi\_comm\_w = mpi\_comm\_world
170 \textcolor{keywordflow}{      endif}
171 
172       \textcolor{keyword}{CALL }mpi\_comm\_size(mpi\_comm\_w,nproc,ierr)
173       \textcolor{keyword}{CALL }mpi\_comm\_rank(mpi\_comm\_w,iproc,ierr)
174 
175       nproc\_h = nproc/nproc\_v
176       iproc\_v = iproc/nproc\_h
177       iproc\_h = mod(iproc,nproc\_h)
178 
179       \textcolor{keyword}{CALL }mpi\_comm\_split(mpi\_comm\_w, iproc\_v, iproc\_h, mpi\_comm\_h, ierr )
180       \textcolor{keyword}{CALL }mpi\_comm\_split(mpi\_comm\_w, iproc\_h, iproc\_v, mpi\_comm\_v, ierr )
181 
182       \textcolor{keyword}{call }w\_base\_mpi\_initial(n\_in,i\_in,j\_in,mpi\_comm\_h)
183       jc = jcc
184       nc = ncc      
185 
186       \textcolor{keyword}{allocate}(isp(0:nproc\_v-1))
187       \textcolor{keyword}{allocate}(iep(0:nproc\_v-1))
188       \textcolor{keyword}{allocate}(icp(0:nproc\_v-1))
189       \textcolor{keyword}{call }mpidivide(int(im),nproc\_v,isp,iep,icp)
190       isp = isp-1 ; iep = iep-1
191       is = isp(iproc\_v) ; ie = iep(iproc\_v) ; ic = icp(iproc\_v)
192 
193       \textcolor{keywordflow}{IF}(iproc.EQ.0)\textcolor{keywordflow}{THEN}
194          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{'   RANK  KSTART  KEND    IC '}
195          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{'------------------------------'}
196          \textcolor{keywordflow}{DO} iv=0,nproc\_v-1
197             \textcolor{keyword}{WRITE}(6,\textcolor{stringliteral}{'(4i7)'}) iv, isp(iv), iep(iv), icp(iv)
198 \textcolor{keywordflow}{         ENDDO}
199          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{''}
200 \textcolor{keywordflow}{      END IF}
201       
202       \textcolor{keyword}{allocate}(ksp(0:nproc\_v-1))
203       \textcolor{keyword}{allocate}(kep(0:nproc\_v-1))
204       \textcolor{keyword}{allocate}(kcp(0:nproc\_v-1))
205       \textcolor{keyword}{call }mpidivide(km,nproc\_v,ksp,kep,kcp)
206       ks = ksp(iproc\_v) ; ke = kep(iproc\_v) ; kc = kcp(iproc\_v)
207 
208       \textcolor{keywordflow}{IF}(iproc.EQ.0)\textcolor{keywordflow}{THEN}
209          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{'   RANK  KSTART  KEND    KC '}
210          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{'------------------------------'}
211          \textcolor{keywordflow}{DO} iv=0,nproc\_v-1
212             \textcolor{keyword}{WRITE}(6,\textcolor{stringliteral}{'(4i7)'}) iv, ksp(iv), kep(iv), kcp(iv)
213 \textcolor{keywordflow}{         ENDDO}
214          \textcolor{keyword}{WRITE}(6,*)\textcolor{stringliteral}{''}
215 \textcolor{keywordflow}{      END IF}
216 
217       \textcolor{keyword}{allocate}(pv\_lon(ic,jc),pv\_lat(ic,jc))
218       \textcolor{keyword}{allocate}(p\_lon(ic),p\_lon\_weight(ic))
219 
220       pv\_lon = xv\_lon(is:ie,:)
221       pv\_lat = xv\_lat(is:ie,:)      
222       p\_lon  = x\_lon(is:ie)
223       p\_lon\_weight  = x\_lon\_weight(is:ie)
224       
225       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'wb\_base\_mpi\_initial'}, &
226           \textcolor{stringliteral}{'wb\_mpi\_module\_base (2020/07/31) is initialized'})
227 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacewb__mpi__module__base_a44b98bbaf9c58c5650a7672c0aa83670_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a642828e1fdf4f4533637bd37700279a6}\label{namespacewb__mpi__module__base_a642828e1fdf4f4533637bd37700279a6}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!wb\+\_\+pva@{wb\+\_\+pva}}
\index{wb\+\_\+pva@{wb\+\_\+pva}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{wb\+\_\+pva()}{wb\_pva()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc},\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), public wb\+\_\+mpi\+\_\+module\+\_\+base\+::wb\+\_\+pva (\begin{DoxyParamCaption}\item[{real(8), dimension(1\+:\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic},1\+:\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc},\hyperlink{namespacewb__mpi__module__base_ad9ae0bfbde2d0e73448cc2f3b70b2d7e}{km}), intent(in)}]{pva\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 584 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



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


\begin{DoxyCode}
584       \textcolor{comment}{!}
585       \textcolor{comment}{! スペクトルデータから格子データへ変換する(多層用).}
586       \textcolor{comment}{!}
587       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: pva\_data(1:ic,1:jc,km)
588       \textcolor{comment}{!(in) スペクトルデータ}
589       \textcolor{comment}{!}
590       \textcolor{keywordtype}{real(8)}               :: wb\_pva(nc,kc)
591       \textcolor{comment}{!(out) 格子点データ}
592       \textcolor{comment}{!}
593       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
594       \textcolor{comment}{!(in) 作用させる 1/cosφ の次数. 省略時は 0.}
595       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
596       \textcolor{comment}{!(in) 変換の種類}
597       \textcolor{comment}{!    0 : 通常の正変換}
598       \textcolor{comment}{!   -1 : 経度微分を作用させた逆変換}
599       \textcolor{comment}{!    1 : 緯度微分 cosφ・∂/∂φ を作用させた逆変換}
600       \textcolor{comment}{!    2 : sinφを作用させた逆変換}
601       \textcolor{comment}{!    省略時は 0.}
602       \textcolor{comment}{!}
603       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0
604       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0
605       \textcolor{keywordtype}{integer} ipval, ifval
606 
607       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
608          ipval = ipow
609       \textcolor{keywordflow}{else}
610          ipval = ipow\_default
611 \textcolor{keywordflow}{      endif}
612 
613       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
614          ifval = iflag
615       \textcolor{keywordflow}{else}
616          ifval = iflag\_default
617 \textcolor{keywordflow}{      endif}
618 
619       wb\_pva = wb\_xvb(xvb\_pva(pva\_data),ipow=ipval,iflag=ifval)
620 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacewb__mpi__module__base_a642828e1fdf4f4533637bd37700279a6_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a10cbe42c46393e9fc186badc733f8583}\label{namespacewb__mpi__module__base_a10cbe42c46393e9fc186badc733f8583}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!wb\+\_\+streampotential2vectormpi@{wb\+\_\+streampotential2vectormpi}}
\index{wb\+\_\+streampotential2vectormpi@{wb\+\_\+streampotential2vectormpi}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{wb\+\_\+streampotential2vectormpi()}{wb\_streampotential2vectormpi()}}
{\footnotesize\ttfamily subroutine, public wb\+\_\+mpi\+\_\+module\+\_\+base\+::wb\+\_\+streampotential2vectormpi (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc},\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), intent(in)}]{wb\+\_\+\+Psi,  }\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc},\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), intent(in)}]{wb\+\_\+\+Chi,  }\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic},\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc},\hyperlink{namespacewb__mpi__module__base_ad9ae0bfbde2d0e73448cc2f3b70b2d7e}{km}), intent(out)}]{pva\+\_\+U,  }\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic},\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc},\hyperlink{namespacewb__mpi__module__base_ad9ae0bfbde2d0e73448cc2f3b70b2d7e}{km}), intent(out)}]{pva\+\_\+V }\end{DoxyParamCaption})}



Definition at line 798 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



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


\begin{DoxyCode}
798       \textcolor{comment}{!}
799       \textcolor{comment}{! 流線・ポテンシャル(スペクトルデータ)から速度場(格子データ)に}
800       \textcolor{comment}{! (逆)変換する(多層用)}
801       \textcolor{comment}{!}
802       \textcolor{comment}{! スペクトル変換を用いず微分を計算するために, 変換回数が 2 回ですむ.}
803       \textcolor{comment}{!}
804       \textcolor{comment}{!   u cosφ =      ∂χ/∂λ - cosφ∂ψ/∂φ,}
805       \textcolor{comment}{!   v cosφ = cosφ∂χ/∂φ +      ∂ψ/∂λ}
806       \textcolor{comment}{!}
807       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}    :: wb\_psi(nc,kc)
808       \textcolor{comment}{!(in) 流線関数}
809 
810       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}    :: wb\_chi(nc,kc)
811       \textcolor{comment}{!(in) 速度ポテンシャル((nm+1)*(nm+1),:)}
812 
813       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)}   :: pva\_u(ic,jc,km)
814       \textcolor{comment}{!(out) 速度経度成分}
815 
816       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)}   :: pva\_v(ic,jc,km)
817       \textcolor{comment}{!(out) 速度緯度成分}
818 
819       \textcolor{keywordtype}{real(8)} :: xvb\_u(0:im-1,jc,kc)
820       \textcolor{comment}{!(out) 速度経度成分}
821 
822       \textcolor{keywordtype}{real(8)} :: xvb\_v(0:im-1,jc,kc)
823       \textcolor{comment}{!(out) 速度緯度成分}
824       \textcolor{keywordtype}{integer} :: k
825 
826       \textcolor{keywordflow}{do} k=1,kc
827          \textcolor{keyword}{call }w\_streampotential2vectormpi &
828               ( wb\_psi(:,k), wb\_chi(:,k), xvb\_u(:,:,k), xvb\_v(:,:,k) )
829 \textcolor{keywordflow}{      enddo}
830 
831       pva\_u = pva\_xvb(xvb\_u)
832       pva\_v = pva\_xvb(xvb\_v)      
833       
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacewb__mpi__module__base_a10cbe42c46393e9fc186badc733f8583_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a408eba1b2edfb42c50f4a6ec12af8a31}\label{namespacewb__mpi__module__base_a408eba1b2edfb42c50f4a6ec12af8a31}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!wb\+\_\+vector2vordivmpi@{wb\+\_\+vector2vordivmpi}}
\index{wb\+\_\+vector2vordivmpi@{wb\+\_\+vector2vordivmpi}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{wb\+\_\+vector2vordivmpi()}{wb\_vector2vordivmpi()}}
{\footnotesize\ttfamily subroutine, public wb\+\_\+mpi\+\_\+module\+\_\+base\+::wb\+\_\+vector2vordivmpi (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic},\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc},\hyperlink{namespacewb__mpi__module__base_ad9ae0bfbde2d0e73448cc2f3b70b2d7e}{km}), intent(in)}]{pva\+\_\+U,  }\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic},\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc},\hyperlink{namespacewb__mpi__module__base_ad9ae0bfbde2d0e73448cc2f3b70b2d7e}{km}), intent(in)}]{pva\+\_\+V,  }\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc},\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), intent(out)}]{wb\+\_\+\+Vor,  }\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc},\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), intent(out)}]{wb\+\_\+\+Div }\end{DoxyParamCaption})}



Definition at line 837 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



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


\begin{DoxyCode}
837       \textcolor{comment}{!}
838       \textcolor{comment}{! 速度場(格子データ)から渦度・発散(スペクトルデータ)に}
839       \textcolor{comment}{! (正)変換する(多層用)}
840       \textcolor{comment}{!}
841       \textcolor{comment}{! スペクトル変換を用いず微分を計算するために, 変換回数が 2 回ですむ.}
842       \textcolor{comment}{!}
843       \textcolor{comment}{!   ζ = 1/cosφ∂v/∂λ - 1/cosφ ∂(u cosφ)/∂φ}
844       \textcolor{comment}{!    D = 1/cosφ∂u/∂λ + 1/cosφ ∂(v cosφ)/∂φ}
845       \textcolor{comment}{!}
846       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: pva\_u(ic,jc,km)
847       \textcolor{comment}{!(in) 速度経度成分}
848 
849       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: pva\_v(ic,jc,km)
850       \textcolor{comment}{!(in) 速度緯度成分}
851 
852       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)}   :: wb\_vor(nc,kc)
853       \textcolor{comment}{!(out) 渦度}
854       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)}   :: wb\_div(nc,kc)
855       \textcolor{comment}{!(out) 発散}
856 
857       \textcolor{keywordtype}{real(8)} :: xvb\_u(0:im-1,jc,kc)
858       \textcolor{comment}{!速度経度成分}
859 
860       \textcolor{keywordtype}{real(8)} :: xvb\_v(0:im-1,jc,kc)
861       \textcolor{comment}{!速度緯度成分}
862 
863       \textcolor{keywordtype}{integer} :: k
864 
865       xvb\_u = xvb\_pva(pva\_u)
866       xvb\_v = xvb\_pva(pva\_v)
867 
868       \textcolor{keywordflow}{do} k=1,kc
869          \textcolor{keyword}{call }w\_vector2vordivmpi &
870                (xvb\_u(:,:,k), xvb\_v(:,:,k), wb\_vor(:,k), wb\_div(:,k))
871 \textcolor{keywordflow}{      enddo}
872 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=345pt]{namespacewb__mpi__module__base_a408eba1b2edfb42c50f4a6ec12af8a31_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a5b117a6fc24a42652d72d17b93167e39}\label{namespacewb__mpi__module__base_a5b117a6fc24a42652d72d17b93167e39}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!wb\+\_\+vectorcoslat2vordivmpi@{wb\+\_\+vectorcoslat2vordivmpi}}
\index{wb\+\_\+vectorcoslat2vordivmpi@{wb\+\_\+vectorcoslat2vordivmpi}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{wb\+\_\+vectorcoslat2vordivmpi()}{wb\_vectorcoslat2vordivmpi()}}
{\footnotesize\ttfamily subroutine, public wb\+\_\+mpi\+\_\+module\+\_\+base\+::wb\+\_\+vectorcoslat2vordivmpi (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic},\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc},\hyperlink{namespacewb__mpi__module__base_ad9ae0bfbde2d0e73448cc2f3b70b2d7e}{km}), intent(in)}]{pva\+\_\+\+U\+Cos\+Lat,  }\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic},\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc},\hyperlink{namespacewb__mpi__module__base_ad9ae0bfbde2d0e73448cc2f3b70b2d7e}{km}), intent(in)}]{pva\+\_\+\+V\+Cos\+Lat,  }\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc},\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), intent(out)}]{wb\+\_\+\+Vor,  }\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc},\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), intent(out)}]{wb\+\_\+\+Div }\end{DoxyParamCaption})}



Definition at line 876 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



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


\begin{DoxyCode}
876       \textcolor{comment}{!}
877       \textcolor{comment}{! 速度場(格子データ)から渦度・発散(スペクトルデータ)に}
878       \textcolor{comment}{! (正)変換する(多層用)}
879       \textcolor{comment}{!}
880       \textcolor{comment}{! スペクトル変換を用いず微分を計算するために, 変換回数が 2 回ですむ.}
881       \textcolor{comment}{!}
882       \textcolor{comment}{!   ζ = 1/cosφ∂v/∂λ - 1/cosφ ∂(u cosφ)/∂φ}
883       \textcolor{comment}{!    D = 1/cosφ∂u/∂λ + 1/cosφ ∂(v cosφ)/∂φ}
884       \textcolor{comment}{!}
885       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}  :: pva\_ucoslat(ic,jc,km)
886       \textcolor{comment}{!(in) 速度経度成分 * cos(lat)}
887 
888       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}  :: pva\_vcoslat(ic,jc,km)
889       \textcolor{comment}{!(in) 速度緯度成分 * cos(lat)}
890 
891       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)} :: wb\_vor(nc,kc)
892       \textcolor{comment}{!(out) 流線関数}
893       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(out)} :: wb\_div(nc,kc)
894       \textcolor{comment}{!(out) 速度ポテンシャル}
895 
896       \textcolor{keywordtype}{real(8)} :: xvb\_ucoslat(0:im-1,jc,kc)
897       \textcolor{comment}{!速度経度成分 * cos(lat)}
898 
899       \textcolor{keywordtype}{real(8)} :: xvb\_vcoslat(0:im-1,jc,kc)
900       \textcolor{comment}{!速度緯度成分 * cos(lat)}
901 
902       \textcolor{keywordtype}{integer} :: k
903 
904       xvb\_ucoslat = xvb\_pva(pva\_ucoslat)
905       xvb\_vcoslat = xvb\_pva(pva\_vcoslat)      
906       
907       \textcolor{keywordflow}{do} k=1,kc
908          \textcolor{keyword}{call }w\_vectorcoslat2vordivmpi &
909                (xvb\_ucoslat(:,:,k), xvb\_vcoslat(:,:,k), wb\_vor(:,k), wb\_div(:,k))
910 \textcolor{keywordflow}{      enddo}
911 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacewb__mpi__module__base_a5b117a6fc24a42652d72d17b93167e39_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacewb__mpi__module__base_aadca2bb3910a5b9b40240730d8504a0a}\label{namespacewb__mpi__module__base_aadca2bb3910a5b9b40240730d8504a0a}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!wb\+\_\+xvb@{wb\+\_\+xvb}}
\index{wb\+\_\+xvb@{wb\+\_\+xvb}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{wb\+\_\+xvb()}{wb\_xvb()}}
{\footnotesize\ttfamily real(8) function, dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc},\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), public wb\+\_\+mpi\+\_\+module\+\_\+base\+::wb\+\_\+xvb (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:im-\/1,\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc},\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), intent(in)}]{xvb\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



Definition at line 750 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



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


\begin{DoxyCode}
750       \textcolor{comment}{!}
751       \textcolor{comment}{! 格子データからスペクトルデータへ(正)変換する(多層用).}
752       \textcolor{comment}{!}
753       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: xvb\_data(0:im-1,jc,kc)
754       \textcolor{comment}{!(in) 格子点データ}
755 
756       \textcolor{keywordtype}{real(8)}               :: wb\_xvb(nc,kc)
757       \textcolor{comment}{!(out) スペクトルデータ}
758 
759       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
760       \textcolor{comment}{!(in) 変換時に同時に作用させる 1/cosφ の次数. 省略時は 0.}
761 
762       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
763       \textcolor{comment}{! 変換の種類}
764       \textcolor{comment}{!    0 : 通常の正変換}
765       \textcolor{comment}{!   -1 : 経度微分を作用させた正変換}
766       \textcolor{comment}{!    1 : 緯度微分 1/cosφ・∂(f cos^2φ)/∂φ を作用させた正変換}
767       \textcolor{comment}{!    2 : sinφを作用させた正変換}
768       \textcolor{comment}{!  省略時は 0.}
769       \textcolor{comment}{!}
770       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0      \textcolor{comment}{! スイッチデフォルト値}
771       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0      \textcolor{comment}{! スイッチデフォルト値}
772 
773       \textcolor{keywordtype}{integer} ipval, ifval
774 
775       \textcolor{keywordtype}{integer} k
776 
777       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
778          ipval = ipow
779       \textcolor{keywordflow}{else}
780          ipval = ipow\_default
781 \textcolor{keywordflow}{      endif}
782 
783       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
784          ifval = iflag
785       \textcolor{keywordflow}{else}
786          ifval = iflag\_default
787 \textcolor{keywordflow}{      endif}
788 
789       \textcolor{keywordflow}{do} k=1,kc
790          wb\_xvb(:,k) = w\_xv(xvb\_data(:,:,k),iflag=ifval,ipow=ipval)
791 \textcolor{keywordflow}{      enddo}
792 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacewb__mpi__module__base_aadca2bb3910a5b9b40240730d8504a0a_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacewb__mpi__module__base_ab311a561473d873c66a5215e28e197bc}\label{namespacewb__mpi__module__base_ab311a561473d873c66a5215e28e197bc}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!xa\+\_\+pa@{xa\+\_\+pa}}
\index{xa\+\_\+pa@{xa\+\_\+pa}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{xa\+\_\+pa()}{xa\_pa()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:im-\/1,size(pa,2)), public wb\+\_\+mpi\+\_\+module\+\_\+base\+::xa\+\_\+pa (\begin{DoxyParamCaption}\item[{real(8), dimension(\+:,\+:), intent(in)}]{pa }\end{DoxyParamCaption})}



Definition at line 391 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



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


\begin{DoxyCode}
391       \textcolor{comment}{!}
392       \textcolor{comment}{! 水平スペクトル・動径格子点データからスペクトルデータへ(正)変換する.}
393       \textcolor{comment}{!}
394       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)}       :: pa
395       \textcolor{comment}{!(in) 2 次元格子点データ(経度分割) (ic,:)}
396       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:im-1,size(pa,2))}     :: xa\_pa
397       \textcolor{comment}{!(out) 2 次元格子点データ}
398 
399       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(size(pa,2),ic)}      :: ap
400       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(size(pa,2),0:im-1)}  :: ax
401 
402       \textcolor{keywordtype}{integer} :: a\_size
403       \textcolor{keywordtype}{integer} :: irqsts
404       \textcolor{keywordtype}{integer} :: ist( mpi\_status\_size )
405 
406       \textcolor{keywordtype}{integer} :: ierr, ip\_v
407       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter} :: itag=120
408       \textcolor{comment}{! integer, allocatable ::snd\_rank(:)}
409       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::snd\_rank\_v(:)
410       \textcolor{comment}{! integer, allocatable ::rcv\_rank(:)}
411       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_rank\_v(:)
412       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} ::rcv\_idx(:)
413 
414       \textcolor{keywordtype}{save} snd\_rank\_v, rcv\_rank\_v, rcv\_idx \textcolor{comment}{!, snd\_rank, rcv\_rank}
415 
416       \textcolor{keywordflow}{if} ( first\_xa\_pa ) \textcolor{keywordflow}{then}
417          first\_xa\_pa = .false.
418          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(snd\_rank\_v) ) \textcolor{keyword}{deallocate}(snd\_rank\_v)
419          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_rank\_v) ) \textcolor{keyword}{deallocate}(rcv\_rank\_v)
420          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_idx)    ) \textcolor{keyword}{deallocate}(rcv\_idx)
421          \textcolor{keyword}{allocate}(snd\_rank\_v(1:nproc\_v-1))
422          \textcolor{keyword}{allocate}(rcv\_rank\_v(1:nproc\_v-1))
423          \textcolor{keyword}{allocate}(rcv\_idx(0:nproc\_v-1))
424 
425          \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
426             rcv\_rank\_v(ip\_v) = mod(iproc\_v+ip\_v,nproc\_v)
427             snd\_rank\_v(ip\_v) = mod(iproc\_v-ip\_v+nproc\_v,nproc\_v)
428 \textcolor{keywordflow}{         enddo}
429 
430          rcv\_idx(0) = 0
431          \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
432             rcv\_idx(ip\_v) = rcv\_idx(ip\_v-1)+icp(ip\_v-1)
433 \textcolor{keywordflow}{         enddo}
434 \textcolor{keywordflow}{      endif}
435 
436       ap = transpose(pa)
437       a\_size = \textcolor{keyword}{size}(pa,2)
438 
439       \textcolor{keyword}{call }mpi\_barrier(mpi\_comm\_v,ierr)
440 
441       \textcolor{keywordflow}{if} ( a\_size > 0 ) \textcolor{keywordflow}{then}
442          \textcolor{keywordflow}{do} ip\_v=1,nproc\_v-1
443             \textcolor{keyword}{call }mpi\_isend(ap, a\_size*ic, mpi\_real8, rcv\_rank\_v(ip\_v),&
444                  itag,mpi\_comm\_v,irqsts,ierr)
445             \textcolor{keyword}{call }mpi\_recv(ax(1,rcv\_idx(snd\_rank\_v(ip\_v))),  &
446                  a\_size*icp(snd\_rank\_v(ip\_v)), mpi\_real8,   &
447                  snd\_rank\_v(ip\_v), itag, mpi\_comm\_v, ist, ierr)
448             \textcolor{keyword}{CALL }mpi\_wait(irqsts,ist,ierr)
449 \textcolor{keywordflow}{         enddo}
450 \textcolor{keywordflow}{      endif}
451       
452       ax(:,is:ie) = ap
453 
454       xa\_pa = transpose(ax)
455 
\end{DoxyCode}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a5442ce46ec248d6a0842f4dad9bcba22}\label{namespacewb__mpi__module__base_a5442ce46ec248d6a0842f4dad9bcba22}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!xvb\+\_\+pva@{xvb\+\_\+pva}}
\index{xvb\+\_\+pva@{xvb\+\_\+pva}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{xvb\+\_\+pva()}{xvb\_pva()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:im-\/1,\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc},\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), public wb\+\_\+mpi\+\_\+module\+\_\+base\+::xvb\+\_\+pva (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_afc1edf37962ce998918ea1b5b5db7a64}{ic},\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc},\hyperlink{namespacewb__mpi__module__base_ad9ae0bfbde2d0e73448cc2f3b70b2d7e}{km}), intent(in)}]{pva }\end{DoxyParamCaption})}



Definition at line 273 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



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


\begin{DoxyCode}
273       \textcolor{comment}{!}
274       \textcolor{comment}{! 格子点データ(経度・緯度分割)から格子点データ(緯度・層分割)へ変換する.}
275       \textcolor{comment}{!}
276       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(ic,jc,km)}, \textcolor{keywordtype}{intent(in)}       :: pva
277       \textcolor{comment}{!(in) 2 次元球面調和函数(水平再分割) (nc,:)}
278       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:im-1,jc,kc)}               :: xvb\_pva
279       \textcolor{comment}{!(out) 2 次元球面調和函数チェビシェフスペクトルデータ}
280 
281       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{allocatable} :: pvb\_recv(:,:,:)
282 
283       \textcolor{keywordtype}{integer} :: irqsts
284       \textcolor{keywordtype}{integer} :: ist( mpi\_status\_size )
285 
286       \textcolor{keywordtype}{integer} :: ierr, iv
287       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}   :: itag=110
288       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} :: snd\_rank\_v(:)
289       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} :: rcv\_rank\_v(:)
290 
291       \textcolor{keywordtype}{save} snd\_rank\_v, rcv\_rank\_v \textcolor{comment}{!, rcv\_idx}
292 
293       \textcolor{keywordflow}{if} ( first\_xvb\_pva ) \textcolor{keywordflow}{then}
294          first\_xvb\_pva = .false.
295          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(snd\_rank\_v) ) \textcolor{keyword}{deallocate}(snd\_rank\_v)
296          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(rcv\_rank\_v) ) \textcolor{keyword}{deallocate}(rcv\_rank\_v)
297          \textcolor{keyword}{allocate}(snd\_rank\_v(1:nproc\_v-1))
298          \textcolor{keyword}{allocate}(rcv\_rank\_v(1:nproc\_v-1))
299 
300          \textcolor{keywordflow}{do} iv=1,nproc\_v-1
301             rcv\_rank\_v(iv) = mod(iproc\_v+iv,nproc\_v)
302             snd\_rank\_v(iv) = mod(iproc\_v-iv+nproc\_v,nproc\_v)
303 \textcolor{keywordflow}{         enddo}
304 
305 \textcolor{keywordflow}{      endif}
306 
307       \textcolor{keyword}{call }mpi\_barrier(mpi\_comm\_v,ierr)
308       
309       \textcolor{keywordflow}{if} ( jc > 0 ) \textcolor{keywordflow}{then}
310          \textcolor{keywordflow}{do} iv=1,nproc\_v-1
311             \textcolor{keyword}{call }mpi\_isend(pva(1,1,ksp(rcv\_rank\_v(iv))),ic*jc*kcp(rcv\_rank\_v(iv)), &
312                  mpi\_real8, rcv\_rank\_v(iv),&
313                  itag,mpi\_comm\_v,irqsts,ierr)
314             \textcolor{keyword}{allocate}(pvb\_recv(icp(snd\_rank\_v(iv)),jc,kc))
315             \textcolor{keyword}{call }mpi\_recv(pvb\_recv,kc*jc*icp(snd\_rank\_v(iv)), mpi\_real8, &
316                  snd\_rank\_v(iv), itag, mpi\_comm\_v, ist, ierr)
317             xvb\_pva(isp(snd\_rank\_v(iv)):iep(snd\_rank\_v(iv)),:,:) = pvb\_recv
318             \textcolor{keyword}{deallocate}(pvb\_recv)
319             \textcolor{keyword}{CALL }mpi\_wait(irqsts,ist,ierr)
320 \textcolor{keywordflow}{         enddo}
321 \textcolor{keywordflow}{      end if}
322 
323       xvb\_pva(is:ie,:,:) = pva(:,:,ks:ke)
324 
\end{DoxyCode}
\mbox{\Hypertarget{namespacewb__mpi__module__base_aee2c507efa4d2543de9e893550309100}\label{namespacewb__mpi__module__base_aee2c507efa4d2543de9e893550309100}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!xvb\+\_\+wb@{xvb\+\_\+wb}}
\index{xvb\+\_\+wb@{xvb\+\_\+wb}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{xvb\+\_\+wb()}{xvb\_wb()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:im-\/1,1\+:\hyperlink{namespacewb__mpi__module__base_afeedd8f638fe4cefe79534a9c89d06dd}{jc},\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), public wb\+\_\+mpi\+\_\+module\+\_\+base\+::xvb\+\_\+wb (\begin{DoxyParamCaption}\item[{real(8), dimension(\hyperlink{namespacewb__mpi__module__base_aa85fd132e5cc4d20081be81fdf018faa}{nc},\hyperlink{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}{kc}), intent(in)}]{wb\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



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



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


\begin{DoxyCode}
706       \textcolor{comment}{!}
707       \textcolor{comment}{! スペクトルデータから格子データへ変換する(多層用).}
708       \textcolor{comment}{!}
709       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(in)}   :: wb\_data(nc,kc)
710       \textcolor{comment}{!(in) スペクトルデータ}
711       \textcolor{comment}{!}
712       \textcolor{keywordtype}{real(8)}               :: xvb\_wb(0:im-1,1:jc,kc)
713       \textcolor{comment}{!(out) 格子点データ}
714       \textcolor{comment}{!}
715       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
716       \textcolor{comment}{!(in) 作用させる 1/cosφ の次数. 省略時は 0.}
717       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
718       \textcolor{comment}{!(in) 変換の種類}
719       \textcolor{comment}{!    0 : 通常の正変換}
720       \textcolor{comment}{!   -1 : 経度微分を作用させた逆変換}
721       \textcolor{comment}{!    1 : 緯度微分 cosφ・∂/∂φ を作用させた逆変換}
722       \textcolor{comment}{!    2 : sinφを作用させた逆変換}
723       \textcolor{comment}{!    省略時は 0.}
724       \textcolor{comment}{!}
725       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0
726       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0
727       \textcolor{keywordtype}{integer} ipval, ifval
728 
729       \textcolor{keywordtype}{integer} :: k
730 
731       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
732          ipval = ipow
733       \textcolor{keywordflow}{else}
734          ipval = ipow\_default
735 \textcolor{keywordflow}{      endif}
736 
737       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
738          ifval = iflag
739       \textcolor{keywordflow}{else}
740          ifval = iflag\_default
741 \textcolor{keywordflow}{      endif}
742 
743       \textcolor{keywordflow}{do} k=1,kc
744          xvb\_wb(:,:,k) = xv\_w(wb\_data(:,k),iflag=ifval,ipow=ipval)
745 \textcolor{keywordflow}{      enddo}
746 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacewb__mpi__module__base_aee2c507efa4d2543de9e893550309100_cgraph}
\end{center}
\end{figure}


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



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


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



Definition at line 88 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
88   \textcolor{keywordtype}{logical}              :: first\_pva\_xvb=.true.
\end{DoxyCode}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a6a9f4005875da0edacafe491cc8fa881}\label{namespacewb__mpi__module__base_a6a9f4005875da0edacafe491cc8fa881}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!first\+\_\+xa\+\_\+pa@{first\+\_\+xa\+\_\+pa}}
\index{first\+\_\+xa\+\_\+pa@{first\+\_\+xa\+\_\+pa}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{first\+\_\+xa\+\_\+pa}{first\_xa\_pa}}
{\footnotesize\ttfamily logical, save wb\+\_\+mpi\+\_\+module\+\_\+base\+::first\+\_\+xa\+\_\+pa =.true.}



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


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



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


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



Definition at line 73 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

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



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

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



Definition at line 73 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

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



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

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



Definition at line 68 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


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



Definition at line 68 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

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



Definition at line 68 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

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



Definition at line 73 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


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



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


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



Definition at line 70 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
70   \textcolor{keywordtype}{integer}              :: jc
\end{DoxyCode}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}\label{namespacewb__mpi__module__base_a84d9a4d4c1891d05af288545c11cc71e}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!kc@{kc}}
\index{kc@{kc}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{kc}{kc}}
{\footnotesize\ttfamily integer, save, public wb\+\_\+mpi\+\_\+module\+\_\+base\+::kc}



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

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



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

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



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

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



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

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



Definition at line 65 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


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



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


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



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


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



Definition at line 84 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


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



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


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



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


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



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


\begin{DoxyCode}
71   \textcolor{keywordtype}{integer}              :: nc
\end{DoxyCode}
\mbox{\Hypertarget{namespacewb__mpi__module__base_a2091dbc090ba0d59bb946120856419b4}\label{namespacewb__mpi__module__base_a2091dbc090ba0d59bb946120856419b4}} 
\index{wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}!nproc@{nproc}}
\index{nproc@{nproc}!wb\+\_\+mpi\+\_\+module\+\_\+base@{wb\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nproc}{nproc}}
{\footnotesize\ttfamily integer, save, public wb\+\_\+mpi\+\_\+module\+\_\+base\+::nproc}



Definition at line 67 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


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



Definition at line 67 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

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



Definition at line 67 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.

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



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


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



Definition at line 81 of file wb\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


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



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

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



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


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