= Fortran 90/95 ソースコードファイルリスト

= List of Fortran 90/95 source code files
 
Note that Japanese and English are described in parallel. 

src ディレクトリは以下のファイル, ディレクトリから構成されています. 

SRC_LIST     :: 本ファイル
Makefile     :: 以下の各ディレクトリの Makefile を呼び出すための Makefile
TAGS         :: Emacs 用の TAGS ファイル

main/        :: 主プログラムと NAMELIST ファイル
                main/dcpam_main.F90 :: 実験用主プログラム
                main/init_data.F90  :: 初期値データファイル生成
                main/sst_data.F90   :: 地表面データファイル生成
                main/dcpam_ape_T21L16.nml, ...  :: 水惑星実験用 NAMELIST ファイル
                main/dcpam_hs94_T21L20.nml, ... :: Held and Suarez (1994) ベンチマークテスト用 NAMELIST ファイル
                main/init_data_T21L16.nml, ...  :: 初期値データファイル生成用 NAMELIST ファイル
                main/sst_data_T21.nml, ...      :: 地表面データファイル生成用 NAMELIST ファイル

setup/       :: 各種基本設定
                setup/gridset.f90 	     :: 格子点数・最大波数設定
                setup/fileset.f90 	     :: 出力ファイルの基本情報管理
                setup/axesset.F90 	     :: 座標データ設定
                setup/timeset.f90 	     :: 時刻管理
                setup/constants.f90     :: 物理定数管理
                setup/namelist_util.f90 :: NAMELIST ファイル入力に関するユーティリティ
                setup/option_parser.f90 :: コマンドライン引数解析処理

io/          :: データ入出力
                io/restart_file_io.F90     :: リスタートデータファイルの入出力
                io/restart_surftemp_io.F90 :: 地表面温度リスタートデータファイルの入出力
                io/history_file_io.F90     :: ヒストリデータファイルの出力
                io/ground_file_io.F90      :: 地表面データファイルの入力


dynamics/      :: 力学過程
                  dynamics/dynamics_hspl_vas83.F90 :: スペクトル法, Arakawa and Suarez (1983)

radiation/     :: 放射
                  radiation/radiation_band.F90 :: バンドモデル

vdiffusion/    :: 鉛直拡散
                  vdiffusion/vdiffusion_my1974.f90 :: Mellor and Yamada (1974)

phy_implicit/  :: 陰解法による時間積分
                  phy_implicit/phy_implicit.F90 :: 陰解法による時間積分

surface_flux/  :: 地表面フラックス
                  surface_flux/surface_flux_bulk.F90 :: バルク法

cumulus/       :: 積雲パラメタリゼーション
                  cumulus/cumulus_adjust.F90 :: 対流調節スキーム

lscond/        :: 大規模凝結
                  lscond/lscond.F90 :: 大規模凝結

dryconv_adjust/:: 乾燥対流調節
                  dryconv_adjust/dryconv_adjust.f90 :: 乾燥対流調節

saturate/      :: 飽和比湿の算出
                  saturate/saturate_nha1992.F90 :: Nakajima et al. (1992)
                  saturate/saturate_t1930.F90   :: Tetens (1930) 

util/          :: ユーティリティ
                  util/timefilter_asselin1972.f90  :: タイムフィルター (Asselin, 1972)

                  util/auxiliary.f90      :: 温度の半整数σレベル, 気圧と高度, エクスナー関数の算出
                  util/negative_moist.f90 :: 負の水蒸気除去
                  util/intavr_operate.f90 :: 積分と平均の操作
                  util/intg_surftemp.f90  :: 地面温度の時間積分・地表面放射補正
 
prepare_data/  :: データ生成
                  prepare_data/initial_data.F90 :: 初期値データ生成
                  prepare_data/sigma_data.f90   :: σレベル生成
                  prepare_data/surface_data.f90 :: 地表面データ生成



"src" directory is consist of following files and directories.

SRC_LIST     :: This file
Makefile     :: This Makefile calls Makefiles under following directories
TAGS         :: TAGS file for Emacs
main/        :: Main programs and NAMELIST files
                main/dcpam_main.F90 :: Main program for experiments
                main/init_data.F90  :: Initial data file generation
                main/sst_data.F90   :: Surface data file generation
                main/dcpam_ape_T21L16.nml, ...  :: NAMELIST file for aqua planet experiments
                main/dcpam_hs94_T21L20.nml, ... :: NAMELIST file for Held and Suarez (1994) benchmark test
                main/init_data_T21L16.nml, ...  :: NAMELIST file for initial data file generation
                main/sst_data_T21.nml, ...      :: NAMELIST file for surface data file generation

setup/       :: Setups
                setup/gridset.f90 	     :: Number of grid points and maximum truncated wavenumber settings
                setup/fileset.f90 	     :: Management of basic information for output files
                setup/axesset.F90 	     :: Axes data settings
                setup/timeset.f90 	     :: Time control
                setup/constants.f90     :: Physical constants control
                setup/namelist_util.f90 :: Utilities for NAMELIST file input
                setup/option_parser.f90 :: Command line option parser

io/          :: Data input/output
                io/restart_file_io.F90     :: Restart data file input/output
                io/restart_surftemp_io.F90 :: Restart data file of surface temperature input/output
                io/history_file_io.F90     :: History data file output
                io/ground_file_io.F90      :: Ground data file input


dynamics/      :: Dynamical process
                  dynamics/dynamics_hspl_vas83.F90 :: Spectral method, Arakawa and Suarez (1983)

radiation/     :: Radiation
                  radiation/radiation_band.F90 :: Band model

vdiffusion/    :: Vertical diffusion
                  vdiffusion/vdiffusion_my1974.f90 :: Mellor and Yamada (1974)

phy_implicit/  :: Time integration with implicit scheme
                  phy_implicit/phy_implicit.F90 :: Time integration with implicit scheme

surface_flux/  :: Surface flux
                  surface_flux/surface_flux_bulk.F90 :: Bulk method

cumulus/       :: Cumulus parameterization
                  cumulus/cumulus_adjust.F90 :: Convective adjustment scheme

lscond/        :: Large scale condensation
                  lscond/lscond.F90 :: Large scale condensation

dryconv_adjust/:: Dry convective adjustment
                  dryconv_adjust/dryconv_adjust.f90 :: Dry convective adjustment

saturate/      :: Evaluate saturation specific humidity
                  saturate/saturate_nha1992.F90 :: Nakajima et al. (1992)
                  saturate/saturate_t1930.F90   :: Tetens (1930) 

util/          :: Utilities
                  util/timefilter_asselin1972.f90  :: Time filter (Asselin, 1972)

                  util/auxiliary.f90      :: Calculate temperature on half sigma level,
                                             and pressure and height,
                                             and Exner function
                  util/negative_moist.f90 :: Remove negative moisture
                  util/intavr_operate.f90 :: Operation for integral and average
                  util/intg_surftemp.f90  :: Time integration of surface temperature, correction of flux on surface
 
prepare_data/  :: Data generator
                  prepare_data/initial_data.F90 :: Initial data generator
                  prepare_data/sigma_data.f90   :: Sigma level generator
                  prepare_data/surface_data.f90 :: Surface data generator



