\documentclass[titlepage]{jarticle}
\title{DCPAM Reference Manual}
\author{GFD Dennou Club}
\begin{document}
\maketitle
\tableofcontents
\clearpage
\section{\label{label:0} Module constants\_mod}

\begin{itemize}
\item Developers: Morikawa Yasuhiro
\item Version: \$Id: constants.f90,v 1.10 2005/01/20 11:03:46 morikawa Exp \$
\item Tag Name: \$Name:  \$
\item Change History: 
\end{itemize}
\subsection{\label{label:1} Overview}

This module set physical constants.
Default value is standard condition on the earth.
These values could be changed by NAMELIST.

物理定数を設定するためのモジュールである。
デフォルトでは地球上の標準状態の値を持っているが、
NAMELIST により変更することも可能である。

\subsection{\label{label:2} Error Handling}

\subsection{\label{label:3} Known Bugs}

\subsection{\label{label:4} Note}

\subsection{\label{label:5} Future Plans}

\subsection{\label{label:6} Dependency}

\begin{verbatim}
use type_mod, only : REKIND, DBKIND, INTKIND, TOKEN, STRING
\end{verbatim}
\subsection{\label{label:7} Public Interface}

\begin{verbatim}
private
public :: constants_init, constants_end  ! subroutines
public :: & ! variables
     &    PI, R0, Omega, Grav, Cp, RAir, EL, CpVap, RVap,  &
     &    DH2O, EpsV, ES0, StB, FKarm, EpsVT, SecPerDay,   &
     &    EFoldTime, TempAve, TimeFilter, VisOrder,        &
     &    TimeFilterStepInt
\end{verbatim}
\subsection{\label{label:8} Public Data}

\begin{verbatim}
real(DBKIND), save  ::  & ! follow data is default values.
     &
     & PI        = 3.141592653589793 , & ! 円周率
     & R0        = 6.371d6           , & ! 球の半径
     & Omega     = 7.292d-5          , & ! 回転角速度
     & Grav      = 9.8d0             , & ! 重力加速度
     &
     & Cp        = 1004.6d0          , & ! 大気定圧比熱
     & RAir      = 287.04d0          , & ! 大気気体定数
     & EL        = 2.5d6             , & ! 水の凝結の潜熱
     & CpVap     = 1810.0d0          , & ! 水蒸気定圧比熱
     & RVap      = 461.0d0           , & ! 水蒸気気体定数
     & DH2O      = 1000.0d0          , & ! 水の密度
     & EpsV      = 0.6226464208      , & ! 水と大気の分子量比ε
     & ES0       = 611.0d0           , & ! ０℃飽和蒸気圧：Ｐａ
     & StB       = 5.67d-8           , & ! Stefan-Boltzman
     & FKarm     = 0.4d0             , & ! Karman 定数
     & EpsVT     = 0.6060479376      , & ! 1/ε-1
     &
     & SecPerDay = 86400.0d0         , & ! 1日あたりの秒数 
     &
     & EFoldTime = 8640.0d0          , & ! 最大波数に対する e-folding time
     & TempAve   = 300.0             , & ! 平均温度
     & TimeFilter= 0.05                  ! 時間フィルター係数

integer(INTKIND), save ::  &
     & VisOrder          = 4         , & ! 超粘性の次数
     & TimeFilterStepInt = 1             ! 時間フィルターするステップ間隔
\end{verbatim}
\subsection{\label{label:9} Procedure Interface}

\subsubsection{\label{label:10} Initialize module and acquire NAMELIST}

モジュールを初期化し、NAMELIST から値を取得する。
NAMELIST から値が取得できないものに関しては上記のデフォルト値が
用いられる。

NAMELIST ファイルは、メインプログラムにて  nmlfile\_mod  の
 nmlfile\_init  で指定されることが想定されているが、
もしもこの初期化ルーチンより以前に指定されていなければ、
 nmlfile\_init  のデフォルトで指定される NAMELIST ファイルを
読む。

\begin{verbatim}
subroutine constants_init
\end{verbatim}
\paragraph{\label{label:11} Dependency} \

\begin{verbatim}
use type_mod   , only : REKIND, DBKIND, INTKIND, TOKEN, STRING
use nmlfile_mod, only : nmlfile_init, nmlfile_open, nmlfile_close
use dc_trace   , only : BeginSub, EndSub, DbgMessage
use dc_message , only : MessageNotify
\end{verbatim}
\paragraph{\label{label:12} NAMELIST} \

\begin{verbatim}
namelist /constants_nml/ &
     &
     & PI                , & ! 円周率
     & R0                , & ! 球の半径
     & Omega             , & ! 回転角速度
     & Grav              , & ! 重力加速度
     &
     & Cp                , & ! 大気定圧比熱
     & RAir              , & ! 大気気体定数
     & EL                , & ! 水の凝結の潜熱
     & CpVap             , & ! 水蒸気定圧比熱
     & RVap              , & ! 水蒸気気体定数
     & DH2O              , & ! 水の密度
     & EpsV              , & ! 水と大気の分子量比ε
     & ES0               , & ! ０℃飽和蒸気圧：Ｐａ
     & StB               , & ! Stefan-Boltzman
     & FKarm             , & ! Karman 定数
     & EpsVT             , & ! 1/ε-1
     &
     & SecPerDay         , & ! 1日あたりの秒数
     &
     & EFoldTime         , & ! 最大波数に対する e-folding time
     & TempAve           , & ! 平均温度
     & TimeFilter        , & ! 時間フィルター係数
     & TimeFilterStepInt , & ! 時間フィルターするステップ間隔
     & VisOrder              ! 超粘性の次数
\end{verbatim}
\subsubsection{\label{label:13} Terminate module}

NAMELIST から読み込んだ値を破棄し、各定数をデフォルトの値に戻す。

\begin{verbatim}
subroutine constants_end
\end{verbatim}
\paragraph{\label{label:14} Dependency} \

\begin{verbatim}
use dc_trace,    only : BeginSub, EndSub, DbgMessage
\end{verbatim}

\end{document}
