\hypertarget{namespacew__mpi__module__base}{}\section{w\+\_\+mpi\+\_\+module\+\_\+base Module Reference}
\label{namespacew__mpi__module__base}\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}


\hyperlink{namespacew__mpi__module}{w\+\_\+mpi\+\_\+module} の下部モジュール\+: 基本変換  


\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine, public \hyperlink{namespacew__mpi__module__base_ac9f74ac01303fb3d69e551a7c455da47}{w\+\_\+base\+\_\+mpi\+\_\+initial} (n\+\_\+in, i\+\_\+in, j\+\_\+in, mpi\+\_\+comm)
\begin{DoxyCompactList}\small\item\em スペクトル変換の格子点数, 波数および O\+P\+E\+N\+MP 使用時の 最大スレッド数を設定する. \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:\hyperlink{namespacew__mpi__module__base_aa750b5cf518a6c9d727222f8f48abfa7}{im}-\/1, 1\+:\hyperlink{namespacew__mpi__module__base_a3d7dfd2e961ec614e9616b52cd57db4c}{jl}), public \hyperlink{namespacew__mpi__module__base_af3c71ab39dece6b5a1016ba418f8371b}{xv\+\_\+w} (w\+\_\+data, ipow, iflag)
\begin{DoxyCompactList}\small\item\em スペクトルデータから格子データへ変換する(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension(\hyperlink{namespacew__mpi__module__base_ab592cd691b8f91f3779f0b080f892973}{nc}), public \hyperlink{namespacew__mpi__module__base_a8437d71392fa94854209b7898dc2dd99}{w\+\_\+xv} (xv\+\_\+data, ipow, iflag)
\begin{DoxyCompactList}\small\item\em 格子データからスペクトルデータへ(正)変換する(1 層用). \end{DoxyCompactList}\item 
subroutine, public \hyperlink{namespacew__mpi__module__base_a004e891d275758b2e9a39b5d41672a53}{w\+\_\+streampotential2vectormpi} (w\+\_\+\+Psi, w\+\_\+\+Chi, xv\+\_\+U, xv\+\_\+V)
\begin{DoxyCompactList}\small\item\em 流線・ポテンシャル(スペクトルデータ)から速度場(格子データ)に (逆)変換する(1 層用, M\+PI) \end{DoxyCompactList}\item 
subroutine, public \hyperlink{namespacew__mpi__module__base_a15326f414093545618c681f41166ac70}{w\+\_\+vector2vordivmpi} (xv\+\_\+U, xv\+\_\+V, w\+\_\+\+Vor, w\+\_\+\+Div)
\begin{DoxyCompactList}\small\item\em 速度場(格子データ)から渦度・発散(スペクトルデータ)に (正)変換する(1 層用, M\+PI) \end{DoxyCompactList}\item 
subroutine, public \hyperlink{namespacew__mpi__module__base_a843761fce9a1f561f1e84a2ce7fc7456}{w\+\_\+vectorcoslat2vordivmpi} (xv\+\_\+\+U\+Cos\+Lat, xv\+\_\+\+V\+Cos\+Lat, w\+\_\+\+Vor, w\+\_\+\+Div)
\begin{DoxyCompactList}\small\item\em 速度場(格子データ)から渦度・発散(スペクトルデータ)に (正)変換する(1 層用, M\+PI) \end{DoxyCompactList}\item 
real(dp) function, dimension(size(av, 1), \hyperlink{namespacew__mpi__module__base_a2b229672ec02d54aa8720cd2296723f0}{jm}), public \hyperlink{namespacew__mpi__module__base_ae63f80b24fdcb153f05ceb6b594a3020}{ay\+\_\+av} (av)
\begin{DoxyCompactList}\small\item\em 分割緯度データを集める. \end{DoxyCompactList}\item 
real(dp) function, dimension(size(ay, 1), \hyperlink{namespacew__mpi__module__base_a3d7dfd2e961ec614e9616b52cd57db4c}{jl}), public \hyperlink{namespacew__mpi__module__base_ab3571ec52a70bea40da26233894aeef3}{av\+\_\+ay} (ay)
\begin{DoxyCompactList}\small\item\em 緯度データを分割する \end{DoxyCompactList}\item 
subroutine, public \hyperlink{namespacew__mpi__module__base_ad4e9b0478f28164ffbb806acb7955427}{w\+\_\+base\+\_\+mpi\+\_\+finalize}
\begin{DoxyCompactList}\small\item\em モジュールの終了処理(割り付け配列の解放)をおこなう. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
integer(8), save, public \hyperlink{namespacew__mpi__module__base_aa750b5cf518a6c9d727222f8f48abfa7}{im} =64
\begin{DoxyCompactList}\small\item\em 格子点の設定(東西) \end{DoxyCompactList}\item 
integer(8), save, public \hyperlink{namespacew__mpi__module__base_a2b229672ec02d54aa8720cd2296723f0}{jm} =32
\begin{DoxyCompactList}\small\item\em 格子点の設定(南北) \end{DoxyCompactList}\item 
integer(8), save, public \hyperlink{namespacew__mpi__module__base_a8425e34ad804e0f42d95bf509cb17626}{mm}
\begin{DoxyCompactList}\small\item\em 切断波数(東西波数)の設定 \end{DoxyCompactList}\item 
integer(8), save, public \hyperlink{namespacew__mpi__module__base_a306a78f85237328517087aae0cf2278a}{nn}
\begin{DoxyCompactList}\small\item\em 切断波数(全波数)の設定 \end{DoxyCompactList}\item 
integer(8), save, public \hyperlink{namespacew__mpi__module__base_a2394d4ea48fd8016698745debaaf65eb}{nm}
\begin{DoxyCompactList}\small\item\em 計算する最大の全波数の設定 \end{DoxyCompactList}\item 
real(dp), dimension(\+:), allocatable, public \hyperlink{namespacew__mpi__module__base_a072b71533174027ae9d27c2f1ff0f2fb}{x\+\_\+lon}
\begin{DoxyCompactList}\small\item\em 経度座標格子点 \end{DoxyCompactList}\item 
real(dp), dimension(\+:), allocatable, public \hyperlink{namespacew__mpi__module__base_a6ba4addf173c21cc9324d9d1ca54053a}{x\+\_\+lon\+\_\+weight}
\begin{DoxyCompactList}\small\item\em 経度座標格子点重み \end{DoxyCompactList}\item 
real(dp), dimension(\+:), allocatable, public \hyperlink{namespacew__mpi__module__base_ad610bc790b82eefa025e56ce5323efeb}{v\+\_\+lat}
\begin{DoxyCompactList}\small\item\em 緯度座標分散格子点 \end{DoxyCompactList}\item 
real(dp), dimension(\+:), allocatable, public \hyperlink{namespacew__mpi__module__base_a4e11ba6f50fd2ab37e67507800b4ebb4}{v\+\_\+lat\+\_\+weight}
\begin{DoxyCompactList}\small\item\em 緯度座標分散格子点重み \end{DoxyCompactList}\item 
real(dp), dimension(\+:), allocatable, public \hyperlink{namespacew__mpi__module__base_a558a26a9e3991d3a1ee452a4558064ca}{y\+\_\+lat}
\begin{DoxyCompactList}\small\item\em 緯度座標格子点 \end{DoxyCompactList}\item 
real(dp), dimension(\+:), allocatable, public \hyperlink{namespacew__mpi__module__base_a4786b3235b0aca80489c1eee6f3d03de}{y\+\_\+lat\+\_\+weight}
\begin{DoxyCompactList}\small\item\em 緯度座標格子点重み \end{DoxyCompactList}\item 
real(dp), dimension(\+:,\+:), allocatable, public \hyperlink{namespacew__mpi__module__base_aae7c556f825b8898424456421c6b5564}{xv\+\_\+lon}
\begin{DoxyCompactList}\small\item\em 分散座標経度格子点, 2次元配列 \end{DoxyCompactList}\item 
real(dp), dimension(\+:,\+:), allocatable, public \hyperlink{namespacew__mpi__module__base_aeea6ed2d8858448c1eb88e3b40cdce8b}{xv\+\_\+lat}
\begin{DoxyCompactList}\small\item\em 分散座標緯度格子点, 2次元配列 \end{DoxyCompactList}\item 
real(dp), dimension(\+:,\+:), allocatable, public \hyperlink{namespacew__mpi__module__base_a944d0cb65b11e2709ec56f34e7da8e36}{xy\+\_\+lon}
\begin{DoxyCompactList}\small\item\em 座標経度格子点, 2次元配列 \end{DoxyCompactList}\item 
real(dp), dimension(\+:,\+:), allocatable, public \hyperlink{namespacew__mpi__module__base_aa21774d521bd62be2746c359c9e6ec9b}{xy\+\_\+lat}
\begin{DoxyCompactList}\small\item\em 座標緯度格子点, 2次元配列 \end{DoxyCompactList}\item 
integer(8), save, public \hyperlink{namespacew__mpi__module__base_af5e3db67c239a3e8b2a850ac73abf702}{icom}
\begin{DoxyCompactList}\small\item\em コミュニケータ \end{DoxyCompactList}\item 
integer(8), dimension(\+:), allocatable, save, public \hyperlink{namespacew__mpi__module__base_a8c5519e5496969ee7a701f06777d72de}{it}
\begin{DoxyCompactList}\small\item\em 変換用配列 \end{DoxyCompactList}\item 
integer(8), dimension(\+:), allocatable, save, public \hyperlink{namespacew__mpi__module__base_a4e95d6c32cbce40f4047c6332ce6f46b}{jc}
\begin{DoxyCompactList}\small\item\em 変換用配列 \end{DoxyCompactList}\item 
real(dp), dimension(\+:), allocatable, save, public \hyperlink{namespacew__mpi__module__base_aaef0c94ed2ea40df2026dd69c5ce5039}{t}
\begin{DoxyCompactList}\small\item\em 変換用配列 \end{DoxyCompactList}\item 
real(dp), dimension(\+:), allocatable, save, public \hyperlink{namespacew__mpi__module__base_a1ed2fa41d296057ce767d1d4a02bed88}{r}
\begin{DoxyCompactList}\small\item\em 変換用配列 \end{DoxyCompactList}\item 
real(dp), dimension(\+:,\+:), pointer, save, public \hyperlink{namespacew__mpi__module__base_ae4b015764a79f414de33dcbd01484ede}{p}
\begin{DoxyCompactList}\small\item\em 変換用配列 \end{DoxyCompactList}\item 
integer(8), save, public \hyperlink{namespacew__mpi__module__base_aa05ba597bf438210e6d593f01220d1df}{j1}
\begin{DoxyCompactList}\small\item\em 分散配置用変数 \end{DoxyCompactList}\item 
integer(8), save, public \hyperlink{namespacew__mpi__module__base_a314a50bfc7f6f6a9de03e8640d84f18e}{j2}
\begin{DoxyCompactList}\small\item\em 分散配置用変数 \end{DoxyCompactList}\item 
integer, save, public \hyperlink{namespacew__mpi__module__base_a3d7dfd2e961ec614e9616b52cd57db4c}{jl}
\begin{DoxyCompactList}\small\item\em 分散格子データの大きさ \end{DoxyCompactList}\item 
integer, save, public \hyperlink{namespacew__mpi__module__base_ab592cd691b8f91f3779f0b080f892973}{nc}
\begin{DoxyCompactList}\small\item\em 分散スペクトルデータの大きさ \end{DoxyCompactList}\item 
integer, save, public \hyperlink{namespacew__mpi__module__base_ad6e4677d45a8306c58f581ef5ccd363c}{np}
\begin{DoxyCompactList}\small\item\em M\+PI プロセス数 \end{DoxyCompactList}\item 
integer, save, public \hyperlink{namespacew__mpi__module__base_a0521d9abdcd00560146fa9bd257fdb4d}{ip}
\begin{DoxyCompactList}\small\item\em M\+PI プロセス番号 \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{namespacew__mpi__module}{w\+\_\+mpi\+\_\+module} の下部モジュール\+: 基本変換 

\begin{DoxyCopyright}{Copyright}
Copyright (C) S\+P\+M\+O\+D\+EL Development Group, 2019. License is M\+I\+T/\+X11. see \hyperlink{COPYRIGHT}{C\+O\+P\+Y\+R\+I\+G\+HT} in detail 
\end{DoxyCopyright}
\begin{DoxyAuthor}{Author}
Shin-\/ichi Takehiro, Youhei S\+A\+S\+A\+KI 
\end{DoxyAuthor}
\begin{DoxyWarning}{Warning}
本モジュールを直接呼ぶ事は想定されていないことに注意されたい． ユーザは \hyperlink{namespacew__mpi__module}{w\+\_\+mpi\+\_\+module} を呼ぶこと． 
\end{DoxyWarning}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacew__mpi__module__base_ab3571ec52a70bea40da26233894aeef3}\label{namespacew__mpi__module__base_ab3571ec52a70bea40da26233894aeef3}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!av\+\_\+ay@{av\+\_\+ay}}
\index{av\+\_\+ay@{av\+\_\+ay}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{av\+\_\+ay()}{av\_ay()}}
{\footnotesize\ttfamily real(dp) function, dimension(size(ay,1),\hyperlink{namespacew__mpi__module__base_a3d7dfd2e961ec614e9616b52cd57db4c}{jl}), public w\+\_\+mpi\+\_\+module\+\_\+base\+::av\+\_\+ay (\begin{DoxyParamCaption}\item[{real(dp), dimension(\+:,\+:), intent(in)}]{ay }\end{DoxyParamCaption})}



緯度データを分割する 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em ay} & 緯度格子点データ(分割) (\+:,jc)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
緯度格子点データ 
\end{DoxyReturn}


Definition at line 675 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References j1, and j2.


\begin{DoxyCode}
675 
676     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)} :: ay
678     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(size(ay,1),jl)} :: av\_ay
679 
680     av\_ay = ay(:,j1:j2)
681 
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_ae63f80b24fdcb153f05ceb6b594a3020}\label{namespacew__mpi__module__base_ae63f80b24fdcb153f05ceb6b594a3020}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!ay\+\_\+av@{ay\+\_\+av}}
\index{ay\+\_\+av@{ay\+\_\+av}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ay\+\_\+av()}{ay\_av()}}
{\footnotesize\ttfamily real(dp) function, dimension(size(av,1),\hyperlink{namespacew__mpi__module__base_a2b229672ec02d54aa8720cd2296723f0}{jm}), public w\+\_\+mpi\+\_\+module\+\_\+base\+::ay\+\_\+av (\begin{DoxyParamCaption}\item[{real(dp), dimension(\+:,\+:), intent(in)}]{av }\end{DoxyParamCaption})}



分割緯度データを集める. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em av} & 緯度格子点データ(分割) (\+:,jl)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
緯度格子点データ 
\end{DoxyReturn}


Definition at line 641 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References icom, j1, j2, jl, and np.


\begin{DoxyCode}
641 
642     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)} :: av
644     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(size(av,1),jm)}   :: ay\_av
645 
646     \textcolor{keywordtype}{integer} :: a\_size
647     \textcolor{keywordtype}{integer} :: irqsts
648     \textcolor{keywordtype}{integer} :: ist( mpi\_status\_size )
649 
650     \textcolor{keywordtype}{integer} :: ierr, i
651     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter} :: itag=103
652 
653     a\_size = \textcolor{keyword}{size}(av,1)
654 
655     \textcolor{keyword}{call }mpi\_barrier(int(icom),ierr)
656     \textcolor{keywordflow}{do} i=1,np-1
657       \textcolor{keyword}{call }mpi\_isend(av, a\_size*jl, mpi\_real8, rcv\_rank(i),&
658         itag,int(icom),irqsts,ierr)
659       \textcolor{keywordflow}{if} ( j1p(snd\_rank(i)) .ge. 1 ) \textcolor{keywordflow}{then}
660         \textcolor{keyword}{call }mpi\_recv(ay\_av(1,j1p(snd\_rank(i))),&
661           a\_size*jlp(snd\_rank(i)), mpi\_real8,  &
662           snd\_rank(i), itag, int(icom), ist, ierr)
663 \textcolor{keywordflow}{      endif}
664       \textcolor{keyword}{CALL }mpi\_wait(irqsts,ist,ierr)
665 \textcolor{keywordflow}{    enddo}
666 
667     ay\_av(:,j1:j2) = av
668 
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_ad4e9b0478f28164ffbb806acb7955427}\label{namespacew__mpi__module__base_ad4e9b0478f28164ffbb806acb7955427}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!w\+\_\+base\+\_\+mpi\+\_\+finalize@{w\+\_\+base\+\_\+mpi\+\_\+finalize}}
\index{w\+\_\+base\+\_\+mpi\+\_\+finalize@{w\+\_\+base\+\_\+mpi\+\_\+finalize}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{w\+\_\+base\+\_\+mpi\+\_\+finalize()}{w\_base\_mpi\_finalize()}}
{\footnotesize\ttfamily subroutine, public w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+base\+\_\+mpi\+\_\+finalize (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



モジュールの終了処理(割り付け配列の解放)をおこなう. 

実際の使用には上位サブルーチン \hyperlink{namespacew__mpi__module_afaaa0926433bb9ac9829dfaa3fe5dfff}{w\+\_\+mpi\+\_\+finalize()} を用いること. 

Definition at line 691 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References icom, ip, it, jc, mm, nn, r, t, v\+\_\+lat, v\+\_\+lat\+\_\+weight, x\+\_\+lon, x\+\_\+lon\+\_\+weight, xv\+\_\+lat, xv\+\_\+lon, xy\+\_\+lat, xy\+\_\+lon, y\+\_\+lat, and y\+\_\+lat\+\_\+weight.


\begin{DoxyCode}
691     \textcolor{keywordflow}{if} ( .not. w\_base\_mpi\_initialize ) \textcolor{keywordflow}{then}
692       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'W'},\textcolor{stringliteral}{'w\_base\_mpi\_Finalize'},&
693         \textcolor{stringliteral}{'w\_base\_mpi\_module not initialized yet'})
694       \textcolor{keywordflow}{return}
695 \textcolor{keywordflow}{    endif}
696 
697     \textcolor{keyword}{deallocate}(it)                 \textcolor{comment}{! 変換用配列}
698     \textcolor{keyword}{deallocate}(t)                  \textcolor{comment}{! 変換用配列}
699     \textcolor{keyword}{deallocate}(r)                  \textcolor{comment}{! 変換用配列}
700     \textcolor{keyword}{deallocate}(jc)                 \textcolor{comment}{! 変換用配列}
701     \textcolor{keyword}{deallocate}(c)                  \textcolor{comment}{! 変換用作業配列}
702 
703     \textcolor{keyword}{call }mxfree(pp)                \textcolor{comment}{! 変換用作業配列}
704     \textcolor{keyword}{call }mxfree(pg)                \textcolor{comment}{! 変換用作業配列}
705     \textcolor{keyword}{call }mxfree(pg1)               \textcolor{comment}{! 変換用作業配列}
706     \textcolor{keyword}{call }mxfree(pg2)               \textcolor{comment}{! 変換用作業配列}
707     \textcolor{keyword}{call }mxfree(pw)                \textcolor{comment}{! 変換用作業配列}
708     \textcolor{keyword}{call }mxfree(pww)               \textcolor{comment}{! 変換用作業配列}
709     \textcolor{keyword}{deallocate}(j1p,j2p)
710     \textcolor{keyword}{deallocate}(jlp)
711     \textcolor{keyword}{deallocate}(ncp)
712     \textcolor{keyword}{deallocate}(snd\_rank)
713     \textcolor{keyword}{deallocate}(rcv\_rank)
714     \textcolor{keyword}{deallocate}(x\_lon)              \textcolor{comment}{! 格子点座標格納配列(経度)}
715     \textcolor{keyword}{deallocate}(x\_lon\_weight)
716     \textcolor{keyword}{deallocate}(xv\_lon)
717     \textcolor{keyword}{deallocate}(v\_lat)
718     \textcolor{keyword}{deallocate}(v\_lat\_weight)       \textcolor{comment}{! 格子点座標格納配列}
719     \textcolor{keyword}{deallocate}(xv\_lat)             \textcolor{comment}{! 格子点座標格納配列}
720     \textcolor{keyword}{deallocate}(y\_lat,y\_lat\_weight) \textcolor{comment}{! 格子点座標格納配列}
721     \textcolor{keyword}{deallocate}(xy\_lon,xy\_lat)      \textcolor{comment}{! 格子点座標格納配列}
722 
723     w\_base\_mpi\_initialize = .false.
724 
725     \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'w\_base\_mpi\_Finalize'},&
726       \textcolor{stringliteral}{'w\_base\_mpi\_module (2019/10/05) is finalized'})
727 
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_ac9f74ac01303fb3d69e551a7c455da47}\label{namespacew__mpi__module__base_ac9f74ac01303fb3d69e551a7c455da47}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!w\+\_\+base\+\_\+mpi\+\_\+initial@{w\+\_\+base\+\_\+mpi\+\_\+initial}}
\index{w\+\_\+base\+\_\+mpi\+\_\+initial@{w\+\_\+base\+\_\+mpi\+\_\+initial}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{w\+\_\+base\+\_\+mpi\+\_\+initial()}{w\_base\_mpi\_initial()}}
{\footnotesize\ttfamily subroutine, public w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+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), optional}]{mpi\+\_\+comm }\end{DoxyParamCaption})}



スペクトル変換の格子点数, 波数および O\+P\+E\+N\+MP 使用時の 最大スレッド数を設定する. 

実際の使用には上位サブルーチン \hyperlink{namespacew__mpi__module_ad43aa36675d4efea7d671c07510f897c}{w\+\_\+mpi\+\_\+initial()} を用いること.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em i\+\_\+in} & 格子点数(東西), 2の巾乗($<$=2048)\\
\hline
\mbox{\tt in}  & {\em j\+\_\+in} & 格子点数(南北), 4 の倍数\\
\hline
\mbox{\tt in}  & {\em n\+\_\+in} & 切断全波数\\
\hline
\mbox{\tt in}  & {\em mpi\+\_\+comm} & コミュニケーター \\
\hline
\end{DoxyParams}


Definition at line 200 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References ay\+\_\+av(), icom, im, ip, it, j1, j2, jc, jl, jm, mm, nc, nm, nn, np, p, r, t, v\+\_\+lat, v\+\_\+lat\+\_\+weight, x\+\_\+lon, x\+\_\+lon\+\_\+weight, xv\+\_\+lat, xv\+\_\+lon, xy\+\_\+lat, xy\+\_\+lon, y\+\_\+lat, and y\+\_\+lat\+\_\+weight.


\begin{DoxyCode}
200 
201     \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: i\_in
203     \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: j\_in
205     \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: n\_in
207     \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional} :: mpi\_comm
208 
209     \textcolor{keywordtype}{integer} :: i, j
210     \textcolor{keywordtype}{integer} :: ierr
211 
212     \textcolor{comment}{! 三角波数切断}
213     im = i\_in
214     jm = j\_in
215     nn = n\_in
216     nm = n\_in+1
217     mm = n\_in
218     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(mpi\_comm) ) \textcolor{keywordflow}{then}
219       icom = mpi\_comm
220     \textcolor{keywordflow}{else}
221       icom = mpi\_comm\_world
222 \textcolor{keywordflow}{    endif}
223 
224     \textcolor{keyword}{CALL }mpi\_comm\_size(int(icom),np,ierr)
225     \textcolor{keyword}{CALL }mpi\_comm\_rank(int(icom),ip,ierr)
226 
227     \textcolor{keyword}{allocate}(t(im*3/2))
228     \textcolor{keyword}{allocate}(it(im/2))
229     \textcolor{keyword}{allocate}(r(5*(mm/np+1)*(2*nm-mm/np*np)/4+mm/np+1))
230     \textcolor{keyword}{allocate}(jc((mm/np+1)*(2*nm-mm/np*np)/16+mm/np+1))
231     \textcolor{keyword}{call }mxallc(pp,jm/2*(5+2*(mm/np+1)))
232     \textcolor{keyword}{call }c\_f\_pointer(pp,p,[jm/2,5+2*(mm/np+1)])
233 
234     \textcolor{comment}{! 変換用作業配列}
235     \textcolor{keyword}{allocate}(c((mm/np+1)*(2*(nn+1)-mm/np*np)))
236 
237     \textcolor{keyword}{call }syini1(mm,nm,im,it,t,r,icom)
238     \textcolor{keyword}{call }syini2(mm,nm,jm,ig,p,r,jc,icom)
239     \textcolor{keyword}{call }syinic(mm,nn,c,icom)
240 
241     \textcolor{comment}{! 変換用変数割付}
242     \textcolor{keyword}{call }syqrjv(jm,jv)
243 
244     \textcolor{keyword}{call }mxallc(pg,im*((jm/jv-1)/np+1)*jv)
245     \textcolor{keyword}{call }c\_f\_pointer(pg, g, [im,((jm/jv-1)/np+1)*jv])
246     \textcolor{keyword}{call }mxallc(pw,2*jv*((jm/jv-1)/np+1)*(mm/np+1)*np*2)
247     \textcolor{keyword}{call }c\_f\_pointer(pw, w, [2*jv*((jm/jv-1)/np+1)*(mm/np+1)*np*2])
248 
249     \textcolor{keyword}{call }mxallc(pg1,im*((jm/jv-1)/np+1)*jv)
250     \textcolor{keyword}{call }c\_f\_pointer(pg1, g1, [im,((jm/jv-1)/np+1)*jv])
251     \textcolor{keyword}{call }mxallc(pg2,im*((jm/jv-1)/np+1)*jv)
252     \textcolor{keyword}{call }c\_f\_pointer(pg2, g2, [im,((jm/jv-1)/np+1)*jv])
253     \textcolor{keyword}{call }mxallc(pww,2*jv*((jm/jv-1)/np+1)*(mm/np+1)*np*2*2)
254     \textcolor{keyword}{call }c\_f\_pointer(pww, ww, [2*jv*((jm/jv-1)/np+1)*(mm/np+1)*np*2*2])
255 
256 
257     \textcolor{comment}{! 各プロセスの担当緯度, 波数情報}
258     \textcolor{keyword}{call }syqrnj(jm,jv,j1,j2,icom)
259     \textcolor{comment}{! 分散格子データの大きさ}
260     jl = int(j2-j1+1)
261     \textcolor{comment}{! 分散スペクトルデータの大きさ}
262     nc = int((mm/np+1)*(2*(nn+1)-mm/np*np))
263 
264     \textcolor{keyword}{allocate}(j1p(0:np-1),j2p(0:np-1))
265     \textcolor{keyword}{allocate}(jlp(0:np-1))
266     \textcolor{keyword}{allocate}(ncp(0:np-1))
267 
268     \textcolor{keyword}{call }mpi\_allgather( jl, 1, mpi\_integer, &
269       jlp(0), 1, mpi\_integer, int(icom), ierr)
270     \textcolor{keyword}{call }mpi\_allgather( int(j1), 1, mpi\_integer, &
271       j1p(0), 1, mpi\_integer, int(icom), ierr)
272     \textcolor{keyword}{call }mpi\_allgather( int(j2), 1, mpi\_integer, &
273       j2p(0), 1, mpi\_integer, int(icom), ierr)
274 \textcolor{comment}{!!$    call MPI\_ALLGATHER( j1, 1, MPI\_INTEGER, &}
275 \textcolor{comment}{!!$      j1p(0), 1, MPI\_INTEGER, int(icom), ierr)}
276 \textcolor{comment}{!!$    call MPI\_ALLGATHER( j2, 1, MPI\_INTEGER, &}
277 \textcolor{comment}{!!$      j2p(0), 1, MPI\_INTEGER, int(icom), ierr)}
278     \textcolor{keyword}{call }mpi\_allgather( nc, 1, mpi\_integer, &
279       ncp(0), 1, mpi\_integer, int(icom), ierr)
280 
281     \textcolor{keyword}{allocate}(snd\_rank(1:np-1))
282     \textcolor{keyword}{allocate}(rcv\_rank(1:np-1))
283 
284     \textcolor{keywordflow}{do} i=1,np-1
285       rcv\_rank(i) = mod(ip+i,np)
286       snd\_rank(i) = mod(ip+np-i,np)
287 \textcolor{keywordflow}{    enddo}
288 
289     \textcolor{comment}{! 座標変数設定}
290     \textcolor{keyword}{allocate}(x\_lon(0:im-1))                       \textcolor{comment}{! 格子点座標格納配列(経度)}
291     \textcolor{keyword}{allocate}(x\_lon\_weight(0:im-1))
292     \textcolor{keyword}{allocate}(v\_lat(jl),v\_lat\_weight(jl))          \textcolor{comment}{! 格子点座標格納配列}
293     \textcolor{keyword}{allocate}(y\_lat(jm),y\_lat\_weight(jm))          \textcolor{comment}{! 格子点座標格納配列}
294     \textcolor{keyword}{allocate}(xv\_lon(0:im-1,jl),xv\_lat(0:im-1,jl)) \textcolor{comment}{! 格子点座標格納配列}
295     \textcolor{keyword}{allocate}(xy\_lon(0:im-1,jm),xy\_lat(0:im-1,jm)) \textcolor{comment}{! 格子点座標格納配列}
296 
297     \textcolor{keywordflow}{do} i=0,int(im)-1
298       x\_lon(i)  = 2*(pi/im)*i             \textcolor{comment}{! 経度座標}
299       x\_lon\_weight(i) = 2*(pi/im)         \textcolor{comment}{! 経度座標重み}
300 \textcolor{keywordflow}{    end do}
301 
302     \textcolor{keywordflow}{do} j=int(j1),int(j2)
303       \textcolor{keywordflow}{if} ( j .gt. jm/2 ) \textcolor{keywordflow}{then}
304         v\_lat(j-j1+1)        =  asin(p(j-jm/2,1))    \textcolor{comment}{! 緯度座標}
305         v\_lat\_weight(j-j1+1) = 2*p(j -jm/2,2)        \textcolor{comment}{! 緯度重み(Gauss grid)}
306       \textcolor{keywordflow}{else}
307         v\_lat(j-j1+1)        = - asin(p(jm/2-j+1,1)) \textcolor{comment}{! 緯度座標}
308         v\_lat\_weight(j-j1+1) = 2*p(jm/2-j+1,2)       \textcolor{comment}{! 緯度重み(Gauss grid)}
309 \textcolor{keywordflow}{      end if}
310 \textcolor{keywordflow}{    end do}
311 
312     \textcolor{keywordflow}{do} i=0,int(im)-1
313       xv\_lat(i,:) = v\_lat
314 \textcolor{keywordflow}{    enddo}
315     xy\_lat = ay\_av(xv\_lat)
316     y\_lat = xy\_lat(0,:)
317     y\_lat\_weight = reshape(ay\_av(reshape(v\_lat\_weight, (/1,jl/))),(/jm/))
318 
319     \textcolor{keywordflow}{do} j=1,int(jl)
320       xv\_lon(:,j) = x\_lon
321 \textcolor{keywordflow}{    enddo}
322     \textcolor{keywordflow}{do} j=1,int(jm)
323       xy\_lon(:,j) = x\_lon
324 \textcolor{keywordflow}{    enddo}
325 
326     w\_base\_mpi\_initialize = .true.
327 
328     \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'w\_base\_mpi\_initial'}, &
329       \textcolor{stringliteral}{'w\_base\_mpi\_module (2019/10/05) is initialized'})
330 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=344pt]{namespacew__mpi__module__base_ac9f74ac01303fb3d69e551a7c455da47_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacew__mpi__module__base_a004e891d275758b2e9a39b5d41672a53}\label{namespacew__mpi__module__base_a004e891d275758b2e9a39b5d41672a53}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!w\+\_\+streampotential2vectormpi@{w\+\_\+streampotential2vectormpi}}
\index{w\+\_\+streampotential2vectormpi@{w\+\_\+streampotential2vectormpi}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{w\+\_\+streampotential2vectormpi()}{w\_streampotential2vectormpi()}}
{\footnotesize\ttfamily subroutine, public w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+streampotential2vectormpi (\begin{DoxyParamCaption}\item[{real(dp), dimension(\hyperlink{namespacew__mpi__module__base_ab592cd691b8f91f3779f0b080f892973}{nc}), intent(in)}]{w\+\_\+\+Psi,  }\item[{real(dp), dimension(\hyperlink{namespacew__mpi__module__base_ab592cd691b8f91f3779f0b080f892973}{nc}), intent(in)}]{w\+\_\+\+Chi,  }\item[{real(dp), dimension(0\+:\hyperlink{namespacew__mpi__module__base_aa750b5cf518a6c9d727222f8f48abfa7}{im}-\/1,1\+:\hyperlink{namespacew__mpi__module__base_a3d7dfd2e961ec614e9616b52cd57db4c}{jl}), intent(out)}]{xv\+\_\+U,  }\item[{real(dp), dimension(0\+:\hyperlink{namespacew__mpi__module__base_aa750b5cf518a6c9d727222f8f48abfa7}{im}-\/1,1\+:\hyperlink{namespacew__mpi__module__base_a3d7dfd2e961ec614e9616b52cd57db4c}{jl}), intent(out)}]{xv\+\_\+V }\end{DoxyParamCaption})}



流線・ポテンシャル(スペクトルデータ)から速度場(格子データ)に (逆)変換する(1 層用, M\+PI) 

スペクトル変換を用いず微分を計算するために, 変換回数が 2 回ですむ. \begin{align*} u \cosφ &= ∂χ/∂λ - \cosφ∂ψ/∂φ, \\ v \cosφ &= \cosφ∂χ/∂φ + ∂ψ/∂λ \end{align*}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w\+\_\+psi} & 流線関数\\
\hline
\mbox{\tt in}  & {\em w\+\_\+chi} & 速度ポテンシャル\\
\hline
\mbox{\tt out}  & {\em xv\+\_\+u} & 速度経度成分\\
\hline
\mbox{\tt out}  & {\em xv\+\_\+v} & 速度緯度成分 \\
\hline
\end{DoxyParams}


Definition at line 473 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References icom, im, it, jc, jl, jm, mm, nm, nn, p, r, and t.


\begin{DoxyCode}
473 
474     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}   :: w\_psi(nc)
476     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}   :: w\_chi(nc)
478     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(out)}   :: xv\_u(0:im-1,1:jl)
480     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(out)}   :: xv\_v(0:im-1,1:jl)
481 
482     \textcolor{keywordtype}{real(DP)}             :: w\_rdata1((mm/np+1)*(2*(nm+1)-mm/np*np))
483     \textcolor{keywordtype}{real(DP)}             :: w\_rdata2((mm/np+1)*(2*(nm+1)-mm/np*np))
484     \textcolor{comment}{! 作業用スペクトルデータ(SYTS2G 出力用)}
485     \textcolor{keywordtype}{real(DP)}             :: w\_xdata((mm/np+1)*(2*(nn+1)-mm/np*np))
486     \textcolor{comment}{! 作業用スペクトルデータ(SYCS2X 出力用)}
487     \textcolor{keywordtype}{real(DP)}             :: w\_ydata((mm/np+1)*(2*(nm+1)-mm/np*np))
488     \textcolor{comment}{! 作業用スペクトルデータ(SYCS2Y 出力用)}
489 
490     \textcolor{keywordflow}{if} ( .not. w\_base\_mpi\_initialize ) \textcolor{keywordflow}{then}
491       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'w\_StreamPotential2VectorMPI'},&
492         \textcolor{stringliteral}{'w\_base\_module not initialize yet.'})
493 \textcolor{keywordflow}{    endif}
494     \textcolor{comment}{!}
495     \textcolor{comment}{!   u cosφ = ∂χ/∂λ - cosφ∂ψ/∂φ}
496     \textcolor{comment}{!}
497     \textcolor{keyword}{call }sycs2x(mm,nn,w\_chi,w\_xdata,icom)
498     \textcolor{keyword}{call }sycs2y(mm,nn,w\_psi,w\_ydata,c,icom)
499     \textcolor{keyword}{call }sycrpk(mm,nn,nm,w\_xdata,w\_rdata1,icom)
500     w\_rdata1 = w\_rdata1 - w\_ydata
501     \textcolor{comment}{!}
502     \textcolor{comment}{!   v cosφ = cosφ∂χ/∂φ + ∂ψ/∂λ}
503     \textcolor{comment}{!}
504     \textcolor{keyword}{call }sycs2y(mm,nn,w\_chi,w\_ydata,c,icom)
505     \textcolor{keyword}{call }sycs2x(mm,nn,w\_psi,w\_xdata,icom)
506     \textcolor{keyword}{call }sycrpk(mm,nn,nm,w\_xdata,w\_rdata2,icom)
507     w\_rdata2= w\_rdata2 + w\_ydata
508     \textcolor{comment}{!}
509     \textcolor{keyword}{call }syts2v(mm,nm,nm,im,jm,jv, &
510       & w\_rdata1,w\_rdata2,g1,g2,it,t,p,r,jc,ww,1\_8,icom)
511     \textcolor{comment}{! u}
512     xv\_u = g1(:,1:jl)
513     \textcolor{comment}{! v}
514     xv\_v = g2(:,1:jl)
515 
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a15326f414093545618c681f41166ac70}\label{namespacew__mpi__module__base_a15326f414093545618c681f41166ac70}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!w\+\_\+vector2vordivmpi@{w\+\_\+vector2vordivmpi}}
\index{w\+\_\+vector2vordivmpi@{w\+\_\+vector2vordivmpi}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{w\+\_\+vector2vordivmpi()}{w\_vector2vordivmpi()}}
{\footnotesize\ttfamily subroutine, public w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+vector2vordivmpi (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:\hyperlink{namespacew__mpi__module__base_aa750b5cf518a6c9d727222f8f48abfa7}{im}-\/1,1\+:\hyperlink{namespacew__mpi__module__base_a3d7dfd2e961ec614e9616b52cd57db4c}{jl}), intent(in)}]{xv\+\_\+U,  }\item[{real(dp), dimension(0\+:\hyperlink{namespacew__mpi__module__base_aa750b5cf518a6c9d727222f8f48abfa7}{im}-\/1,1\+:\hyperlink{namespacew__mpi__module__base_a3d7dfd2e961ec614e9616b52cd57db4c}{jl}), intent(in)}]{xv\+\_\+V,  }\item[{real(dp), dimension(\hyperlink{namespacew__mpi__module__base_ab592cd691b8f91f3779f0b080f892973}{nc}), intent(out)}]{w\+\_\+\+Vor,  }\item[{real(dp), dimension(\hyperlink{namespacew__mpi__module__base_ab592cd691b8f91f3779f0b080f892973}{nc}), intent(out)}]{w\+\_\+\+Div }\end{DoxyParamCaption})}



速度場(格子データ)から渦度・発散(スペクトルデータ)に (正)変換する(1 層用, M\+PI) 

スペクトル変換を用いず微分を計算するために, 変換回数が 2 回ですむ. \begin{align*} ζ & = 1/\cosφ∂v/∂λ - 1/\cosφ ∂(u \cosφ)/∂φ, \\ D & = 1/\cosφ∂u/∂λ + 1/\cosφ ∂(v \cosφ)/∂φ \end{align*}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em xv\+\_\+u} & 速度経度成分\\
\hline
\mbox{\tt in}  & {\em xv\+\_\+v} & 速度緯度成分\\
\hline
\mbox{\tt out}  & {\em w\+\_\+vor} & 流線関数\\
\hline
\mbox{\tt out}  & {\em w\+\_\+div} & 速度ポテンシャル \\
\hline
\end{DoxyParams}


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



References icom, im, it, jc, jl, jm, mm, nm, nn, p, r, and t.


\begin{DoxyCode}
529 
530     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}   :: xv\_u(0:im-1,1:jl)
532     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}   :: xv\_v(0:im-1,1:jl)
534     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(out)}  :: w\_vor(nc)
536     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(out)}  :: w\_div(nc)
537 
538     \textcolor{keywordtype}{real(DP)}             :: w\_xdata((mm/np+1)*(2*(nn+1)-mm/np*np))
539     \textcolor{comment}{! 作業用スペクトルデータ(SUCS2X 出力用)}
540     \textcolor{keywordtype}{real(DP)}             :: w\_ydata1((mm/np+1)*(2*(nm+1)-mm/np*np))
541     \textcolor{keywordtype}{real(DP)}             :: w\_ydata2((mm/np+1)*(2*(nm+1)-mm/np*np))
542     \textcolor{comment}{! 作業用スペクトルデータ(SUCS2Y 出力用)}
543     \textcolor{keywordtype}{real(DP)}             :: w\_data1((mm/np+1)*(2*(nn+1)-mm/np*np))
544     \textcolor{keywordtype}{real(DP)}             :: w\_data2((mm/np+1)*(2*(nn+1)-mm/np*np))
545 
546     \textcolor{keywordflow}{if} ( .not. w\_base\_mpi\_initialize ) \textcolor{keywordflow}{then}
547       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'w\_Vector2VorDivMPI'},&
548         \textcolor{stringliteral}{'w\_base\_module not initialize yet.'})
549 \textcolor{keywordflow}{    endif}
550     \textcolor{comment}{!}
551     \textcolor{comment}{! 1/cosφ∂u/∂λ, 1/cosφ ∂(u cosφ)/∂φ}
552     \textcolor{comment}{!}
553     g1 = 0.0d0 ; g1(:,1:jl) = xv\_u
554     g2 = 0.0d0 ; g2(:,1:jl) = xv\_v
555     \textcolor{keyword}{call }sytv2s(mm,nm,nn+1,im,jm,jv,&
556       & w\_ydata1,w\_ydata2,g1,g2,it,t,p,r,jc,ww,1\_8,icom)
557 
558     \textcolor{keyword}{call }sycrpk(mm,nm,nn,w\_ydata1,w\_xdata,icom)
559     \textcolor{keyword}{call }sycs2x(mm,nn,w\_xdata,w\_div,icom)
560     \textcolor{keyword}{call }sycy2s(mm,nn,w\_ydata2,w\_data2,c,icom)
561     \textcolor{comment}{!}
562     \textcolor{comment}{! 1/cosφ∂v/∂λ, 1/cosφ ∂(v cosφ)/∂φ}
563     \textcolor{comment}{!}
564     \textcolor{keyword}{call }sycrpk(mm,nm,nn,w\_ydata2,w\_xdata,icom)
565     \textcolor{keyword}{call }sycs2x(mm,nn,w\_xdata,w\_vor,icom)
566     \textcolor{keyword}{call }sycy2s(mm,nn,w\_ydata1,w\_data1,c,icom)
567     \textcolor{comment}{!}
568     \textcolor{comment}{!  渦度・発散の計算}
569     \textcolor{comment}{!}
570     \textcolor{comment}{!   ζ = 1/cosφ∂v/∂λ - 1/cosφ ∂(u cosφ)/∂φ}
571     \textcolor{comment}{!    D = 1/cosφ∂u/∂λ + 1/cosφ ∂(v cosφ)/∂φ}
572     \textcolor{comment}{!}
573     w\_vor = w\_vor - w\_data1
574     w\_div = w\_div + w\_data2
575 
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a843761fce9a1f561f1e84a2ce7fc7456}\label{namespacew__mpi__module__base_a843761fce9a1f561f1e84a2ce7fc7456}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!w\+\_\+vectorcoslat2vordivmpi@{w\+\_\+vectorcoslat2vordivmpi}}
\index{w\+\_\+vectorcoslat2vordivmpi@{w\+\_\+vectorcoslat2vordivmpi}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{w\+\_\+vectorcoslat2vordivmpi()}{w\_vectorcoslat2vordivmpi()}}
{\footnotesize\ttfamily subroutine, public w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+vectorcoslat2vordivmpi (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:\hyperlink{namespacew__mpi__module__base_aa750b5cf518a6c9d727222f8f48abfa7}{im}-\/1,1\+:\hyperlink{namespacew__mpi__module__base_a3d7dfd2e961ec614e9616b52cd57db4c}{jl}), intent(in)}]{xv\+\_\+\+U\+Cos\+Lat,  }\item[{real(dp), dimension(0\+:\hyperlink{namespacew__mpi__module__base_aa750b5cf518a6c9d727222f8f48abfa7}{im}-\/1,1\+:\hyperlink{namespacew__mpi__module__base_a3d7dfd2e961ec614e9616b52cd57db4c}{jl}), intent(in)}]{xv\+\_\+\+V\+Cos\+Lat,  }\item[{real(dp), dimension(\hyperlink{namespacew__mpi__module__base_ab592cd691b8f91f3779f0b080f892973}{nc}), intent(out)}]{w\+\_\+\+Vor,  }\item[{real(dp), dimension(\hyperlink{namespacew__mpi__module__base_ab592cd691b8f91f3779f0b080f892973}{nc}), intent(out)}]{w\+\_\+\+Div }\end{DoxyParamCaption})}



速度場(格子データ)から渦度・発散(スペクトルデータ)に (正)変換する(1 層用, M\+PI) 

スペクトル変換を用いず微分を計算するために, 変換回数が 2 回ですむ. \begin{align*} ζ & = 1/\cosφ∂v/∂λ - 1/\cosφ ∂(u \cosφ)/∂φ, \\ D & = 1/\cosφ∂u/∂λ + 1/\cosφ ∂(v \cosφ)/∂φ \end{align*}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em xv\+\_\+ucoslat} & 速度経度成分 $\ast$ cos(lat)\\
\hline
\mbox{\tt in}  & {\em xv\+\_\+vcoslat} & 速度緯度成分 $\ast$ cos(lat)\\
\hline
\mbox{\tt out}  & {\em w\+\_\+vor} & 流線関数\\
\hline
\mbox{\tt out}  & {\em w\+\_\+div} & 速度ポテンシャル \\
\hline
\end{DoxyParams}


Definition at line 589 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References icom, im, it, jc, jl, jm, mm, nm, nn, p, r, and t.


\begin{DoxyCode}
589 
590     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}   :: xv\_ucoslat(0:im-1,1:jl)
592     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}   :: xv\_vcoslat(0:im-1,1:jl)
594     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(out)}   :: w\_vor(nc)
596     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(out)}   :: w\_div(nc)
597 
598     \textcolor{keywordtype}{real(DP)}             :: w\_xdata((mm/np+1)*(2*(nn+1)-mm/np*np))
599     \textcolor{comment}{! 作業用スペクトルデータ(SUCS2X 出力用)}
600     \textcolor{keywordtype}{real(DP)}             :: w\_ydata1((mm/np+1)*(2*(nm+1)-mm/np*np))
601     \textcolor{keywordtype}{real(DP)}             :: w\_ydata2((mm/np+1)*(2*(nm+1)-mm/np*np))
602     \textcolor{comment}{! 作業用スペクトルデータ(SUCS2Y 出力用)}
603     \textcolor{keywordtype}{real(DP)}             :: w\_data1((mm/np+1)*(2*(nn+1)-mm/np*np))
604     \textcolor{keywordtype}{real(DP)}             :: w\_data2((mm/np+1)*(2*(nn+1)-mm/np*np))
605 
606     \textcolor{keywordflow}{if} ( .not. w\_base\_mpi\_initialize ) \textcolor{keywordflow}{then}
607       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'w\_VectorCosLat2VorDivMPI'},&
608         \textcolor{stringliteral}{'w\_base\_module not initialize yet.'})
609 \textcolor{keywordflow}{    endif}
610     \textcolor{comment}{!}
611     \textcolor{comment}{! 1/cosφ∂u/∂λ, 1/cosφ ∂(u cosφ)/∂φ の計算}
612     \textcolor{comment}{!}
613     g1 = 0.0d0 ; g1(:,1:jl) = xv\_ucoslat
614     g2 = 0.0d0 ; g2(:,1:jl) = xv\_vcoslat
615     \textcolor{keyword}{call }sytv2s(mm,nm,nn+1,im,jm,jv,w\_ydata1,w\_ydata2,g1,g2,it,t,p,r,jc,ww,2\_8,icom)
616 
617     \textcolor{keyword}{call }sycrpk(mm,nm,nn,w\_ydata1,w\_xdata,icom)
618     \textcolor{keyword}{call }sycs2x(mm,nn,w\_xdata,w\_div,icom)
619     \textcolor{keyword}{call }sycy2s(mm,nn,w\_ydata2,w\_data2,c,icom)
620     \textcolor{comment}{!}
621     \textcolor{comment}{! 1/cosφ∂v/∂λ, 1/cosφ ∂(v cosφ)/∂φ の計算}
622     \textcolor{comment}{!}
623     \textcolor{keyword}{call }sycrpk(mm,nm,nn,w\_ydata2,w\_xdata,icom)
624     \textcolor{keyword}{call }sycs2x(mm,nn,w\_xdata,w\_vor,icom)
625     \textcolor{keyword}{call }sycy2s(mm,nn,w\_ydata1,w\_data1,c,icom)
626     \textcolor{comment}{!}
627     \textcolor{comment}{!  渦度・発散の計算}
628     \textcolor{comment}{!}
629     \textcolor{comment}{!   ζ = 1/cosφ∂v/∂λ - 1/cosφ ∂(u cosφ)/∂φ}
630     \textcolor{comment}{!    D = 1/cosφ∂u/∂λ + 1/cosφ ∂(v cosφ)/∂φ}
631     \textcolor{comment}{!}
632     w\_vor = w\_vor - w\_data1
633     w\_div = w\_div + w\_data2
634 
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a8437d71392fa94854209b7898dc2dd99}\label{namespacew__mpi__module__base_a8437d71392fa94854209b7898dc2dd99}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!w\+\_\+xv@{w\+\_\+xv}}
\index{w\+\_\+xv@{w\+\_\+xv}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{w\+\_\+xv()}{w\_xv()}}
{\footnotesize\ttfamily real(dp) function, dimension(\hyperlink{namespacew__mpi__module__base_ab592cd691b8f91f3779f0b080f892973}{nc}), public w\+\_\+mpi\+\_\+module\+\_\+base\+::w\+\_\+xv (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:\hyperlink{namespacew__mpi__module__base_aa750b5cf518a6c9d727222f8f48abfa7}{im}-\/1,1\+:\hyperlink{namespacew__mpi__module__base_a3d7dfd2e961ec614e9616b52cd57db4c}{jl}), intent(in)}]{xv\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



格子データからスペクトルデータへ(正)変換する(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em xv\+\_\+data} & 格子点データ\\
\hline
\mbox{\tt in}  & {\em ipow} & 変換時に同時に作用させる $1/\cosφ$ の次数. 省略時は 0.\\
\hline
\mbox{\tt in}  & {\em iflag} & 変換の種類. 省略時は 0.
\begin{DoxyItemize}
\item 0 \+: 通常の正変換
\item -\/1 \+: 経度微分を作用させた正変換
\item 1 \+: 緯度微分 $1/\cosφ・∂(f \cos^2φ)/∂φ$ を作用させた正変換
\item 2 \+: $\sinφ$を作用させた正変換
\end{DoxyItemize}\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
スペクトルデータ 
\end{DoxyReturn}


Definition at line 401 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References icom, im, it, jc, jl, jm, mm, nm, nn, p, r, t, and xv\+\_\+lat.


\begin{DoxyCode}
401 
402     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}   :: xv\_data(0:im-1,1:jl)
404     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
411     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
413     \textcolor{keywordtype}{real(DP)}               :: w\_xv(nc)
414 
415 
416     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0    \textcolor{comment}{! スイッチデフォルト値}
417     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0    \textcolor{comment}{! スイッチデフォルト値}
418 
419     \textcolor{keywordtype}{integer(8)} :: ipval, ifval
420 
421     \textcolor{comment}{! 作業用スペクトルデータ(SYCS2X 出力用)}
422     \textcolor{keywordtype}{real(DP)}             :: w\_xdata((mm/np+1)*(2*(nn+1)-mm/np*np))
423     \textcolor{comment}{! 作業用スペクトルデータ(SYCS2Y 出力用)}
424     \textcolor{keywordtype}{real(DP)}             :: w\_ydata((mm/np+1)*(2*(nm+1)-mm/np*np))
425 
426     \textcolor{keywordflow}{if} ( .not. w\_base\_mpi\_initialize ) \textcolor{keywordflow}{then}
427       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'xv\_w'},&
428         \textcolor{stringliteral}{'w\_base\_mpi\_module not initialize yet.'})
429 \textcolor{keywordflow}{    endif}
430 
431     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
432       ipval = ipow
433     \textcolor{keywordflow}{else}
434       ipval = ipow\_default
435 \textcolor{keywordflow}{    endif}
436 
437     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
438       ifval = iflag
439     \textcolor{keywordflow}{else}
440       ifval = iflag\_default
441 \textcolor{keywordflow}{    endif}
442 
443     \textcolor{keywordflow}{if} ( ifval == 0 ) \textcolor{keywordflow}{then}
444       g = 0.0d0 ; g(:,1:jl) = xv\_data
445       \textcolor{keyword}{call }sytg2s(mm,nm,nn,im,jm,jv,w\_xv,g,it,t,p,r,jc,w,ipval,icom)
446     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} ( ifval == -1 ) \textcolor{keywordflow}{then}
447       g = 0.0d0 ; g(:,1:jl) = xv\_data
448       \textcolor{keyword}{call }sytg2s(mm,nm,nn,im,jm,jv,w\_xdata,g,it,t,p,r,jc,w,ipval,icom)
449       \textcolor{keyword}{call }sycs2x(mm,nn,w\_xdata,w\_xv,icom)
450     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} ( ifval == 1 ) \textcolor{keywordflow}{then}
451       g = 0.0d0 ; g(:,1:jl) = xv\_data
452       \textcolor{keyword}{call }sytg2s(mm,nm,nm,im,jm,jv,w\_ydata,g,it,t,p,r,jc,w,ipval,icom)
453       \textcolor{keyword}{call }sycy2s(mm,nn,w\_ydata,w\_xv,c,icom)
454     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} ( ifval == 2 ) \textcolor{keywordflow}{then}
455       g = 0.0d0 ; g(:,1:jl) = xv\_data*sin(xv\_lat)
456       \textcolor{keyword}{call }sytg2s(mm,nm,nn,im,jm,jv,w\_xv,g,it,t,p,r,jc,w,ipval,icom)
457 \textcolor{keywordflow}{    end if}
458 
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_af3c71ab39dece6b5a1016ba418f8371b}\label{namespacew__mpi__module__base_af3c71ab39dece6b5a1016ba418f8371b}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!xv\+\_\+w@{xv\+\_\+w}}
\index{xv\+\_\+w@{xv\+\_\+w}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{xv\+\_\+w()}{xv\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:\hyperlink{namespacew__mpi__module__base_aa750b5cf518a6c9d727222f8f48abfa7}{im}-\/1,1\+:\hyperlink{namespacew__mpi__module__base_a3d7dfd2e961ec614e9616b52cd57db4c}{jl}), public w\+\_\+mpi\+\_\+module\+\_\+base\+::xv\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension(\hyperlink{namespacew__mpi__module__base_ab592cd691b8f91f3779f0b080f892973}{nc}), intent(in)}]{w\+\_\+data,  }\item[{integer, intent(in), optional}]{ipow,  }\item[{integer, intent(in), optional}]{iflag }\end{DoxyParamCaption})}



スペクトルデータから格子データへ変換する(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w\+\_\+data} & スペクトルデータ\\
\hline
\mbox{\tt in}  & {\em ipow} & 作用させる $1/\cosφ$ の次数. 省略時は 0.\\
\hline
\mbox{\tt in}  & {\em iflag} & 変換の種類\+: 省略時は 0.
\begin{DoxyItemize}
\item 0 \+: 通常の逆変換
\item -\/1 \+: 経度微分を作用させた逆変換
\item 1 \+: 緯度微分 $\cosφ・∂/∂φ$ を作用させた逆変換
\item 2 \+: $\sinφ$を作用させた逆変換
\end{DoxyItemize}\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
格子点データ 
\end{DoxyReturn}


Definition at line 337 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.



References icom, im, it, jc, jl, jm, mm, nm, nn, p, r, t, and xv\+\_\+lat.


\begin{DoxyCode}
337 
338     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}   :: w\_data(nc)
340     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: ipow
346     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: iflag
348     \textcolor{keywordtype}{real(DP)}               :: xv\_w(0:im-1,1:jl)
349 
350     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: ipow\_default  = 0
351     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}  :: iflag\_default = 0
352 
353     \textcolor{keywordtype}{integer(8)} :: ipval, ifval
354 
355     \textcolor{comment}{! 作業用スペクトルデータ(SYCS2X 出力用)}
356     \textcolor{keywordtype}{real(DP)}             :: w\_xdata((mm/np+1)*(2*(nn+1)-mm/np*np))
357     \textcolor{comment}{! 作業用スペクトルデータ(SYCS2Y 出力用)}
358     \textcolor{keywordtype}{real(DP)}             :: w\_ydata((mm/np+1)*(2*(nm+1)-mm/np*np))
359 
360     \textcolor{keywordflow}{if} ( .not. w\_base\_mpi\_initialize ) \textcolor{keywordflow}{then}
361       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'xv\_w'},&
362         \textcolor{stringliteral}{'w\_base\_mpi\_module not initialize yet.'})
363 \textcolor{keywordflow}{    endif}
364 
365     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(ipow)) \textcolor{keywordflow}{then}
366       ipval = ipow
367     \textcolor{keywordflow}{else}
368       ipval = ipow\_default
369 \textcolor{keywordflow}{    endif}
370 
371     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(iflag)) \textcolor{keywordflow}{then}
372       ifval = iflag
373     \textcolor{keywordflow}{else}
374       ifval = iflag\_default
375 \textcolor{keywordflow}{    endif}
376 
377     \textcolor{keywordflow}{if} ( ifval==0 ) \textcolor{keywordflow}{then}
378       \textcolor{keyword}{call }syts2g(mm,nm,nn,im,jm,jv,w\_data,g,it,t,p,r,jc,w,ipval,icom)
379       xv\_w = g(:,1:jl)
380     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if}( ifval == -1 ) \textcolor{keywordflow}{then}
381       \textcolor{keyword}{call }sycs2x(mm,nn,w\_data,w\_xdata,icom)
382       \textcolor{keyword}{call }syts2g(mm,nm,nn,im,jm,jv,w\_xdata,g,it,t,p,r,jc,w,ipval,icom)
383       xv\_w = g(:,1:jl)
384     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if}( ifval == 1 ) \textcolor{keywordflow}{then}
385       \textcolor{keyword}{call }sycs2y(mm,nn,w\_data,w\_ydata,c,icom)
386       \textcolor{keyword}{call }syts2g(mm,nm,nm,im,jm,jv,w\_ydata,g,it,t,p,r,jc,w,ipval,icom)
387       xv\_w = g(:,1:jl)
388     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if}( ifval == 2 ) \textcolor{keywordflow}{then}
389       \textcolor{keyword}{call }syts2g(mm,nm,nn,im,jm,jv,w\_data,g,it,t,p,r,jc,w,ipval,icom)
390       xv\_w = g(:,1:jl)*sin(xv\_lat)
391     \textcolor{keywordflow}{else}
392       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'xv\_w'},\textcolor{stringliteral}{'invalid value of iflag'})
393 \textcolor{keywordflow}{    endif}
394 
\end{DoxyCode}


\subsection{Variable Documentation}
\mbox{\Hypertarget{namespacew__mpi__module__base_af5e3db67c239a3e8b2a850ac73abf702}\label{namespacew__mpi__module__base_af5e3db67c239a3e8b2a850ac73abf702}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!icom@{icom}}
\index{icom@{icom}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{icom}{icom}}
{\footnotesize\ttfamily integer(8), save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::icom}



コミュニケータ 



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


\begin{DoxyCode}
86   \textcolor{keywordtype}{integer(8)}              :: icom
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_aa750b5cf518a6c9d727222f8f48abfa7}\label{namespacew__mpi__module__base_aa750b5cf518a6c9d727222f8f48abfa7}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!im@{im}}
\index{im@{im}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{im}{im}}
{\footnotesize\ttfamily integer(8), save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::im =64}



格子点の設定(東西) 



Definition at line 56 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
56   \textcolor{keywordtype}{integer(8)}              :: im=64
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a0521d9abdcd00560146fa9bd257fdb4d}\label{namespacew__mpi__module__base_a0521d9abdcd00560146fa9bd257fdb4d}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!ip@{ip}}
\index{ip@{ip}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{ip}{ip}}
{\footnotesize\ttfamily integer, save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::ip}



M\+PI プロセス番号 



Definition at line 108 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
108   \textcolor{keywordtype}{integer}                 :: ip
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a8c5519e5496969ee7a701f06777d72de}\label{namespacew__mpi__module__base_a8c5519e5496969ee7a701f06777d72de}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!it@{it}}
\index{it@{it}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{it}{it}}
{\footnotesize\ttfamily integer(8), dimension(\+:), allocatable, save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::it}



変換用配列 



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


\begin{DoxyCode}
88   \textcolor{keywordtype}{integer(8)}, \textcolor{keywordtype}{allocatable} :: it(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_aa05ba597bf438210e6d593f01220d1df}\label{namespacew__mpi__module__base_aa05ba597bf438210e6d593f01220d1df}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!j1@{j1}}
\index{j1@{j1}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{j1}{j1}}
{\footnotesize\ttfamily integer(8), save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::j1}



分散配置用変数 



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


\begin{DoxyCode}
98   \textcolor{keywordtype}{integer(8)}              :: j1
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a314a50bfc7f6f6a9de03e8640d84f18e}\label{namespacew__mpi__module__base_a314a50bfc7f6f6a9de03e8640d84f18e}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!j2@{j2}}
\index{j2@{j2}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{j2}{j2}}
{\footnotesize\ttfamily integer(8), save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::j2}



分散配置用変数 



Definition at line 100 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
100   \textcolor{keywordtype}{integer(8)}              :: j2
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a4e95d6c32cbce40f4047c6332ce6f46b}\label{namespacew__mpi__module__base_a4e95d6c32cbce40f4047c6332ce6f46b}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!jc@{jc}}
\index{jc@{jc}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{jc}{jc}}
{\footnotesize\ttfamily integer(8), dimension(\+:), allocatable, save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::jc}



変換用配列 



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


\begin{DoxyCode}
90   \textcolor{keywordtype}{integer(8)}, \textcolor{keywordtype}{allocatable} :: jc(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a3d7dfd2e961ec614e9616b52cd57db4c}\label{namespacew__mpi__module__base_a3d7dfd2e961ec614e9616b52cd57db4c}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!jl@{jl}}
\index{jl@{jl}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{jl}{jl}}
{\footnotesize\ttfamily integer, save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::jl}



分散格子データの大きさ 



Definition at line 102 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
102   \textcolor{keywordtype}{integer}                 :: jl
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a2b229672ec02d54aa8720cd2296723f0}\label{namespacew__mpi__module__base_a2b229672ec02d54aa8720cd2296723f0}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!jm@{jm}}
\index{jm@{jm}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{jm}{jm}}
{\footnotesize\ttfamily integer(8), save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::jm =32}



格子点の設定(南北) 



Definition at line 58 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
58   \textcolor{keywordtype}{integer(8)}              :: jm=32
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a8425e34ad804e0f42d95bf509cb17626}\label{namespacew__mpi__module__base_a8425e34ad804e0f42d95bf509cb17626}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!mm@{mm}}
\index{mm@{mm}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{mm}{mm}}
{\footnotesize\ttfamily integer(8), save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::mm}



切断波数(東西波数)の設定 



Definition at line 60 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
60   \textcolor{keywordtype}{integer(8)}              :: mm
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_ab592cd691b8f91f3779f0b080f892973}\label{namespacew__mpi__module__base_ab592cd691b8f91f3779f0b080f892973}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!nc@{nc}}
\index{nc@{nc}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nc}{nc}}
{\footnotesize\ttfamily integer, save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::nc}



分散スペクトルデータの大きさ 



Definition at line 104 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
104   \textcolor{keywordtype}{integer}                 :: nc
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a2394d4ea48fd8016698745debaaf65eb}\label{namespacew__mpi__module__base_a2394d4ea48fd8016698745debaaf65eb}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!nm@{nm}}
\index{nm@{nm}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nm}{nm}}
{\footnotesize\ttfamily integer(8), save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::nm}



計算する最大の全波数の設定 



Definition at line 64 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
64   \textcolor{keywordtype}{integer(8)}              :: nm
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a306a78f85237328517087aae0cf2278a}\label{namespacew__mpi__module__base_a306a78f85237328517087aae0cf2278a}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!nn@{nn}}
\index{nn@{nn}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{nn}{nn}}
{\footnotesize\ttfamily integer(8), save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::nn}



切断波数(全波数)の設定 



Definition at line 62 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
62   \textcolor{keywordtype}{integer(8)}              :: nn
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_ad6e4677d45a8306c58f581ef5ccd363c}\label{namespacew__mpi__module__base_ad6e4677d45a8306c58f581ef5ccd363c}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!np@{np}}
\index{np@{np}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{np}{np}}
{\footnotesize\ttfamily integer, save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::np}



M\+PI プロセス数 



Definition at line 106 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
106   \textcolor{keywordtype}{integer}                 :: np
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_ae4b015764a79f414de33dcbd01484ede}\label{namespacew__mpi__module__base_ae4b015764a79f414de33dcbd01484ede}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!p@{p}}
\index{p@{p}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{p}{p}}
{\footnotesize\ttfamily real(dp), dimension(\+:,\+:), pointer, save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::p}



変換用配列 



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


\begin{DoxyCode}
96   \textcolor{keywordtype}{real(DP)},   \textcolor{keywordtype}{pointer}     :: p(:,:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a1ed2fa41d296057ce767d1d4a02bed88}\label{namespacew__mpi__module__base_a1ed2fa41d296057ce767d1d4a02bed88}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!r@{r}}
\index{r@{r}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{r}{r}}
{\footnotesize\ttfamily real(dp), dimension(\+:), allocatable, save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::r}



変換用配列 



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


\begin{DoxyCode}
94   \textcolor{keywordtype}{real(DP)},   \textcolor{keywordtype}{allocatable} :: r(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_aaef0c94ed2ea40df2026dd69c5ce5039}\label{namespacew__mpi__module__base_aaef0c94ed2ea40df2026dd69c5ce5039}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!t@{t}}
\index{t@{t}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{t}{t}}
{\footnotesize\ttfamily real(dp), dimension(\+:), allocatable, save, public w\+\_\+mpi\+\_\+module\+\_\+base\+::t}



変換用配列 



Definition at line 92 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
92   \textcolor{keywordtype}{real(DP)},   \textcolor{keywordtype}{allocatable} :: t(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_ad610bc790b82eefa025e56ce5323efeb}\label{namespacew__mpi__module__base_ad610bc790b82eefa025e56ce5323efeb}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!v\+\_\+lat@{v\+\_\+lat}}
\index{v\+\_\+lat@{v\+\_\+lat}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{v\+\_\+lat}{v\_lat}}
{\footnotesize\ttfamily real(dp), dimension(\+:), allocatable, public w\+\_\+mpi\+\_\+module\+\_\+base\+::v\+\_\+lat}



緯度座標分散格子点 



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


\begin{DoxyCode}
70   \textcolor{keywordtype}{real(DP)},   \textcolor{keywordtype}{allocatable} :: v\_lat(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a4e11ba6f50fd2ab37e67507800b4ebb4}\label{namespacew__mpi__module__base_a4e11ba6f50fd2ab37e67507800b4ebb4}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!v\+\_\+lat\+\_\+weight@{v\+\_\+lat\+\_\+weight}}
\index{v\+\_\+lat\+\_\+weight@{v\+\_\+lat\+\_\+weight}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{v\+\_\+lat\+\_\+weight}{v\_lat\_weight}}
{\footnotesize\ttfamily real(dp), dimension(\+:), allocatable, public w\+\_\+mpi\+\_\+module\+\_\+base\+::v\+\_\+lat\+\_\+weight}



緯度座標分散格子点重み 



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


\begin{DoxyCode}
72   \textcolor{keywordtype}{real(DP)},   \textcolor{keywordtype}{allocatable} :: v\_lat\_weight(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a072b71533174027ae9d27c2f1ff0f2fb}\label{namespacew__mpi__module__base_a072b71533174027ae9d27c2f1ff0f2fb}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!x\+\_\+lon@{x\+\_\+lon}}
\index{x\+\_\+lon@{x\+\_\+lon}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{x\+\_\+lon}{x\_lon}}
{\footnotesize\ttfamily real(dp), dimension(\+:), allocatable, public w\+\_\+mpi\+\_\+module\+\_\+base\+::x\+\_\+lon}



経度座標格子点 



Definition at line 66 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
66   \textcolor{keywordtype}{real(DP)},   \textcolor{keywordtype}{allocatable} :: x\_lon(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a6ba4addf173c21cc9324d9d1ca54053a}\label{namespacew__mpi__module__base_a6ba4addf173c21cc9324d9d1ca54053a}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!x\+\_\+lon\+\_\+weight@{x\+\_\+lon\+\_\+weight}}
\index{x\+\_\+lon\+\_\+weight@{x\+\_\+lon\+\_\+weight}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{x\+\_\+lon\+\_\+weight}{x\_lon\_weight}}
{\footnotesize\ttfamily real(dp), dimension(\+:), allocatable, public w\+\_\+mpi\+\_\+module\+\_\+base\+::x\+\_\+lon\+\_\+weight}



経度座標格子点重み 



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


\begin{DoxyCode}
68   \textcolor{keywordtype}{real(DP)},   \textcolor{keywordtype}{allocatable} :: x\_lon\_weight(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_aeea6ed2d8858448c1eb88e3b40cdce8b}\label{namespacew__mpi__module__base_aeea6ed2d8858448c1eb88e3b40cdce8b}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!xv\+\_\+lat@{xv\+\_\+lat}}
\index{xv\+\_\+lat@{xv\+\_\+lat}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{xv\+\_\+lat}{xv\_lat}}
{\footnotesize\ttfamily real(dp), dimension(\+:,\+:), allocatable, public w\+\_\+mpi\+\_\+module\+\_\+base\+::xv\+\_\+lat}



分散座標緯度格子点, 2次元配列 



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


\begin{DoxyCode}
80   \textcolor{keywordtype}{real(DP)},   \textcolor{keywordtype}{allocatable} :: xv\_lat(:,:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_aae7c556f825b8898424456421c6b5564}\label{namespacew__mpi__module__base_aae7c556f825b8898424456421c6b5564}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!xv\+\_\+lon@{xv\+\_\+lon}}
\index{xv\+\_\+lon@{xv\+\_\+lon}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{xv\+\_\+lon}{xv\_lon}}
{\footnotesize\ttfamily real(dp), dimension(\+:,\+:), allocatable, public w\+\_\+mpi\+\_\+module\+\_\+base\+::xv\+\_\+lon}



分散座標経度格子点, 2次元配列 



Definition at line 78 of file w\+\_\+mpi\+\_\+module\+\_\+base.\+f90.


\begin{DoxyCode}
78   \textcolor{keywordtype}{real(DP)},   \textcolor{keywordtype}{allocatable} :: xv\_lon(:,:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_aa21774d521bd62be2746c359c9e6ec9b}\label{namespacew__mpi__module__base_aa21774d521bd62be2746c359c9e6ec9b}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!xy\+\_\+lat@{xy\+\_\+lat}}
\index{xy\+\_\+lat@{xy\+\_\+lat}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{xy\+\_\+lat}{xy\_lat}}
{\footnotesize\ttfamily real(dp), dimension(\+:,\+:), allocatable, public w\+\_\+mpi\+\_\+module\+\_\+base\+::xy\+\_\+lat}



座標緯度格子点, 2次元配列 



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


\begin{DoxyCode}
84   \textcolor{keywordtype}{real(DP)},   \textcolor{keywordtype}{allocatable} :: xy\_lat(:,:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a944d0cb65b11e2709ec56f34e7da8e36}\label{namespacew__mpi__module__base_a944d0cb65b11e2709ec56f34e7da8e36}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!xy\+\_\+lon@{xy\+\_\+lon}}
\index{xy\+\_\+lon@{xy\+\_\+lon}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{xy\+\_\+lon}{xy\_lon}}
{\footnotesize\ttfamily real(dp), dimension(\+:,\+:), allocatable, public w\+\_\+mpi\+\_\+module\+\_\+base\+::xy\+\_\+lon}



座標経度格子点, 2次元配列 



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


\begin{DoxyCode}
82   \textcolor{keywordtype}{real(DP)},   \textcolor{keywordtype}{allocatable} :: xy\_lon(:,:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a558a26a9e3991d3a1ee452a4558064ca}\label{namespacew__mpi__module__base_a558a26a9e3991d3a1ee452a4558064ca}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!y\+\_\+lat@{y\+\_\+lat}}
\index{y\+\_\+lat@{y\+\_\+lat}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{y\+\_\+lat}{y\_lat}}
{\footnotesize\ttfamily real(dp), dimension(\+:), allocatable, public w\+\_\+mpi\+\_\+module\+\_\+base\+::y\+\_\+lat}



緯度座標格子点 



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


\begin{DoxyCode}
74   \textcolor{keywordtype}{real(DP)},   \textcolor{keywordtype}{allocatable} :: y\_lat(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__mpi__module__base_a4786b3235b0aca80489c1eee6f3d03de}\label{namespacew__mpi__module__base_a4786b3235b0aca80489c1eee6f3d03de}} 
\index{w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}!y\+\_\+lat\+\_\+weight@{y\+\_\+lat\+\_\+weight}}
\index{y\+\_\+lat\+\_\+weight@{y\+\_\+lat\+\_\+weight}!w\+\_\+mpi\+\_\+module\+\_\+base@{w\+\_\+mpi\+\_\+module\+\_\+base}}
\subsubsection{\texorpdfstring{y\+\_\+lat\+\_\+weight}{y\_lat\_weight}}
{\footnotesize\ttfamily real(dp), dimension(\+:), allocatable, public w\+\_\+mpi\+\_\+module\+\_\+base\+::y\+\_\+lat\+\_\+weight}



緯度座標格子点重み 



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


\begin{DoxyCode}
76   \textcolor{keywordtype}{real(DP)},   \textcolor{keywordtype}{allocatable} :: y\_lat\_weight(:)
\end{DoxyCode}
