%表題 共通 座標  緯度, 経度の計算
%
%履歴   93/09/15 保坂征宏
%
%
%
\section{サブルーチンの説明 : 緯度経度定数の計算}

モデル緯度経度定数を計算する. 
\verb!SETLAT,SETLON! は緯度・経度座標を計算し軸名称も設定する. 
\verb!STNLAT,STNLON! は軸名称の設定のみを行なう. 

\subsection{SETLAT}
\label{setlat}
\begin{enumerate}
  \item 機能 
    \begin{quote}
      モデル緯度座標定数の計算を行なう. 
    \end{quote}

  \item 呼び出し方法
    \begin{verbatim}
      SUBROUTINE SETLAT      !"  モデル緯度座標定数の計算 
     O         ( ALAT  , DLAT  , HALAT  ,
     D           JMAX  , JDIM             )
    \end{verbatim}
  \item パラメタの説明
    \begin{verbatim}
* 次元定数
      INTEGER    JMAX, JDIM
* 出力
      REAL       ALAT  ( JDIM )              !" 緯度
      REAL       DLAT  ( JDIM )              !" 緯度荷重
      CHARACTER  HALAT  *(NCC)               !" 緯度軸名称
* ネームリスト
      NAMELIST   NMLAT0                      !" JMAX=1 の時の緯度
    \end{verbatim}

  \item 備考
    \begin{enumerate}
      \item \verb!JDIM! は 作業領域の大きさである \verb!JDIMD! 以下
            でなくてはならない. 
            \verb!JDIMD! は現在 200 であり, 
            \verb!JDIM! がこれを越えるときには
            \verb!JDIMD! を書き換える必要がある. 
      \item \verb!JDIMD! 問題は \verb!zcdim.F! をインクルードするよう, 
            実際作業する \verb!GAUSS! 共々変更すれば良いと思われる. 
      \item 手順は以下のとおり. 
          \begin{enumerate}
            \item 緯度, ガウス荷重の計算. 
                  \verb!JMAX! が 2 以上のときは
                  \verb!GAUSS! を呼んで行なう. \verb!JMAX=1! の時は
                  ネームリスト \verb!NMLAT0! を読んで緯度を設定する. 
                  なお, \verb!JDIM>JMAX! の場合, \verb!JMAX! を越える
                  配列については \verb!JMAX! での緯度を与える. 
            \item 軸名称の決定. \verb!GGLA??! (\verb!??! には 
                  \verb!JMAX! の値が入る ) とする. 
          \end{enumerate}
    \end{enumerate}

\end{enumerate}

\subsection{STNLAT}
\label{stnlat}
\begin{enumerate}
  \item 機能 
    \begin{quote}
      モデル緯度軸名称の決定. 
    \end{quote}
  \item 呼び出し方法
    \begin{verbatim}
      ENTRY      STNLAT
     O         ( HALAT ,
     I           JMAX    )
    \end{verbatim}

  \item パラメタの説明
    \begin{verbatim}
* 次元定数
      INTEGER    JMAX
* 出力
      CHARACTER  HALAT  *(NCC)               !" 緯度軸名称
    \end{verbatim}
    
  \item 備考
    \begin{enumerate}
      \item \verb!SETLAT! での緯度軸名称決定方法に同じ. 
    \end{enumerate}

\end{enumerate}

\subsection{SETLON}
\label{setlon}
\begin{enumerate}
  \item 機能 
    \begin{quote}
      モデル経度座標定数の計算を行なう. 
    \end{quote}

  \item 呼び出し方法
    \begin{verbatim}
      SUBROUTINE SETLON      !"  モデル経度座標定数の計算 
     O         ( ALON  , DLON  , HALON ,
     D           IMAX  , IDIM            )
    \end{verbatim}
  \item パラメタの説明
    \begin{verbatim}
* 次元定数
      INTEGER    IMAX, IDIM
* 出力
      REAL       ALON  ( IDIM )              !" 経度
      REAL       DLON  ( IDIM )              !" 経度差分
      CHARACTER  HALON  *(NCC)               !" 経度軸名称
    \end{verbatim}
    
  \item 備考
    \begin{enumerate}
      \item \verb!SETLAT! では \verb!JMAX=1! の場合を別処理していたが, 
            ここでは \verb!IMAX=1! の場合は特別扱いしていない. 
      \item 手順は以下のとおり. 
          \begin{enumerate}
            \item 経度, 経度重みの計算. 
                  経度の値は 1 番目から順に 0,\verb!1/IMAX!, $\cdots$ 
                  である. 
                  なお, \verb!IDIM>IMAX! の場合, \verb!IMAX! を越える
                  配列については $360^{\circ}$ を越えた値を
                  構わず与える. 
            \item 軸名称の決定. \verb!GLON??! (\verb!??! には 
                  \verb!IMAX! の値が入る ) とする. 
          \end{enumerate}
    \end{enumerate}

    
\end{enumerate}

\subsection{STNLON}
\label{stnlon}
\begin{enumerate}
  \item 機能 
    \begin{quote}
      モデル緯度軸名称の決定. 
    \end{quote}
  \item 呼び出し方法
    \begin{verbatim}
      ENTRY      STNLON
     O         ( HALON ,
     I           IMAX    )
    \end{verbatim}

  \item パラメタの説明
    \begin{verbatim}
* 次元定数
      INTEGER    IMAX
* 出力
      CHARACTER  HALON  *(NCC)               !" 経度軸名称
    \end{verbatim}

  \item 備考
    \begin{enumerate}
      \item \verb!SETLON! での緯度軸名称決定方法に同じ. 
    \end{enumerate}

\end{enumerate}
