DCPAM Main Program.
----- NAMELIST 名設定モジュール -----
use nmlfile_mod, only: nmlfile_init, nmlfile_open, nmlfile_close
----- 物理定数設定モジュール -----
use constants_mod, only: SecPerDay
----- 構造体参照モジュール -----
use dycore_type_mod, only: DYCORE_VARS, DYCORE_DIMS, STRING, INTKIND, REKIND
----- 格子点取得モジュール -----
use dycore_grid_mod, only: dycore_grid_init, dycore_grid_end, & & im, jm, km, nm
----- データI/Oモジュール -----
use dycore_in_mod, only: dycore_in_init, & & dycore_in_dims, dycore_in_vars, & & dycore_in_end use dycore_out_mod, only: dycore_out_init, dycore_out_put, & & dycore_out_end
----- 力学過程モジュール (スペクトルモデル用) -----
use dycore_dynamics_mod, only: dycore_dynamics_init, & & dycore_dynamics_prediction, & & dycore_dynamics_diagnostic, & & dycore_dynamics_diffusion, & & dycore_dynamics_end
----- Held and Suarez(1994) モジュール -----
use dycore_hs94forcing_mod, only: dycore_hs94forcing_init, & & dycore_hs94forcing , & & dycore_hs94forcing_end
----- 時間更新・タイムフィルターモジュール -----
use dycore_time_mod, only: dycore_time_init, dycore_time_progress, & & dycore_time_end, dycore_time_filter, & & StepInterval, OutputStep, & & CurrentLoop, CurrentTime, DelTime ! & dycore_time_filter
----- デバッグ・汎用ツール -----
use dc_trace, only: SetDebug, DbgMessage, BeginSub, EndSub use dc_message,only: MessageNotify use dc_string, only: toChar, Printf
実験設定を行う。
logical :: CalcDynamics = .true. ! 力学コアの演算 logical :: CalcDiffusion = .true. ! 拡散項の演算 logical :: CalcHS94forcing = .true. ! Held and Suarez(1994) による強制 namelist /dycore_nml/ & & CalcDynamics , & ! 力学コアの演算 & CalcDiffusion , & ! 拡散項の演算 & CalcHS94forcing ! Held and Suarez(1994) による強制