% 表題   AGCM5 第4部 コードリファレンス GCM基本ルーチンライブラリ
%
% 履歴   
\Drireki{92/10/14 竹広真一}
%


\section{サブルーチンの説明 : ルジャンドル函数}
\label{uspst}

ルジャンドル函数およびルジャンドル変換の準備に関するサブルーチン群. 

\subsection{SETPNM}
\label{setpnm}
\begin{enumerate}
  \item 機能 
      \begin{quote}
        格子点上でのルジャンドル函数 $P_{l+m}^m(\mu)$ の値と
        その微分 $\displaystyle{ (\mu^2-1)\DD{P_{l+m}^m}{\mu}}$ を計算する. 
      \end{quote}
  \item 呼び出し方法 
      \begin{verbatim}
         CALL SETPNM
     O         ( PNM   , DPNM  , NMO   ,
     I           QSINLA,
     D           JMAX  , MMAX  , LMAX  , NMAX  , MINT  , 
     D           NMDIM , JMXHF ,
     W           QPNM  , QDPNM                                  )
      \end{verbatim}
  \item パラメーターの説明 
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt PNM}    & {\tt [R]} & ルジャンドル関数. 
                                 大きさ{\tt (NMDIM,JMXHF)} の配列. \\
      {\tt DPNM}   & {\tt [R]} & ルジャンドル函数の微分.
                                 大きさ{\tt (NMDIM,JMXHF)}の配列 \\
      {\tt NMO}    & {\tt [I]} & スペクトルの添字順番. 
                                 大きさ{\tt (2,0:MMAX,0:LMAX)} の配列. \\
      {\tt QSINLA} & {\tt [R*(8)]}& ルジャンドル函数を計算する点の座標.
                                    AGCM5 では $\sin$(緯度) を与えて計
                                    算する. 大きさ{\tt (JMAX)}の配列.\\
      {\tt JMAX}   & {\tt [I]} & 配列の大きさ \\
      {\tt MMAX}   & {\tt [I]} & 配列の大きさ \\
      {\tt LMAX}   & {\tt [I]} & 配列の大きさ \\
      {\tt NMAX}   & {\tt [I]} & 配列の大きさ \\
      {\tt MINT}   & {\tt [I]} & 配列の大きさ \\
      {\tt NMDIM}  & {\tt [I]} & 配列の大きさ \\
      {\tt JMXHF}  & {\tt [I]} & 配列の大きさ \\
      {\tt QPNM}   & {\tt [R*(8)]}& 大きさ{\tt (0:NMAX+1,0:MMAX)}の
                                    作業配列. ルジャンドル関数の値\\
      {\tt QDPNM}  & {\tt [R*(8)]}& 大きさ{\tt (0:NMAX+1,0:MMAX)}の
                                    作業配列. ルジャンドル関数の微分\\
    \end{tabular}
  \end{quote}
  \item 備考 
  \begin{enumerate}
    \item  $P_{{\tt L+M}}^{\tt M}({\tt QSINLA(J)})$ の値が 
           {\tt \{PNM(NMO(I,L,M),J),I=1,2\}}に格納される. 
           {\tt DPNM} も同様である. {\tt I=1,2} にはどちらも同じ値が格納
           されている. 
  \end{enumerate}
\end{enumerate}

\subsection{LGNDRE}
\label{lgndre}
\begin{enumerate}
  \item 機能 
      \begin{quote}
        ルジャンドル函数 $P_n^m(\mu)$ と
        その微分 $\displaystyle{ (\mu^2-1)\DD{P_n^m}{\mu}}$ を計算する. 
      \end{quote}
  \item 呼び出し方法 
      \begin{verbatim}
          CALL LGNDRE
         I         ( CTHETA , MMAX  , NMAX,
         O           QPNM   , QDPNM                )
      \end{verbatim}
  \item パラメーターの説明 
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt CTHETA} & {\tt [R*(8)]} & $ \mu = \sin$ 緯度. \\
      {\tt MMAX}   & {\tt [I]}  & 第一指数 $n$ の最大値. \\
      {\tt NMAX}   & {\tt [I]}  & 第二指数 $m$ の最大値. \\
      {\tt QPNM}   & {\tt [R*(8)]} & 
        長さ {\tt (0:NMAX+1, 0:MMAX)} の配列. 
        {\tt QPNM(n,m)}がルジャンドル函数 $P_n^m(\mu)$ の値を与える.\\
      {\tt QDPNM}  & {\tt [R*(8)]} & 
        長さ {\tt (0:NMAX+1, 0:MMAX)}の配列.  {\tt QDPNM(n,m)} が
        ルジャンドル函数の微分 $ (\mu^2-1)d P_n^m(\mu)/d\mu $ の
        値を与える. \\
    \end{tabular}
  \end{quote}
  \item 備考 
  \begin{enumerate}
    \item 特になし
  \end{enumerate}
\end{enumerate}

\subsection{GAUSS}
\label{gauss}
\begin{enumerate}
  \item 機能 
  \begin{quote}
     ガウス緯度格子とガウス加重を計算する. 
  \end{quote}
  \item 呼び出し方法 
      \begin{verbatim}
          CALL GAUSS
         O         ( CTHETA , GW     ,
         I           JMAX             )
      \end{verbatim}
  \item パラメーターの説明 
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt CTHETA} & {\tt [R*(8)]} & 長さ {\tt JMAX} の配列. 
                                  ガウス格子の $\mu = \sin$ 緯度を与える. \\
      {\tt GW}     & {\tt [R*(8)]} & 長さ {\tt JMAX} の配列. 
                                  ガウス加重を与える. \\
      {\tt JMAX}   & {\tt [I]}  & 配列 {\tt CTHETA}, {\tt GW} の長さ. \\
    \end{tabular}
  \end{quote}
  \item 備考 
  \begin{enumerate}
    \item {\tt JMAX} は作業用配列の大きさ {\tt JMAXD} 以下でなければならない 
          {\tt JMAXD} の標準値は 200 なので, {\tt JMAX} がこれ以上の値
          をとる時には {\tt JMAXD} の値を書き換える必要がある.  
    \item {\tt CTHETA} は大きい側から順に(緯度にすれば北から順に)
          ガウス格子点の位置が与えられる. すなわち, 
              $ 1>$ {\tt CTHETA(1)} $>$ {\tt CTHETA(2)} $>$ \ldots 
              $>$ {\tt CTHETA(JMAX)} $>-1 $ 
          となる. 
  \end{enumerate}
\end{enumerate}

%\newpage
