\hypertarget{namespacew__mpi__module__spectrum}{}\doxysection{w\+\_\+mpi\+\_\+module\+\_\+spectrum Module Reference}
\label{namespacew__mpi__module__spectrum}\index{w\_mpi\_module\_spectrum@{w\_mpi\_module\_spectrum}}


\doxysubsection{Detailed Description}
\mbox{\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 \mbox{\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}
本モジュールを直接呼ぶ事は想定されていないことに注意されたい． ユーザは \mbox{\hyperlink{namespacew__mpi__module}{w\+\_\+mpi\+\_\+module}} を呼ぶこと． 
\end{DoxyWarning}
\doxysubsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
real(dp) function, dimension(0\+:nm,-\/nm\+:nm), public \mbox{\hyperlink{namespacew__mpi__module__spectrum_ad675605d45cbbc355f46816d595ba8f3}{nm\+\_\+energyfromstreamfunc\+\_\+w}} (w\+\_\+\+Strfunc)
\begin{DoxyCompactList}\small\item\em 流線関数のスペクトルデータからエネルギーの球面調和函数成分 (スペクトル)を計算する(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:nm), public \mbox{\hyperlink{namespacew__mpi__module__spectrum_a3cce9f9de7512db2298728171c71ab25}{n\+\_\+energyfromstreamfunc\+\_\+w}} (w\+\_\+\+Strfunc)
\begin{DoxyCompactList}\small\item\em 流線関数のスペクトルデータから各全波数のエネルギー成分(スペクトル)を 計算する(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:nm,-\/nm\+:nm), public \mbox{\hyperlink{namespacew__mpi__module__spectrum_ab935c9bf0451a14ebde6d139c524be2f}{nm\+\_\+enstrophyfromstreamfunc\+\_\+w}} (w\+\_\+\+Strfunc)
\begin{DoxyCompactList}\small\item\em 流線関数のスペクトルデータからエンストロフィーの球面調和函数成分 (スペクトル)を計算する(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:nm), public \mbox{\hyperlink{namespacew__mpi__module__spectrum_af3309da6f286e23513f9f974c549e057}{n\+\_\+enstrophyfromstreamfunc\+\_\+w}} (w\+\_\+\+Strfunc)
\begin{DoxyCompactList}\small\item\em 流線関数のスペクトルデータから各全波数のエネルギー成分(スペクトル)を 計算する(1 層用) \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
real(dp), public \mbox{\hyperlink{namespacew__mpi__module__spectrum_a67c21a8ec84b7f2c0f0312a136c6fe45}{w\+\_\+spectrum\+\_\+vmiss}} = -\/999.\+000
\begin{DoxyCompactList}\small\item\em エネルギースペクトル(水平全波数 n, 帯状波数 m 空間) \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacew__mpi__module__spectrum_a3cce9f9de7512db2298728171c71ab25}\label{namespacew__mpi__module__spectrum_a3cce9f9de7512db2298728171c71ab25}} 
\index{w\_mpi\_module\_spectrum@{w\_mpi\_module\_spectrum}!n\_energyfromstreamfunc\_w@{n\_energyfromstreamfunc\_w}}
\index{n\_energyfromstreamfunc\_w@{n\_energyfromstreamfunc\_w}!w\_mpi\_module\_spectrum@{w\_mpi\_module\_spectrum}}
\doxysubsubsection{\texorpdfstring{n\_energyfromstreamfunc\_w()}{n\_energyfromstreamfunc\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:nm), public w\+\_\+mpi\+\_\+module\+\_\+spectrum\+::n\+\_\+energyfromstreamfunc\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension(nc), intent(in)}]{w\+\_\+\+Strfunc }\end{DoxyParamCaption})}



流線関数のスペクトルデータから各全波数のエネルギー成分(スペクトル)を 計算する(1 層用). 


\begin{DoxyItemize}
\item 全波数 n の流線関数のスペクトル成分 $ψ(n,m)$ から エネルギースペクトルは \[ \sum_{m=-nm}^{nm}(1/2)n(n+1)|ψ(n,m)|^2\] と計算される.
\item 全てのエネルギースペクトル成分の和に $4π$ をかけたものが 球面上での全エネルギーに等しい. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em w\+\_\+strfunc} & 流線関数(スペクトルデータ) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
エネルギースペクトル (水平全波数 n 空間) 
\end{DoxyReturn}

\end{DoxyItemize}

Definition at line 113 of file w\+\_\+mpi\+\_\+module\+\_\+spectrum.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{113 }
\DoxyCodeLine{114 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{intent(in)}      :: w\_Strfunc(nc)}
\DoxyCodeLine{116 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:nm)} :: n\_EnergyFromStreamfunc\_w}
\DoxyCodeLine{117 }
\DoxyCodeLine{118 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:nm)} :: n\_Work}
\DoxyCodeLine{119 }
\DoxyCodeLine{120     \textcolor{keywordtype}{integer}  :: l, n, m, nm\_ary(2)}
\DoxyCodeLine{121 \textcolor{keywordtype}{    real}(DP) :: factor}
\DoxyCodeLine{122     \textcolor{keywordtype}{integer} :: ierr}
\DoxyCodeLine{123 }
\DoxyCodeLine{124     n\_work = 0.0d0}
\DoxyCodeLine{125     \textcolor{keywordflow}{do} l=1,int(nc)}
\DoxyCodeLine{126       nm\_ary = nm\_l(l)}
\DoxyCodeLine{127       n = nm\_ary(1)}
\DoxyCodeLine{128       m = abs(nm\_ary(2))}
\DoxyCodeLine{129       \textcolor{keywordflow}{if} ( n .ge. 0 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{130         \textcolor{keywordflow}{if} ( m == 0 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{131           factor = 1.0d0}
\DoxyCodeLine{132         \textcolor{keywordflow}{else}}
\DoxyCodeLine{133           factor = 2.0d0}
\DoxyCodeLine{134 \textcolor{keywordflow}{        endif}}
\DoxyCodeLine{135         n\_work(n) = n\_work(n) \&}
\DoxyCodeLine{136           + factor * 0.5d0 * n*(n+1) * w\_strfunc(l)**2}
\DoxyCodeLine{137 \textcolor{keywordflow}{      endif}}
\DoxyCodeLine{138 \textcolor{keywordflow}{    enddo}}
\DoxyCodeLine{139 }
\DoxyCodeLine{140     \textcolor{keyword}{CALL }mpi\_allreduce(n\_work,               \&}
\DoxyCodeLine{141       \& n\_energyfromstreamfunc\_w, int(nm+1), \&}
\DoxyCodeLine{142       \& mpi\_real8, mpi\_sum, int(icom), ierr)}
\DoxyCodeLine{143 }

\end{DoxyCode}


References w\+\_\+mpi\+\_\+module\+\_\+base\+::icom, w\+\_\+mpi\+\_\+module\+\_\+base\+::nc, and w\+\_\+mpi\+\_\+module\+\_\+base\+::nm.

\mbox{\Hypertarget{namespacew__mpi__module__spectrum_af3309da6f286e23513f9f974c549e057}\label{namespacew__mpi__module__spectrum_af3309da6f286e23513f9f974c549e057}} 
\index{w\_mpi\_module\_spectrum@{w\_mpi\_module\_spectrum}!n\_enstrophyfromstreamfunc\_w@{n\_enstrophyfromstreamfunc\_w}}
\index{n\_enstrophyfromstreamfunc\_w@{n\_enstrophyfromstreamfunc\_w}!w\_mpi\_module\_spectrum@{w\_mpi\_module\_spectrum}}
\doxysubsubsection{\texorpdfstring{n\_enstrophyfromstreamfunc\_w()}{n\_enstrophyfromstreamfunc\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:nm), public w\+\_\+mpi\+\_\+module\+\_\+spectrum\+::n\+\_\+enstrophyfromstreamfunc\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension(nc), intent(in)}]{w\+\_\+\+Strfunc }\end{DoxyParamCaption})}



流線関数のスペクトルデータから各全波数のエネルギー成分(スペクトル)を 計算する(1 層用) 


\begin{DoxyItemize}
\item 全波数 n の流線関数のスペクトル成分ψ(n,m) からエンストロフィー スペクトルは \[\sum_{m=-nm}^{nm} (1/2)n^2(n+1)^2|ψ(n,m)|^2\] と計算される.
\item 全てのエネルギースペクトル成分の和に $4π/R^2$ をかけたものが 球面上での全エンストフィーに等しい. ここで $R$ は球面の半径である. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em w\+\_\+strfunc} & 流線関数(スペクトルデータ) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
エンストロフィースペクトル(水平全波数 n 空間) 
\end{DoxyReturn}

\end{DoxyItemize}

Definition at line 216 of file w\+\_\+mpi\+\_\+module\+\_\+spectrum.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{216 }
\DoxyCodeLine{217 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{intent(in)}      :: w\_Strfunc(nc)}
\DoxyCodeLine{219 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:nm)} :: n\_EnstrophyFromStreamfunc\_w}
\DoxyCodeLine{220 }
\DoxyCodeLine{221 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:nm)} :: n\_Work}
\DoxyCodeLine{222 }
\DoxyCodeLine{223     \textcolor{keywordtype}{integer} :: l, n, m, nm\_ary(2)}
\DoxyCodeLine{224 \textcolor{keywordtype}{    real}(DP) :: factor}
\DoxyCodeLine{225 }
\DoxyCodeLine{226     \textcolor{keywordtype}{integer} :: ierr}
\DoxyCodeLine{227 }
\DoxyCodeLine{228     n\_work = 0.0d0}
\DoxyCodeLine{229     \textcolor{keywordflow}{do} l=1,int(nc)}
\DoxyCodeLine{230       nm\_ary = nm\_l(l)}
\DoxyCodeLine{231       n = nm\_ary(1)}
\DoxyCodeLine{232       m = abs(nm\_ary(2))}
\DoxyCodeLine{233       \textcolor{keywordflow}{if} ( n .ge. 0 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{234         \textcolor{keywordflow}{if} ( m == 0 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{235           factor = 1.0d0}
\DoxyCodeLine{236         \textcolor{keywordflow}{else}}
\DoxyCodeLine{237           factor = 2.0d0}
\DoxyCodeLine{238 \textcolor{keywordflow}{        endif}}
\DoxyCodeLine{239         n\_work(n) = n\_work(n) \&}
\DoxyCodeLine{240           + factor * 0.5d0 * n**2 * (n+1)**2 * w\_strfunc(l)**2}
\DoxyCodeLine{241 \textcolor{keywordflow}{      endif}}
\DoxyCodeLine{242 \textcolor{keywordflow}{    enddo}}
\DoxyCodeLine{243 }
\DoxyCodeLine{244     \textcolor{keyword}{CALL }mpi\_allreduce(n\_work,                 \&}
\DoxyCodeLine{245       \& n\_enstrophyfromstreamfunc\_w,int(nm+1), \&}
\DoxyCodeLine{246       \& mpi\_real8, mpi\_sum, int(icom), ierr)}
\DoxyCodeLine{247 }

\end{DoxyCode}


References w\+\_\+mpi\+\_\+module\+\_\+base\+::icom, w\+\_\+mpi\+\_\+module\+\_\+base\+::nc, and w\+\_\+mpi\+\_\+module\+\_\+base\+::nm.

\mbox{\Hypertarget{namespacew__mpi__module__spectrum_ad675605d45cbbc355f46816d595ba8f3}\label{namespacew__mpi__module__spectrum_ad675605d45cbbc355f46816d595ba8f3}} 
\index{w\_mpi\_module\_spectrum@{w\_mpi\_module\_spectrum}!nm\_energyfromstreamfunc\_w@{nm\_energyfromstreamfunc\_w}}
\index{nm\_energyfromstreamfunc\_w@{nm\_energyfromstreamfunc\_w}!w\_mpi\_module\_spectrum@{w\_mpi\_module\_spectrum}}
\doxysubsubsection{\texorpdfstring{nm\_energyfromstreamfunc\_w()}{nm\_energyfromstreamfunc\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:nm,-\/nm\+:nm), public w\+\_\+mpi\+\_\+module\+\_\+spectrum\+::nm\+\_\+energyfromstreamfunc\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension(nc), intent(in)}]{w\+\_\+\+Strfunc }\end{DoxyParamCaption})}



流線関数のスペクトルデータからエネルギーの球面調和函数成分 (スペクトル)を計算する(1 層用). 


\begin{DoxyItemize}
\item 全波数 n, 帯状波数 m の流線関数のスペクトル成分 $ψ(n,m)$ から, エネルギースペクトルは $(1/2)n(n+1)|ψ(n,m)|^2$ と計算される.
\item 全てのエネルギースペクトル成分の和に $4π$をかけたものが 球面上での全エネルギーに等しい.
\item スペクトルの (n,m) 成分は全波数 n, 東西波数 m の実部成分, (n,-\/m) 成分は全波数 n, 東西波数 m の虚部成分が格納されている.
\item データの存在しない全波数 n, 帯状波数 m の配列には欠損値が格納される. 欠損値の値はモジュール変数 \mbox{\hyperlink{namespacew__mpi__module__spectrum_a67c21a8ec84b7f2c0f0312a136c6fe45}{w\+\_\+spectrum\+\_\+\+V\+Miss}} によって設定できる (初期値は -\/999.\+0) 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em w\+\_\+strfunc} & 流線関数(スペクトルデータ) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
エネルギースペクトル(水平全波数 n, 帯状波数 m 空間) 
\end{DoxyReturn}

\end{DoxyItemize}

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


\begin{DoxyCode}{0}
\DoxyCodeLine{60 }
\DoxyCodeLine{61 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{intent(in)}             :: w\_Strfunc(nc)}
\DoxyCodeLine{63 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:nm,-\/nm:nm)} :: nm\_EnergyFromStreamfunc\_w}
\DoxyCodeLine{64 }
\DoxyCodeLine{65 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:nm,-\/nm:nm)} :: nm\_Work}
\DoxyCodeLine{66     \textcolor{keywordtype}{integer} :: l, n, m, nm\_ary(2)}
\DoxyCodeLine{67     \textcolor{keywordtype}{integer} :: ierr}
\DoxyCodeLine{68 }
\DoxyCodeLine{69     nm\_work = 0.0d0}
\DoxyCodeLine{70     \textcolor{keywordflow}{do} l=1,int(nc)}
\DoxyCodeLine{71       nm\_ary = nm\_l(l)}
\DoxyCodeLine{72       n = nm\_ary(1)}
\DoxyCodeLine{73       m = abs(nm\_ary(2))}
\DoxyCodeLine{74       \textcolor{keywordflow}{if} ( n .ge. 0 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{75         \textcolor{keywordflow}{if} ( m == 0 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{76           nm\_work(n,0) = nm\_work(n,0) \&}
\DoxyCodeLine{77             \& + 0.5d0 * n*(n+1) * w\_strfunc(l)**2}
\DoxyCodeLine{78         \textcolor{keywordflow}{else}}
\DoxyCodeLine{79           nm\_work(n,m) = nm\_work(n,m) \&}
\DoxyCodeLine{80             \& + 0.5d0 * n*(n+1) * w\_strfunc(l)**2}
\DoxyCodeLine{81           nm\_work(n,-\/m) = nm\_work(n,-\/m) \&}
\DoxyCodeLine{82             \& + 0.5d0 * n*(n+1) * w\_strfunc(l)**2}
\DoxyCodeLine{83 \textcolor{keywordflow}{        endif}}
\DoxyCodeLine{84 \textcolor{keywordflow}{      endif}}
\DoxyCodeLine{85 \textcolor{keywordflow}{    enddo}}
\DoxyCodeLine{86 }
\DoxyCodeLine{87     \textcolor{keyword}{CALL }mpi\_allreduce(nm\_work,                          \&}
\DoxyCodeLine{88       \& nm\_energyfromstreamfunc\_w, int((nm+1)*(2*nm+1)), \&}
\DoxyCodeLine{89       \& mpi\_real8,mpi\_sum, int(icom), ierr)}
\DoxyCodeLine{90 }
\DoxyCodeLine{91     \textcolor{keywordflow}{do} m=1,int(nm)}
\DoxyCodeLine{92       \textcolor{keywordflow}{do} n=0,m-\/1}
\DoxyCodeLine{93         nm\_energyfromstreamfunc\_w(n,m)  = w\_spectrum\_vmiss}
\DoxyCodeLine{94         nm\_energyfromstreamfunc\_w(n,-\/m) = w\_spectrum\_vmiss}
\DoxyCodeLine{95 \textcolor{keywordflow}{      end do}}
\DoxyCodeLine{96 \textcolor{keywordflow}{    end do}}
\DoxyCodeLine{97 }

\end{DoxyCode}


References w\+\_\+mpi\+\_\+module\+\_\+base\+::icom, w\+\_\+mpi\+\_\+module\+\_\+base\+::nc, w\+\_\+mpi\+\_\+module\+\_\+base\+::nm, and w\+\_\+spectrum\+\_\+vmiss.

\mbox{\Hypertarget{namespacew__mpi__module__spectrum_ab935c9bf0451a14ebde6d139c524be2f}\label{namespacew__mpi__module__spectrum_ab935c9bf0451a14ebde6d139c524be2f}} 
\index{w\_mpi\_module\_spectrum@{w\_mpi\_module\_spectrum}!nm\_enstrophyfromstreamfunc\_w@{nm\_enstrophyfromstreamfunc\_w}}
\index{nm\_enstrophyfromstreamfunc\_w@{nm\_enstrophyfromstreamfunc\_w}!w\_mpi\_module\_spectrum@{w\_mpi\_module\_spectrum}}
\doxysubsubsection{\texorpdfstring{nm\_enstrophyfromstreamfunc\_w()}{nm\_enstrophyfromstreamfunc\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:nm,-\/nm\+:nm), public w\+\_\+mpi\+\_\+module\+\_\+spectrum\+::nm\+\_\+enstrophyfromstreamfunc\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension(nc), intent(in)}]{w\+\_\+\+Strfunc }\end{DoxyParamCaption})}



流線関数のスペクトルデータからエンストロフィーの球面調和函数成分 (スペクトル)を計算する(1 層用). 


\begin{DoxyItemize}
\item 全波数 n, 帯状波数 m の流線関数のスペクトル成分 $ψ(n,m)$ から エンストロフィースペクトルは $(1/2)n^2(n+1)^2|ψ(n,m)|^2$と計算される.
\item 全てのエンストロフィースペクトル成分の和に $4π/R^2$ をかけた ものが球面上での全エンストロフィーに等しい. ここで $R$ は球面の半径である.
\item データの存在しない全波数 n, 帯状波数 m の配列には欠損値が格納される. 欠損値の値はモジュール変数 w\+\_\+spectrum\+\_\+\+V\+Miss によって設定できる (初期値は -\/999.\+0) 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em w\+\_\+strfunc} & 流線関数(スペクトルデータ) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
エンストロフィースペクトル (水平全波数 n, 帯状波数 m 空間) 
\end{DoxyReturn}

\end{DoxyItemize}

Definition at line 163 of file w\+\_\+mpi\+\_\+module\+\_\+spectrum.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{163 }
\DoxyCodeLine{164 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{intent(in)}   :: w\_Strfunc(nc)}
\DoxyCodeLine{166 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:nm,-\/nm:nm)} :: nm\_EnstrophyFromStreamfunc\_w}
\DoxyCodeLine{167 }
\DoxyCodeLine{168 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:nm,-\/nm:nm)} :: nm\_Work}
\DoxyCodeLine{169     \textcolor{keywordtype}{integer} :: l, n, m, nm\_ary(2)}
\DoxyCodeLine{170     \textcolor{keywordtype}{integer} :: ierr}
\DoxyCodeLine{171 }
\DoxyCodeLine{172     nm\_work = 0.0d0}
\DoxyCodeLine{173     \textcolor{keywordflow}{do} l=1,int(nc)}
\DoxyCodeLine{174       nm\_ary = nm\_l(l)}
\DoxyCodeLine{175       n = nm\_ary(1)}
\DoxyCodeLine{176       m = abs(nm\_ary(2))}
\DoxyCodeLine{177       \textcolor{keywordflow}{if} ( n .ge. 0 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{178         \textcolor{keywordflow}{if} ( m == 0 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{179           nm\_work(n,0) = nm\_work(n,0) \&}
\DoxyCodeLine{180             +  0.5d0 * n**2 * (n+1)**2 * w\_strfunc(l)**2}
\DoxyCodeLine{181         \textcolor{keywordflow}{else}}
\DoxyCodeLine{182           nm\_work(n,m) = nm\_work(n,m) \&}
\DoxyCodeLine{183             +  0.5d0 * n**2 * (n+1)**2 * w\_strfunc(l)**2}
\DoxyCodeLine{184           nm\_work(n,-\/m) = nm\_work(n,-\/m) \&}
\DoxyCodeLine{185             +  0.5d0 * n**2 * (n+1)**2 * w\_strfunc(l)**2}
\DoxyCodeLine{186 \textcolor{keywordflow}{        endif}}
\DoxyCodeLine{187 \textcolor{keywordflow}{      endif}}
\DoxyCodeLine{188 \textcolor{keywordflow}{    enddo}}
\DoxyCodeLine{189 }
\DoxyCodeLine{190     \textcolor{keyword}{CALL }mpi\_allreduce(nm\_work,                            \&}
\DoxyCodeLine{191       \& nm\_enstrophyfromstreamfunc\_w,int((nm+1)*(2*nm+1)), \&}
\DoxyCodeLine{192       mpi\_real8, mpi\_sum, int(icom), ierr)}
\DoxyCodeLine{193 }
\DoxyCodeLine{194     \textcolor{keywordflow}{do} m=1,int(nm)}
\DoxyCodeLine{195       \textcolor{keywordflow}{do} n=0,m-\/1}
\DoxyCodeLine{196         nm\_enstrophyfromstreamfunc\_w(n,m)  = w\_spectrum\_vmiss}
\DoxyCodeLine{197         nm\_enstrophyfromstreamfunc\_w(n,-\/m) = w\_spectrum\_vmiss}
\DoxyCodeLine{198 \textcolor{keywordflow}{      enddo}}
\DoxyCodeLine{199 \textcolor{keywordflow}{    enddo}}
\DoxyCodeLine{200 }

\end{DoxyCode}


References w\+\_\+mpi\+\_\+module\+\_\+base\+::icom, w\+\_\+mpi\+\_\+module\+\_\+base\+::nc, w\+\_\+mpi\+\_\+module\+\_\+base\+::nm, and w\+\_\+spectrum\+\_\+vmiss.



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{namespacew__mpi__module__spectrum_a67c21a8ec84b7f2c0f0312a136c6fe45}\label{namespacew__mpi__module__spectrum_a67c21a8ec84b7f2c0f0312a136c6fe45}} 
\index{w\_mpi\_module\_spectrum@{w\_mpi\_module\_spectrum}!w\_spectrum\_vmiss@{w\_spectrum\_vmiss}}
\index{w\_spectrum\_vmiss@{w\_spectrum\_vmiss}!w\_mpi\_module\_spectrum@{w\_mpi\_module\_spectrum}}
\doxysubsubsection{\texorpdfstring{w\_spectrum\_vmiss}{w\_spectrum\_vmiss}}
{\footnotesize\ttfamily real(dp), public w\+\_\+mpi\+\_\+module\+\_\+spectrum\+::w\+\_\+spectrum\+\_\+vmiss = -\/999.\+000}



エネルギースペクトル(水平全波数 n, 帯状波数 m 空間) 

エネルギースペクトル(水平全波数 n 空間) エンストロフィースペクトル(水平全波数 n, 帯状波数 m 空間) エンストロフィースペクトル(水平全波数 n 空間) 欠損値. 初期値は -\/999.\+000 

Definition at line 36 of file w\+\_\+mpi\+\_\+module\+\_\+spectrum.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{36 \textcolor{keywordtype}{  real}(DP) :: w\_spectrum\_VMiss = -\/999.000}

\end{DoxyCode}


Referenced by nm\+\_\+energyfromstreamfunc\+\_\+w(), and nm\+\_\+enstrophyfromstreamfunc\+\_\+w().

