\hypertarget{namespacew__module__deriv}{}\section{w\+\_\+module\+\_\+deriv Module Reference}
\label{namespacew__module__deriv}\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}


\hyperlink{namespacew__module}{w\+\_\+module} の下部モジュール\+: 微分  


\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine, public \hyperlink{namespacew__module__deriv_adc13d210b7a9740e5a19f115ef208441}{w\+\_\+deriv\+\_\+initial}
\begin{DoxyCompactList}\small\item\em スペクトル微分計算に必要となる作業領域を設定する. \end{DoxyCompactList}\item 
real(dp) function, dimension((nn+1) $\ast$(nn+1)), public \hyperlink{namespacew__module__deriv_a0bf8cc78dc8dde2691985c05044d9c4b}{w\+\_\+lapla\+\_\+w} (w\+\_\+data)
\begin{DoxyCompactList}\small\item\em 入力スペクトルデータにラプラシアン \begin{align*} ▽^2 = 1/\cos^2φ・∂^2/∂λ^2 + 1/\cosφ・∂/∂φ(\cosφ∂/∂φ) \end{align*} を作用する(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension((nn+1) $\ast$(nn+1)), public \hyperlink{namespacew__module__deriv_aa247a4a281588e92be2ec6a11da04a5b}{w\+\_\+laplainv\+\_\+w} (w\+\_\+data)
\begin{DoxyCompactList}\small\item\em 入力スペクトルデータに逆ラプラシアン \begin{align*} ▽^{-2} =[1/\cos^2φ・∂^2/∂λ^2 + 1/\cosφ・∂/∂φ(\cosφ∂/∂φ)]^{-1} \end{align*} を作用する(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension((nn+1) $\ast$(nn+1)), public \hyperlink{namespacew__module__deriv_a1676aabd52064c64b765e84b140b8a82}{w\+\_\+dlon\+\_\+w} (w\+\_\+data)
\begin{DoxyCompactList}\small\item\em スペクトルデータに経度微分 $∂/∂λ$ を作用させる(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:im-\/1, 1\+:jm), public \hyperlink{namespacew__module__deriv_a88efad865d2eb89d3a069ac9c45b3f9b}{xy\+\_\+gradlon\+\_\+w} (w\+\_\+data)
\begin{DoxyCompactList}\small\item\em スペクトルデータに勾配型経度微分 $1/\cosφ・∂/∂λ$ を 作用させた格子点データを返す(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:im-\/1, 1\+:jm), public \hyperlink{namespacew__module__deriv_a79fbe256e0d5145fc01ca38435860741}{xy\+\_\+gradlat\+\_\+w} (w\+\_\+data)
\begin{DoxyCompactList}\small\item\em スペクトルデータに勾配型緯度微分 $∂/∂φ$ を作用させて 格子点データに変換して返す(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension((nn+1) $\ast$(nn+1)), public \hyperlink{namespacew__module__deriv_a4ad86b3db507fb0bff454e007e515ba0}{w\+\_\+divlon\+\_\+xy} (xy\+\_\+data)
\begin{DoxyCompactList}\small\item\em 格子点データに発散型経度微分 $1/\cosφ・∂/∂λ$ を作用させて スペクトルデータに変換して返す(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension((nn+1) $\ast$(nn+1)), public \hyperlink{namespacew__module__deriv_ab13eefdf5b81060ce83e3065b1fea953}{w\+\_\+divlat\+\_\+xy} (xy\+\_\+data)
\begin{DoxyCompactList}\small\item\em 格子点データに発散型緯度微分 $1/\cosφ・∂(f \cosφ)/∂φ$ を作用させてスペクトルデータに変換して返す(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension((nn+1) $\ast$(nn+1)), public \hyperlink{namespacew__module__deriv_a4ac727e6389247d61f99e5358aebf069}{w\+\_\+div\+\_\+xy\+\_\+xy} (xy\+\_\+u, xy\+\_\+v)
\begin{DoxyCompactList}\small\item\em 2 つの入力格子点データをベクトル成分とする発散を計算し, スペクトルデータとして返す(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension((nn+1) $\ast$(nn+1)), public \hyperlink{namespacew__module__deriv_a7a61436e763799d6fb0b980e84e1b232}{w\+\_\+jacobian\+\_\+w\+\_\+w} (w\+\_\+a, w\+\_\+b)
\begin{DoxyCompactList}\small\item\em 2 つのスペクトルデータにヤコビアン \begin{align*} J(f,g) & = ∂f/∂λ・∂g/∂μ - ∂g/∂λ・∂f/∂μ \\ & = ∂f/∂λ・1/\cos φ・∂g/∂φ - ∂g/∂λ・1/\cos φ・∂f/∂φ \end{align*} を作用させる(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:im-\/1, 1\+:jm), public \hyperlink{namespacew__module__deriv_aafdccb5625e83fc74e07f28c29c663ae}{xy\+\_\+gradlambda\+\_\+w} (w\+\_\+data)
\begin{DoxyCompactList}\small\item\em スペクトルデータに勾配型経度微分 ∂/∂λ を作用する(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:im-\/1, 1\+:jm), public \hyperlink{namespacew__module__deriv_a602369ddd0f5e6b89163ac558e0d71b1}{xy\+\_\+gradmu\+\_\+w} (w\+\_\+data)
\begin{DoxyCompactList}\small\item\em スペクトルデータに勾配型緯度微分 $(1-μ^2)∂/∂μ ,\, (μ=\sinφ)$ を作用させて格子点データに変換して返す(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension((nn+1) $\ast$(nn+1)), public \hyperlink{namespacew__module__deriv_a6dc1edaff2ff00ce89f907370a0b0292}{w\+\_\+divlambda\+\_\+xy} (xy\+\_\+data)
\begin{DoxyCompactList}\small\item\em 格子点データに発散型経度微分 $1/(1-μ^2)・∂/∂λ, \, (μ=\sinφ)$ を作用させてスペクトルデータに変換して返す(1 層用). \end{DoxyCompactList}\item 
real(dp) function, dimension((nn+1) $\ast$(nn+1)), public \hyperlink{namespacew__module__deriv_a984edeb7ba46736df32910567e30ed8e}{w\+\_\+divmu\+\_\+xy} (xy\+\_\+data)
\begin{DoxyCompactList}\small\item\em 格子点データに発散型緯度微分 $∂/∂μ, \, (μ=\sinφ)$ を作用させてスペクトルデータに変換して返す(1 層用). \end{DoxyCompactList}\item 
subroutine, public \hyperlink{namespacew__module__deriv_a4ae2b14017f1185e0ad0b37652fa2532}{w\+\_\+deriv\+\_\+finalize}
\begin{DoxyCompactList}\small\item\em モジュールの終了処理(割り付け配列の解放)をおこなう. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
real(dp), dimension(\+:,\+:), allocatable, save, public \hyperlink{namespacew__module__deriv_aa475b204ff39d1a9d988d1893de349fd}{rn}
\begin{DoxyCompactList}\small\item\em ラプラシアン演算用配列(後方互換性のため) \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{DoxyWarning}{Warning}
本モジュールを直接呼ぶ事は想定されていないことに注意されたい． ユーザは \hyperlink{namespacew__module}{w\+\_\+module} を呼ぶこと． 
\end{DoxyWarning}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacew__module__deriv_a4ae2b14017f1185e0ad0b37652fa2532}\label{namespacew__module__deriv_a4ae2b14017f1185e0ad0b37652fa2532}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!w\+\_\+deriv\+\_\+finalize@{w\+\_\+deriv\+\_\+finalize}}
\index{w\+\_\+deriv\+\_\+finalize@{w\+\_\+deriv\+\_\+finalize}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{w\+\_\+deriv\+\_\+finalize()}{w\_deriv\_finalize()}}
{\footnotesize\ttfamily subroutine, public w\+\_\+module\+\_\+deriv\+::w\+\_\+deriv\+\_\+finalize (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



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

\begin{DoxyWarning}{Warning}
このサブルーチンを単独で用いるのでなく, 上位サブルーチン \hyperlink{namespacew__module_a8fa63b83c6aee6f23c4560de239475e6}{w\+\_\+\+Finalize} を使用すること. 
\end{DoxyWarning}


Definition at line 303 of file w\+\_\+module\+\_\+deriv.\+f90.



References rn.


\begin{DoxyCode}
303 
304     \textcolor{keywordflow}{if} ( .not. w\_deriv\_initialize ) \textcolor{keywordflow}{then}
305       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'W'},\textcolor{stringliteral}{'w\_deriv\_Finalize'},&
306         \textcolor{stringliteral}{'w\_module\_deriv not initialized yet'})
307       \textcolor{keywordflow}{return}
308 \textcolor{keywordflow}{    endif}
309 
310     \textcolor{keyword}{deallocate}(d)           \textcolor{comment}{! ラプラシアン演算用配列}
311     \textcolor{keyword}{deallocate}(rn)          \textcolor{comment}{! ラプラシアン演算用配列}
312 
313     w\_deriv\_initialize = .false.
314 
315     \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'w\_deriv\_finalize'},&
316       \textcolor{stringliteral}{'w\_module\_deriv (2019/10/04) is finalized'})
317 
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__module__deriv_adc13d210b7a9740e5a19f115ef208441}\label{namespacew__module__deriv_adc13d210b7a9740e5a19f115ef208441}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!w\+\_\+deriv\+\_\+initial@{w\+\_\+deriv\+\_\+initial}}
\index{w\+\_\+deriv\+\_\+initial@{w\+\_\+deriv\+\_\+initial}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{w\+\_\+deriv\+\_\+initial()}{w\_deriv\_initial()}}
{\footnotesize\ttfamily subroutine, public w\+\_\+module\+\_\+deriv\+::w\+\_\+deriv\+\_\+initial (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



スペクトル微分計算に必要となる作業領域を設定する. 

他の関数を呼ぶ前に, 最初にこのサブルーチンを呼んで 初期設定をしなければならない.

\begin{DoxyWarning}{Warning}
このサブルーチンを単独で用いるのでなく, 上位サブルーチン \hyperlink{namespacew__module_a34cf65ed64bfeec316d31e8764e8ffc0}{w\+\_\+\+Initial} を使用すること. 
\end{DoxyWarning}


Definition at line 79 of file w\+\_\+module\+\_\+deriv.\+f90.



References w\+\_\+module\+\_\+base\+::mm, w\+\_\+module\+\_\+base\+::nn, and rn.


\begin{DoxyCode}
79     \textcolor{keyword}{allocate}(d((nn+1)*(nn+1)*2))
80     \textcolor{keyword}{allocate}(rn((nn+1)*(nn+1),2))
81 
82     \textcolor{keyword}{call }sxinid(mm,nn,d)
83 
84     rn = reshape(d,(/(nn+1)**2,2\_8/))
85 
86     w\_deriv\_initialize=.true.
87 
88     \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'w\_deriv\_initial'},&
89       \textcolor{stringliteral}{'w\_module\_deriv (2019/03/16) is initialized'})
90 
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__module__deriv_a4ac727e6389247d61f99e5358aebf069}\label{namespacew__module__deriv_a4ac727e6389247d61f99e5358aebf069}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!w\+\_\+div\+\_\+xy\+\_\+xy@{w\+\_\+div\+\_\+xy\+\_\+xy}}
\index{w\+\_\+div\+\_\+xy\+\_\+xy@{w\+\_\+div\+\_\+xy\+\_\+xy}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{w\+\_\+div\+\_\+xy\+\_\+xy()}{w\_div\_xy\_xy()}}
{\footnotesize\ttfamily real(dp) function, dimension((nn+1)$\ast$(nn+1)), public w\+\_\+module\+\_\+deriv\+::w\+\_\+div\+\_\+xy\+\_\+xy (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:im-\/1,1\+:jm), intent(in)}]{xy\+\_\+u,  }\item[{real(dp), dimension(0\+:im-\/1,1\+:jm), intent(in)}]{xy\+\_\+v }\end{DoxyParamCaption})}



2 つの入力格子点データをベクトル成分とする発散を計算し, スペクトルデータとして返す(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em xy\+\_\+u} & ベクトル経度成分の格子点データ\\
\hline
\mbox{\tt in}  & {\em xy\+\_\+v} & ベクトル緯度成分の格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
2 つの入力格子点データをベクトル成分とする発散のスペクトルデータ 
\end{DoxyReturn}


Definition at line 202 of file w\+\_\+module\+\_\+deriv.\+f90.



References w\+\_\+divlat\+\_\+xy(), and w\+\_\+divlon\+\_\+xy().


\begin{DoxyCode}
202 
203     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}  :: xy\_u(0:im-1,1:jm)
205     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}  :: xy\_v(0:im-1,1:jm)
207     \textcolor{keywordtype}{real(DP)}              :: w\_div\_xy\_xy((nn+1)*(nn+1))
208 
209     w\_div\_xy\_xy = w\_divlon\_xy(xy\_u) + w\_divlat\_xy(xy\_v)
210 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacew__module__deriv_a4ac727e6389247d61f99e5358aebf069_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacew__module__deriv_a6dc1edaff2ff00ce89f907370a0b0292}\label{namespacew__module__deriv_a6dc1edaff2ff00ce89f907370a0b0292}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!w\+\_\+divlambda\+\_\+xy@{w\+\_\+divlambda\+\_\+xy}}
\index{w\+\_\+divlambda\+\_\+xy@{w\+\_\+divlambda\+\_\+xy}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{w\+\_\+divlambda\+\_\+xy()}{w\_divlambda\_xy()}}
{\footnotesize\ttfamily real(dp) function, dimension((nn+1)$\ast$(nn+1)), public w\+\_\+module\+\_\+deriv\+::w\+\_\+divlambda\+\_\+xy (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:im-\/1,1\+:jm), intent(in)}]{xy\+\_\+data }\end{DoxyParamCaption})}



格子点データに発散型経度微分 $1/(1-μ^2)・∂/∂λ, \, (μ=\sinφ)$ を作用させてスペクトルデータに変換して返す(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em xy\+\_\+data} & 入力格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
格子点データを発散型経度微分したスペクトルデータ 
\end{DoxyReturn}


Definition at line 270 of file w\+\_\+module\+\_\+deriv.\+f90.



References w\+\_\+module\+\_\+base\+::w\+\_\+xy().


\begin{DoxyCode}
270 
271     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}  :: xy\_data(0:im-1,1:jm)
273     \textcolor{keywordtype}{real(DP)}              :: w\_divlambda\_xy((nn+1)*(nn+1))
274 
275     w\_divlambda\_xy = w\_xy(xy\_data,ipow=2,iflag=-1)
276 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacew__module__deriv_a6dc1edaff2ff00ce89f907370a0b0292_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacew__module__deriv_ab13eefdf5b81060ce83e3065b1fea953}\label{namespacew__module__deriv_ab13eefdf5b81060ce83e3065b1fea953}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!w\+\_\+divlat\+\_\+xy@{w\+\_\+divlat\+\_\+xy}}
\index{w\+\_\+divlat\+\_\+xy@{w\+\_\+divlat\+\_\+xy}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{w\+\_\+divlat\+\_\+xy()}{w\_divlat\_xy()}}
{\footnotesize\ttfamily real(dp) function, dimension((nn+1)$\ast$(nn+1)), public w\+\_\+module\+\_\+deriv\+::w\+\_\+divlat\+\_\+xy (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:im-\/1,1\+:jm), intent(in)}]{xy\+\_\+data }\end{DoxyParamCaption})}



格子点データに発散型緯度微分 $1/\cosφ・∂(f \cosφ)/∂φ$ を作用させてスペクトルデータに変換して返す(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em xy\+\_\+data} & 入力格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
格子点データを発散型緯度微分したスペクトルデータ 
\end{DoxyReturn}


Definition at line 188 of file w\+\_\+module\+\_\+deriv.\+f90.



References w\+\_\+module\+\_\+base\+::w\+\_\+xy().


\begin{DoxyCode}
188 
189     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}  :: xy\_data(0:im-1,1:jm)
191     \textcolor{keywordtype}{real(DP)}              :: w\_divlat\_xy((nn+1)*(nn+1))
192 
193     w\_divlat\_xy = w\_xy(xy\_data,ipow=1,iflag=1)
194 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacew__module__deriv_ab13eefdf5b81060ce83e3065b1fea953_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacew__module__deriv_a4ad86b3db507fb0bff454e007e515ba0}\label{namespacew__module__deriv_a4ad86b3db507fb0bff454e007e515ba0}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!w\+\_\+divlon\+\_\+xy@{w\+\_\+divlon\+\_\+xy}}
\index{w\+\_\+divlon\+\_\+xy@{w\+\_\+divlon\+\_\+xy}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{w\+\_\+divlon\+\_\+xy()}{w\_divlon\_xy()}}
{\footnotesize\ttfamily real(dp) function, dimension((nn+1)$\ast$(nn+1)), public w\+\_\+module\+\_\+deriv\+::w\+\_\+divlon\+\_\+xy (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:im-\/1,1\+:jm), intent(in)}]{xy\+\_\+data }\end{DoxyParamCaption})}



格子点データに発散型経度微分 $1/\cosφ・∂/∂λ$ を作用させて スペクトルデータに変換して返す(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em xy\+\_\+data} & 入力格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
格子点データを発散型経度微分したスペクトルデータ 
\end{DoxyReturn}


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



References w\+\_\+module\+\_\+base\+::w\+\_\+xy().


\begin{DoxyCode}
174 
175     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}  :: xy\_data(0:im-1,1:jm)
177     \textcolor{keywordtype}{real(DP)}              :: w\_divlon\_xy((nn+1)*(nn+1))
178 
179     w\_divlon\_xy = w\_xy(xy\_data,ipow=1,iflag=-1)
180 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacew__module__deriv_a4ad86b3db507fb0bff454e007e515ba0_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacew__module__deriv_a984edeb7ba46736df32910567e30ed8e}\label{namespacew__module__deriv_a984edeb7ba46736df32910567e30ed8e}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!w\+\_\+divmu\+\_\+xy@{w\+\_\+divmu\+\_\+xy}}
\index{w\+\_\+divmu\+\_\+xy@{w\+\_\+divmu\+\_\+xy}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{w\+\_\+divmu\+\_\+xy()}{w\_divmu\_xy()}}
{\footnotesize\ttfamily real(dp) function, dimension((nn+1)$\ast$(nn+1)), public w\+\_\+module\+\_\+deriv\+::w\+\_\+divmu\+\_\+xy (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:im-\/1,1\+:jm), intent(in)}]{xy\+\_\+data }\end{DoxyParamCaption})}



格子点データに発散型緯度微分 $∂/∂μ, \, (μ=\sinφ)$ を作用させてスペクトルデータに変換して返す(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em xy\+\_\+data} & 入力格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
格子点データを発散型緯度微分したスペクトルデータ 
\end{DoxyReturn}


Definition at line 285 of file w\+\_\+module\+\_\+deriv.\+f90.



References w\+\_\+module\+\_\+base\+::w\+\_\+xy().


\begin{DoxyCode}
285 
286     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}  :: xy\_data(0:im-1,1:jm)
288     \textcolor{keywordtype}{real(DP)}              :: w\_divmu\_xy((nn+1)*(nn+1))
289 
290     w\_divmu\_xy = w\_xy(xy\_data,ipow=2,iflag=1)
291 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacew__module__deriv_a984edeb7ba46736df32910567e30ed8e_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacew__module__deriv_a1676aabd52064c64b765e84b140b8a82}\label{namespacew__module__deriv_a1676aabd52064c64b765e84b140b8a82}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!w\+\_\+dlon\+\_\+w@{w\+\_\+dlon\+\_\+w}}
\index{w\+\_\+dlon\+\_\+w@{w\+\_\+dlon\+\_\+w}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{w\+\_\+dlon\+\_\+w()}{w\_dlon\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension((nn+1)$\ast$(nn+1)), public w\+\_\+module\+\_\+deriv\+::w\+\_\+dlon\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension((nn+1)$\ast$(nn+1)), intent(in)}]{w\+\_\+data }\end{DoxyParamCaption})}



スペクトルデータに経度微分 $∂/∂λ$ を作用させる(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w\+\_\+data} & 入力スペクトルデータ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
スペクトルデータの経度微分 
\end{DoxyReturn}


Definition at line 132 of file w\+\_\+module\+\_\+deriv.\+f90.



References w\+\_\+module\+\_\+base\+::mm, and w\+\_\+module\+\_\+base\+::nn.


\begin{DoxyCode}
132 
133     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}  :: w\_data((nn+1)*(nn+1))
135     \textcolor{keywordtype}{real(DP)}              :: w\_dlon\_w((nn+1)*(nn+1))
136 
137     \textcolor{keyword}{call }sxcs2x(mm,nn,w\_data,w\_dlon\_w)
138 
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__module__deriv_a7a61436e763799d6fb0b980e84e1b232}\label{namespacew__module__deriv_a7a61436e763799d6fb0b980e84e1b232}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!w\+\_\+jacobian\+\_\+w\+\_\+w@{w\+\_\+jacobian\+\_\+w\+\_\+w}}
\index{w\+\_\+jacobian\+\_\+w\+\_\+w@{w\+\_\+jacobian\+\_\+w\+\_\+w}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{w\+\_\+jacobian\+\_\+w\+\_\+w()}{w\_jacobian\_w\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension((nn+1)$\ast$(nn+1)), public w\+\_\+module\+\_\+deriv\+::w\+\_\+jacobian\+\_\+w\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension((nn+1)$\ast$(nn+1)), intent(in)}]{w\+\_\+a,  }\item[{real(dp), dimension((nn+1)$\ast$(nn+1)), intent(in)}]{w\+\_\+b }\end{DoxyParamCaption})}



2 つのスペクトルデータにヤコビアン \begin{align*} J(f,g) & = ∂f/∂λ・∂g/∂μ - ∂g/∂λ・∂f/∂μ \\ & = ∂f/∂λ・1/\cos φ・∂g/∂φ - ∂g/∂λ・1/\cos φ・∂f/∂φ \end{align*} を作用させる(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w\+\_\+a} & 1つ目の入力スペクトルデータ\\
\hline
\mbox{\tt in}  & {\em w\+\_\+b} & 2つ目の入力スペクトルデータ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
2 つのスペクトルデータのヤコビアン 
\end{DoxyReturn}


Definition at line 223 of file w\+\_\+module\+\_\+deriv.\+f90.



References w\+\_\+dlon\+\_\+w(), w\+\_\+module\+\_\+base\+::w\+\_\+xy(), and w\+\_\+module\+\_\+base\+::xy\+\_\+w().


\begin{DoxyCode}
223 
224     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)} :: w\_a((nn+1)*(nn+1))
226     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)} :: w\_b((nn+1)*(nn+1))
228     \textcolor{keywordtype}{real(DP)}             :: w\_jacobian\_w\_w((nn+1)*(nn+1))
229 
230     w\_jacobian\_w\_w =                                          &
231       & w\_xy(  xy\_w(w\_dlon\_w(w\_a))*xy\_w(w\_b,ipow=2,iflag=1)   &
232       &      - xy\_w(w\_dlon\_w(w\_b))*xy\_w(w\_a,ipow=2,iflag=1) )
233 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacew__module__deriv_a7a61436e763799d6fb0b980e84e1b232_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacew__module__deriv_a0bf8cc78dc8dde2691985c05044d9c4b}\label{namespacew__module__deriv_a0bf8cc78dc8dde2691985c05044d9c4b}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!w\+\_\+lapla\+\_\+w@{w\+\_\+lapla\+\_\+w}}
\index{w\+\_\+lapla\+\_\+w@{w\+\_\+lapla\+\_\+w}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{w\+\_\+lapla\+\_\+w()}{w\_lapla\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension((nn+1)$\ast$(nn+1)), public w\+\_\+module\+\_\+deriv\+::w\+\_\+lapla\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension((nn+1)$\ast$(nn+1)), intent(in)}]{w\+\_\+data }\end{DoxyParamCaption})}



入力スペクトルデータにラプラシアン \begin{align*} ▽^2 = 1/\cos^2φ・∂^2/∂λ^2 + 1/\cosφ・∂/∂φ(\cosφ∂/∂φ) \end{align*} を作用する(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w\+\_\+data} & 入力スペクトルデータ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
入力スペクトルデータのラプラシアン 
\end{DoxyReturn}


Definition at line 101 of file w\+\_\+module\+\_\+deriv.\+f90.



References w\+\_\+module\+\_\+base\+::mm, and w\+\_\+module\+\_\+base\+::nn.


\begin{DoxyCode}
101 
102     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}  :: w\_data((nn+1)*(nn+1))
104     \textcolor{keywordtype}{real(DP)}              :: w\_lapla\_w((nn+1)*(nn+1))
105 
106     \textcolor{keyword}{call }sxclap(mm,nn,w\_data,w\_lapla\_w,d,1\_8)
107 
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__module__deriv_aa247a4a281588e92be2ec6a11da04a5b}\label{namespacew__module__deriv_aa247a4a281588e92be2ec6a11da04a5b}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!w\+\_\+laplainv\+\_\+w@{w\+\_\+laplainv\+\_\+w}}
\index{w\+\_\+laplainv\+\_\+w@{w\+\_\+laplainv\+\_\+w}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{w\+\_\+laplainv\+\_\+w()}{w\_laplainv\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension((nn+1)$\ast$(nn+1)), public w\+\_\+module\+\_\+deriv\+::w\+\_\+laplainv\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension((nn+1)$\ast$(nn+1)), intent(in)}]{w\+\_\+data }\end{DoxyParamCaption})}



入力スペクトルデータに逆ラプラシアン \begin{align*} ▽^{-2} =[1/\cos^2φ・∂^2/∂λ^2 + 1/\cosφ・∂/∂φ(\cosφ∂/∂φ)]^{-1} \end{align*} を作用する(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w\+\_\+data} & 入力スペクトルデータ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
スペクトルデータの逆ラプラシアン 
\end{DoxyReturn}


Definition at line 119 of file w\+\_\+module\+\_\+deriv.\+f90.



References w\+\_\+module\+\_\+base\+::mm, and w\+\_\+module\+\_\+base\+::nn.


\begin{DoxyCode}
119 
120     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}  :: w\_data((nn+1)*(nn+1))
122     \textcolor{keywordtype}{real(DP)}              :: w\_laplainv\_w((nn+1)*(nn+1))
123 
124     \textcolor{keyword}{call }sxclap(mm,nn,w\_data,w\_laplainv\_w,d,2\_8)
125 
\end{DoxyCode}
\mbox{\Hypertarget{namespacew__module__deriv_aafdccb5625e83fc74e07f28c29c663ae}\label{namespacew__module__deriv_aafdccb5625e83fc74e07f28c29c663ae}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!xy\+\_\+gradlambda\+\_\+w@{xy\+\_\+gradlambda\+\_\+w}}
\index{xy\+\_\+gradlambda\+\_\+w@{xy\+\_\+gradlambda\+\_\+w}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{xy\+\_\+gradlambda\+\_\+w()}{xy\_gradlambda\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:im-\/1,1\+:jm), public w\+\_\+module\+\_\+deriv\+::xy\+\_\+gradlambda\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension((nn+1)$\ast$(nn+1)), intent(in)}]{w\+\_\+data }\end{DoxyParamCaption})}



スペクトルデータに勾配型経度微分 ∂/∂λ を作用する(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w\+\_\+data} & 入力スペクトルデータ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
スペクトルデータを勾配型経度微分した格子点データ 
\end{DoxyReturn}


Definition at line 240 of file w\+\_\+module\+\_\+deriv.\+f90.



References w\+\_\+module\+\_\+base\+::xy\+\_\+w().


\begin{DoxyCode}
240 
241     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}  :: w\_data((nn+1)*(nn+1))
243     \textcolor{keywordtype}{real(DP)}              :: xy\_gradlambda\_w(0:im-1,1:jm)
244 
245     xy\_gradlambda\_w = xy\_w(w\_data,ipow=0,iflag=-1)
246 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=336pt]{namespacew__module__deriv_aafdccb5625e83fc74e07f28c29c663ae_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacew__module__deriv_a79fbe256e0d5145fc01ca38435860741}\label{namespacew__module__deriv_a79fbe256e0d5145fc01ca38435860741}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!xy\+\_\+gradlat\+\_\+w@{xy\+\_\+gradlat\+\_\+w}}
\index{xy\+\_\+gradlat\+\_\+w@{xy\+\_\+gradlat\+\_\+w}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{xy\+\_\+gradlat\+\_\+w()}{xy\_gradlat\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:im-\/1,1\+:jm), public w\+\_\+module\+\_\+deriv\+::xy\+\_\+gradlat\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension((nn+1)$\ast$(nn+1)), intent(in)}]{w\+\_\+data }\end{DoxyParamCaption})}



スペクトルデータに勾配型緯度微分 $∂/∂φ$ を作用させて 格子点データに変換して返す(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w\+\_\+data} & 入力スペクトルデータ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
スペクトルデータを勾配型緯度微分した格子点データ 
\end{DoxyReturn}


Definition at line 160 of file w\+\_\+module\+\_\+deriv.\+f90.



References w\+\_\+module\+\_\+base\+::xy\+\_\+w().


\begin{DoxyCode}
160 
161     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}  :: w\_data((nn+1)*(nn+1))
163     \textcolor{keywordtype}{real(DP)}              :: xy\_gradlat\_w(0:im-1,1:jm)
164 
165     xy\_gradlat\_w = xy\_w(w\_data,ipow=1,iflag=1)
166 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=336pt]{namespacew__module__deriv_a79fbe256e0d5145fc01ca38435860741_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacew__module__deriv_a88efad865d2eb89d3a069ac9c45b3f9b}\label{namespacew__module__deriv_a88efad865d2eb89d3a069ac9c45b3f9b}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!xy\+\_\+gradlon\+\_\+w@{xy\+\_\+gradlon\+\_\+w}}
\index{xy\+\_\+gradlon\+\_\+w@{xy\+\_\+gradlon\+\_\+w}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{xy\+\_\+gradlon\+\_\+w()}{xy\_gradlon\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:im-\/1,1\+:jm), public w\+\_\+module\+\_\+deriv\+::xy\+\_\+gradlon\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension((nn+1)$\ast$(nn+1)), intent(in)}]{w\+\_\+data }\end{DoxyParamCaption})}



スペクトルデータに勾配型経度微分 $1/\cosφ・∂/∂λ$ を 作用させた格子点データを返す(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w\+\_\+data} & 入力スペクトルデータ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
スペクトルデータを勾配型経度微分した格子点データ 
\end{DoxyReturn}


Definition at line 146 of file w\+\_\+module\+\_\+deriv.\+f90.



References w\+\_\+module\+\_\+base\+::xy\+\_\+w().


\begin{DoxyCode}
146 
147     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}  :: w\_data((nn+1)*(nn+1))
149     \textcolor{keywordtype}{real(DP)}              :: xy\_gradlon\_w(0:im-1,1:jm)
150 
151     xy\_gradlon\_w = xy\_w(w\_data,ipow=1,iflag=-1)
152 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=336pt]{namespacew__module__deriv_a88efad865d2eb89d3a069ac9c45b3f9b_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacew__module__deriv_a602369ddd0f5e6b89163ac558e0d71b1}\label{namespacew__module__deriv_a602369ddd0f5e6b89163ac558e0d71b1}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!xy\+\_\+gradmu\+\_\+w@{xy\+\_\+gradmu\+\_\+w}}
\index{xy\+\_\+gradmu\+\_\+w@{xy\+\_\+gradmu\+\_\+w}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{xy\+\_\+gradmu\+\_\+w()}{xy\_gradmu\_w()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:im-\/1,1\+:jm), public w\+\_\+module\+\_\+deriv\+::xy\+\_\+gradmu\+\_\+w (\begin{DoxyParamCaption}\item[{real(dp), dimension((nn+1)$\ast$(nn+1)), intent(in)}]{w\+\_\+data }\end{DoxyParamCaption})}



スペクトルデータに勾配型緯度微分 $(1-μ^2)∂/∂μ ,\, (μ=\sinφ)$ を作用させて格子点データに変換して返す(1 層用). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w\+\_\+data} & 入力スペクトルデータ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
スペクトルデータを勾配型緯度微分した格子点データ 
\end{DoxyReturn}


Definition at line 255 of file w\+\_\+module\+\_\+deriv.\+f90.



References w\+\_\+module\+\_\+base\+::xy\+\_\+w().


\begin{DoxyCode}
255 
256     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}  :: w\_data((nn+1)*(nn+1))
258     \textcolor{keywordtype}{real(DP)}              :: xy\_gradmu\_w(0:im-1,1:jm)
259 
260     xy\_gradmu\_w = xy\_w(w\_data,ipow=0,iflag=1)
261 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=336pt]{namespacew__module__deriv_a602369ddd0f5e6b89163ac558e0d71b1_cgraph}
\end{center}
\end{figure}


\subsection{Variable Documentation}
\mbox{\Hypertarget{namespacew__module__deriv_aa475b204ff39d1a9d988d1893de349fd}\label{namespacew__module__deriv_aa475b204ff39d1a9d988d1893de349fd}} 
\index{w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}!rn@{rn}}
\index{rn@{rn}!w\+\_\+module\+\_\+deriv@{w\+\_\+module\+\_\+deriv}}
\subsubsection{\texorpdfstring{rn}{rn}}
{\footnotesize\ttfamily real(dp), dimension(\+:,\+:), allocatable, save, public w\+\_\+module\+\_\+deriv\+::rn}



ラプラシアン演算用配列(後方互換性のため) 


\begin{DoxyItemize}
\item スペクトルデータのラプラシアンを計算するための係数 配列のサイズは((nn+1)$\ast$(nn+1), 2)
\item r(\+L,1) には L 番目の格納位置のスペクトルに対するラプラシアン計算の 係数 -\/n(n+1) の値が格納されている. 
\end{DoxyItemize}

Definition at line 50 of file w\+\_\+module\+\_\+deriv.\+f90.


\begin{DoxyCode}
50   \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{allocatable}  :: rn(:,:)
\end{DoxyCode}
