\hypertarget{namespacew__module__spectrum}{}\section{w\+\_\+module\+\_\+spectrum Module Reference}
\label{namespacew__module__spectrum}\index{w\+\_\+module\+\_\+spectrum@{w\+\_\+module\+\_\+spectrum}}


\hyperlink{namespacew__module}{w\+\_\+module} の下部モジュール\+: スペクトル解析  


\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
real(dp) function, dimension(0\+:nm,-\/nm\+:nm), public \hyperlink{namespacew__module__spectrum_a549029558183c587d43bdb0a3592df12}{nm\+\_\+energyfromstreamfunc\+\_\+w} (w\+\_\+\+Strfunc)
\begin{DoxyCompactList}\small\item\em 流線関数のスペクトルデータからエネルギーの球面調和函数成分 (スペクトル)を計算する(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:nm), public \hyperlink{namespacew__module__spectrum_a7619d87ba2a8eb0ba4c9cb1bfe51ace8}{n\+\_\+energyfromstreamfunc\+\_\+w} (w\+\_\+\+Strfunc)
\begin{DoxyCompactList}\small\item\em 流線関数のスペクトルデータから各全波数のエネルギー成分(スペクトル)を 計算する(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:nm,-\/nm\+:nm), public \hyperlink{namespacew__module__spectrum_abaac50d008bc5f3a7e31ac39a8955929}{nm\+\_\+enstrophyfromstreamfunc\+\_\+w} (w\+\_\+\+Strfunc)
\begin{DoxyCompactList}\small\item\em 流線関数のスペクトルデータからエンストロフィーの球面調和函数成分 (スペクトル)を計算する(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:nm), public \hyperlink{namespacew__module__spectrum_a2e2a246f41310d2bd1ae0db84d73b499}{n\+\_\+enstrophyfromstreamfunc\+\_\+w} (w\+\_\+\+Strfunc)
\begin{DoxyCompactList}\small\item\em 流線関数のスペクトルデータから各全波数のエネルギー成分(スペクトル)を 計算する(1 層用) \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
real(dp), public \hyperlink{namespacew__module__spectrum_a29b88d42fa75011df629c02dcd7422d4}{w\+\_\+spectrum\+\_\+vmiss} = -\/999.\+000
\begin{DoxyCompactList}\small\item\em 欠損値. 初期値は -\/999.\+000 \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{namespacew__module}{w\+\_\+module} の下部モジュール\+: スペクトル解析 

\begin{DoxyAuthor}{Author}
Shin-\/ichi Takehiro, Youhei S\+A\+S\+A\+KI 
\end{DoxyAuthor}
\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{DoxyNote}{Note}
スペクトル計算の方法については doc/w\+\_\+module.\+tex を参照のこと. 
\end{DoxyNote}
\begin{DoxyWarning}{Warning}
本モジュールを直接呼ぶ事は想定されていないことに注意されたい． ユーザは \hyperlink{namespacew__module}{w\+\_\+module} を呼ぶこと． 
\end{DoxyWarning}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacew__module__spectrum_a7619d87ba2a8eb0ba4c9cb1bfe51ace8}\label{namespacew__module__spectrum_a7619d87ba2a8eb0ba4c9cb1bfe51ace8}} 
\index{w\+\_\+module\+\_\+spectrum@{w\+\_\+module\+\_\+spectrum}!n\+\_\+energyfromstreamfunc\+\_\+w@{n\+\_\+energyfromstreamfunc\+\_\+w}}
\index{n\+\_\+energyfromstreamfunc\+\_\+w@{n\+\_\+energyfromstreamfunc\+\_\+w}!w\+\_\+module\+\_\+spectrum@{w\+\_\+module\+\_\+spectrum}}
\subsubsection{\texorpdfstring{n\+\_\+energyfromstreamfunc\+\_\+w()}{n\_energyfromstreamfunc\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:nm), public w\+\_\+module\+\_\+spectrum\+::n\+\_\+energyfromstreamfunc\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension(\+:), 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π$ をかけたものが 球面上での全エネルギーに等しい.
\end{DoxyItemize}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w\+\_\+strfunc} & 流線関数(スペクトルデータ)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
エネルギースペクトル (水平全波数 n 空間) 
\end{DoxyReturn}


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



References w\+\_\+module\+\_\+base\+::nm.


\begin{DoxyCode}
96 
97     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}      :: w\_strfunc(:)
99     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:nm)} :: n\_energyfromstreamfunc\_w
100 
101     \textcolor{keywordtype}{integer(8)} :: n
102     \textcolor{keywordtype}{integer(8)} :: m
103 
104     n\_energyfromstreamfunc\_w = 0.0d0
105     \textcolor{keywordflow}{do} n=0,nm
106       n\_energyfromstreamfunc\_w(n) = &
107         0.5d0 * n*(n+1\_8) * w\_strfunc(l\_nm(n,0\_8))**2\_8
108       \textcolor{keywordflow}{do} m=1,n
109         n\_energyfromstreamfunc\_w(n) =    &
110           & n\_energyfromstreamfunc\_w(n)  &
111 \textcolor{comment}{!!           & + 2 * 0.5 * n*(n+1) &}
112           & + n*(n+1)  &
113           & * (w\_strfunc(l\_nm(n,m))**2\_8 + w\_strfunc(l\_nm(n,-m))**2\_8)
114 \textcolor{keywordflow}{         end do}
115 \textcolor{keywordflow}{      end do}
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__module__spectrum_a2e2a246f41310d2bd1ae0db84d73b499}\label{namespacew__module__spectrum_a2e2a246f41310d2bd1ae0db84d73b499}} 
\index{w\+\_\+module\+\_\+spectrum@{w\+\_\+module\+\_\+spectrum}!n\+\_\+enstrophyfromstreamfunc\+\_\+w@{n\+\_\+enstrophyfromstreamfunc\+\_\+w}}
\index{n\+\_\+enstrophyfromstreamfunc\+\_\+w@{n\+\_\+enstrophyfromstreamfunc\+\_\+w}!w\+\_\+module\+\_\+spectrum@{w\+\_\+module\+\_\+spectrum}}
\subsubsection{\texorpdfstring{n\+\_\+enstrophyfromstreamfunc\+\_\+w()}{n\_enstrophyfromstreamfunc\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:nm), public w\+\_\+module\+\_\+spectrum\+::n\+\_\+enstrophyfromstreamfunc\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension(\+:), 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$ は球面の半径である.
\end{DoxyItemize}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w\+\_\+strfunc} & 流線関数(スペクトルデータ)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
エンストロフィースペクトル(水平全波数 n 空間) 
\end{DoxyReturn}


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



References w\+\_\+module\+\_\+base\+::nm.


\begin{DoxyCode}
174 
175       \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}      :: w\_strfunc(:)
177       \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:nm)} :: n\_enstrophyfromstreamfunc\_w
178 
179       \textcolor{keywordtype}{integer(8)} :: n
180       \textcolor{keywordtype}{integer(8)} :: m
181 
182       \textcolor{keywordflow}{do} n=0,nm
183         n\_enstrophyfromstreamfunc\_w(n)  &
184           &  = 0.5d0 * n**2\_8 * (n+1\_8)**2\_8 * w\_strfunc(l\_nm(n,0\_8))**2\_8
185         \textcolor{keywordflow}{do} m=1,n
186           n\_enstrophyfromstreamfunc\_w(n) &
187             & =   n\_enstrophyfromstreamfunc\_w(n) &
188 \textcolor{comment}{!!             &   + 2 * 0.5D0 * n**2\_8 * (n+1)**2\_8 &}
189             &   + n**2\_8 * (n+1)**2\_8 &
190             &      * (w\_strfunc(l\_nm(n,m))**2\_8 + w\_strfunc(l\_nm(n,-m))**2\_8)
191 \textcolor{keywordflow}{         end do}
192 \textcolor{keywordflow}{      end do}
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__module__spectrum_a549029558183c587d43bdb0a3592df12}\label{namespacew__module__spectrum_a549029558183c587d43bdb0a3592df12}} 
\index{w\+\_\+module\+\_\+spectrum@{w\+\_\+module\+\_\+spectrum}!nm\+\_\+energyfromstreamfunc\+\_\+w@{nm\+\_\+energyfromstreamfunc\+\_\+w}}
\index{nm\+\_\+energyfromstreamfunc\+\_\+w@{nm\+\_\+energyfromstreamfunc\+\_\+w}!w\+\_\+module\+\_\+spectrum@{w\+\_\+module\+\_\+spectrum}}
\subsubsection{\texorpdfstring{nm\+\_\+energyfromstreamfunc\+\_\+w()}{nm\_energyfromstreamfunc\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:nm,-\/nm\+:nm), public w\+\_\+module\+\_\+spectrum\+::nm\+\_\+energyfromstreamfunc\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension(\+:), 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 の配列には欠損値が格納 される. 欠損値の値はモジュール変数 \hyperlink{namespacew__module__spectrum_a29b88d42fa75011df629c02dcd7422d4}{w\+\_\+spectrum\+\_\+\+V\+Miss} によって 設定できる(初期値は -\/999.\+0)
\end{DoxyItemize}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w\+\_\+strfunc} & 流線関数(スペクトルデータ)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
エネルギースペクトル(水平全波数 n, 帯状波数 m 空間) 
\end{DoxyReturn}


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



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


\begin{DoxyCode}
59 
60     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}   :: w\_strfunc(:)
62     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:nm,-nm:nm)} :: nm\_energyfromstreamfunc\_w
63 
64     \textcolor{keywordtype}{integer(8)} :: n
65     \textcolor{keywordtype}{integer(8)} :: m
66 
67     nm\_energyfromstreamfunc\_w = w\_spectrum\_vmiss
68 
69     \textcolor{keywordflow}{do} n=0,nm
70       nm\_energyfromstreamfunc\_w(n,0) &
71         & = 0.5d0 * n*(n+1\_8) * w\_strfunc(l\_nm(n,0\_8))**2\_8
72       \textcolor{keywordflow}{do} m=1,n
73         nm\_energyfromstreamfunc\_w(n,m)     &
74           = 0.5d0 * n*(n+1\_8)              &
75           * (   w\_strfunc(l\_nm(n,m))**2\_8  &
76           &   + w\_strfunc(l\_nm(n,-m))**2\_8 )
77         nm\_energyfromstreamfunc\_w(n,-m)    &
78           = nm\_energyfromstreamfunc\_w(n,m)
79 \textcolor{keywordflow}{      end do}
80 \textcolor{keywordflow}{    end do}
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__module__spectrum_abaac50d008bc5f3a7e31ac39a8955929}\label{namespacew__module__spectrum_abaac50d008bc5f3a7e31ac39a8955929}} 
\index{w\+\_\+module\+\_\+spectrum@{w\+\_\+module\+\_\+spectrum}!nm\+\_\+enstrophyfromstreamfunc\+\_\+w@{nm\+\_\+enstrophyfromstreamfunc\+\_\+w}}
\index{nm\+\_\+enstrophyfromstreamfunc\+\_\+w@{nm\+\_\+enstrophyfromstreamfunc\+\_\+w}!w\+\_\+module\+\_\+spectrum@{w\+\_\+module\+\_\+spectrum}}
\subsubsection{\texorpdfstring{nm\+\_\+enstrophyfromstreamfunc\+\_\+w()}{nm\_enstrophyfromstreamfunc\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:nm,-\/nm\+:nm), public w\+\_\+module\+\_\+spectrum\+::nm\+\_\+enstrophyfromstreamfunc\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension(\+:), 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 の配列には 欠損値が格納される. 欠損値の値はモジュール変数 \hyperlink{namespacew__module__spectrum_a29b88d42fa75011df629c02dcd7422d4}{w\+\_\+spectrum\+\_\+\+V\+Miss} によって設定できる(初期値は -\/999.\+0)
\end{DoxyItemize}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w\+\_\+strfunc} & 流線関数(スペクトルデータ)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
エンストロフィースペクトル (水平全波数 n, 帯状波数 m 空間) 
\end{DoxyReturn}


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



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


\begin{DoxyCode}
137 
138       \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}   :: w\_strfunc(:)
140       \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:nm,-nm:nm)} :: nm\_enstrophyfromstreamfunc\_w
141 
142       \textcolor{keywordtype}{integer(8)} :: n
143       \textcolor{keywordtype}{integer(8)} :: m
144 
145       nm\_enstrophyfromstreamfunc\_w = w\_spectrum\_vmiss
146 
147       \textcolor{keywordflow}{do} n=0,nm
148         nm\_enstrophyfromstreamfunc\_w(n,0) &
149         &  = 0.5d0 * n**2\_8 * (n+1\_8)**2\_8 * w\_strfunc(l\_nm(n,0\_8))**2\_8
150         \textcolor{keywordflow}{do} m=1,n
151           nm\_enstrophyfromstreamfunc\_w(n,m)    &
152             &  = 0.5d0 * n**2\_8 * (n+1\_8)**2\_8 &
153             &    * ( w\_strfunc(l\_nm(n,m))**2\_8 +w\_strfunc(l\_nm(n,-m))**2\_8 )
154           nm\_enstrophyfromstreamfunc\_w(n,-m)   &
155             &  = nm\_enstrophyfromstreamfunc\_w(n,m)
156 \textcolor{keywordflow}{        enddo}
157 \textcolor{keywordflow}{      enddo}
\end{DoxyCode}


\subsection{Variable Documentation}
\mbox{\Hypertarget{namespacew__module__spectrum_a29b88d42fa75011df629c02dcd7422d4}\label{namespacew__module__spectrum_a29b88d42fa75011df629c02dcd7422d4}} 
\index{w\+\_\+module\+\_\+spectrum@{w\+\_\+module\+\_\+spectrum}!w\+\_\+spectrum\+\_\+vmiss@{w\+\_\+spectrum\+\_\+vmiss}}
\index{w\+\_\+spectrum\+\_\+vmiss@{w\+\_\+spectrum\+\_\+vmiss}!w\+\_\+module\+\_\+spectrum@{w\+\_\+module\+\_\+spectrum}}
\subsubsection{\texorpdfstring{w\+\_\+spectrum\+\_\+vmiss}{w\_spectrum\_vmiss}}
{\footnotesize\ttfamily real(dp), public w\+\_\+module\+\_\+spectrum\+::w\+\_\+spectrum\+\_\+vmiss = -\/999.\+000}



欠損値. 初期値は -\/999.\+000 



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


\begin{DoxyCode}
35   \textcolor{keywordtype}{real(DP)} :: w\_spectrum\_vmiss = -999.000
\end{DoxyCode}
