% 表題   Nakajima et al.,1992 test program  コード解説 -- 変数の命名法について
%
% 履歴
%\Drireki{2012/11/06 大西 将徳}
%\Drireki{2012/11/06 大西 将徳}
%
\section{変数, 定数の命名法について}
\label{ss:変数命名法}

モデル中の主要な変数の命名法は dcmodel プログラミングガイドライン

http://www.gfd-dennou.org/library/dcmodel/coding-rules/dcmodel-coding-rules.htm

を基本としている。

\subsection{基本ルール}

配列型の変数名の基本形はdcmodel プログラミングガイドラインに準拠し、
以下のようにする。
%
\vspace{-2ex}
\begin{verbatim}
     (次元情報に関する接頭詞)_(物理的意味)
\end{verbatim} \vspace{-2ex}
%
なお、本プログラムでは鉛直1次元の系を考えているため、次元情報に関する接頭辞はzのみである。


\subsection{変数、定数の例}

上記の規則に基づく変数の例を示す. 

\vspace{-3ex}
\begin{itemize}
\item 1 次元配列である座標データの例

  \begin{itemize}
   \item {\tt z\_Press \ \ \ }: 圧力[Pa]
   \item {\tt z\_Temp \ \ \ }: 気温[K]
   \item {\tt z\_OptDep \ }: 光学的厚さ
   \item {\tt z\_RadLUwFlux\ \ }: 上向き長波放射フラックス[W m$^{-2}$]
  \end{itemize}

\vspace{-0ex}
\item 物理定数の例

  \begin{itemize}
   \item {\tt GasRUniv}: 気体定数(= 8.314 [J K$^{-1}$ mol$^{-1}$])
   \item {\tt StB}: ステファンボルツマン定数(= 5.67 $\times$ 10$^{-8}$ [W m$^{-2}$ K$^{-4}$])
   \item {\tt MolWtDry}: 乾燥空気の平均分子量[kg mol$^{-1}$]
   \item {\tt CpDry}: 乾燥空気の定圧比熱[J K$^{-1}$ mol$^{-1}$]
   \item {\tt AbsCoefWetCom}: 非凝結性気体の吸収係数[m$^2$ kg$^{-1}$]
  \end{itemize}

\end{itemize}
\vspace{-3ex}

%\subsection{関数の利用}
%
%Takehiro {\it et al.} (2006) の手法に準拠し, 
%    支配方程式系の数式表現に似せたソースコードを
%    記述するために, 配列を返す利用者定義関数を積極的に用いる.
%    関数の命名法に関しては \ref{関数命名法}を参照されたい.
%dcpam5 は力学過程の離散化にスペクトル法を用いており, 
%    このスペクトル演算には Takehiro {\it et al.} (2006)
%    で紹介される SPMODEL ライブラリ (spml) を用いる.
%    spml はスペクトル計算のための既存 Fortran 77 ライブラリである
%    ISPACK (Ishioka, 2005) から提供されるサブルーチン群を,
%    Fortran 90 で強化された配列機能を利用して関数でくるむことに
%    より作成されたものである. ISPACK が提供していた格子点空間と
%    スペクトル空間との変換に加えて,
%    微分積分計算をも関数として新たに追加している. 
%
%ただし, これはサブルーチンの使用を禁止するものではないことに留意すること. 
%引数の数が多い場合には関数の利用は逆にソースコードの見通しを悪くするため, 
%    引数の数および支配方程式系の数式表現との対応を
%    考慮しつつ, 関数とサブルーチンのどちらを使用するか
%    判断する必要がある. 
%
%\subsection{関数命名法}
%
%\subsubsection*{基本ルール}
%
%関数名の基本形は以下のようにする. 
%
%\vspace{-2ex}
%\begin{verbatim}
%      (返り値の次元情報を示す接頭詞)_(機能)_(引数の次元情報を示す接尾詞)
%\end{verbatim}
%\vspace{-2ex}
%
%ただし, 引数が複数である場合,
%さらにこの後ろに ``\verb|_(引数の次元情報を示す接尾詞)|''
%を引数の数だけ並べるようにする.
%
%次元情報に関する接頭詞・接尾詞の具体例は
%\ref{変数命名法}を参照されたい. 
%
%以下に Takehiro {\it et al.} (2006) の spml ライブラリから
%提供される関数を例として挙げる. 
%
%\vspace{-2ex}
%\begin{itemize}
% \item xy 2 次元データの     
%       緯度方向平均を返す関数: \verb|x_AvrLat_xy|
%
% \item 2 つの xy 2 次元データ
%       に発散を作用させてスペ
%       クトルデータを返す関数: \verb|w_Div_xy_xy|
%       
%\end{itemize}



