dcpam 使い方メモ
個人的なメモ.
sjpack を使うためには:
- -DSJPACK or -DAXISYMMETRY_SJPACK を付けてコンパイル.
軸対称計算を行うためには:
- -DAXISYMMETRY or -DAXISYMMETRY_SJPACK を付けてコンパイル.
経度方向の格子点数を 1 とする. つまり, namelist ファイルで下のように指定.
&gridset_nml nmax = XX, ! 最大全波数. ! Maximum truncated wavenumber imax = 1, ! 経度格子点数. ! Number of grid points in longitude jmax = XX, ! 緯度格子点数. ! Number of grid points in latitude kmax = XX ! 鉛直層数. ! Number of vertical level /
"!" で始まるコメントはなくても良い.
- 備考
- 上記変更は, 軸の設定と力学過程の設定にのみ反映される.
- 物理過程は軸対称になっていない.
- 具体的に問題になるのは放射である. 放射過程を「軸対称」 にするためには, 別途放射過程において日平均フラグ (と 年平均フラグ) を設定する必要がある.
鉛直一次元計算を行うためには:
水平方向の格子点数を 1 とする. つまり, namelist ファイルで, 下のように指定.
&gridset_nml nmax = XX, ! 最大全波数. ! Maximum truncated wavenumber imax = 1, ! 経度格子点数. ! Number of grid points in longitude jmax = 1, ! 緯度格子点数. ! Number of grid points in latitude kmax = XX ! 鉛直層数. ! Number of vertical level /
namelist ファイルで, 以下を指定:
&dcpam_main_nml FlagDynamics = .false. /
- 備考
- コンパイル時には特に指定の必要なし.
- 鉛直一次元計算で現在使用できる力学過程は, 大規模水平風のみ である (鉛直移流は含まない).
- モデルの鉛直一次元化においては, 以下の 2 つのファイルのみ編集
- src/setup/gridset.F90
- src/setup/axesset.F90
本モデルの鉛直一次元計算では, ある緯度・経度一点の大気カラム の計算である. その緯度・経度は, namelist ファイルで以下のよ うに指定:
&axesset LonInDeg = <longitude>, LatInDeg = <latitude> /
力学過程のみで計算を行うためには:
namelist ファイルに以下を指定:
&dcpam_main_nml FlagFullPhysics = .false. /
物理過程のみで計算を行うためには:
namelist ファイルに以下を指定:
&dcpam_main_nml FlagDynamics = .false. /
惑星や大気の定数を変えて計算を行うためには:
namelist ファイルに以下を指定 (下は木星を想定した例):
&constants_nml RPlanet = 69860.0d3, ! $ a $ [m]. ! 惑星半径. ! Radius of planet Omega = 1.7587d-4, ! $ \Omega $ [s-1]. ! 回転角速度. ! Angular velocity Grav = 26.0d0, ! $ g $ [m s-2]. ! 重力加速度. ! Gravitational acceleration CpDry = 12619.0d0, ! $ C_p $ [J kg-1 K-1]. ! 乾燥大気の定圧比熱. ! Specific heat of air at constant pressure MolWtDry = 2.3d-3 ! $ ?? $ [kg mol-1]. ! 乾燥大気の平均分子量. ! Mean molecular weight of dry air /
"!" で始まるコメントはなくても良い.
Held and Suarez (1994) の実験を行うためには:
namelist ファイルに以下を指定:
&dcpam_main_nml FlagFullPhysics = .false., FlagHS94 = .true. /
土壌温度熱伝導方程式を含む物理過程を用いた計算を行うためには:
namelist ファイルに以下を指定:
&dcpam_main_nml FlagPhyImp1LayModel = .false., FlagPhyImpSoilModel = .true. /
土壌温度熱伝導方程式を含み, slab ocean で計算を行うためには:
namelist ファイルに以下を指定:
&dcpam_main_nml FlagPhyImp1LayModel = .false., FlagPhyImpSoilModel = .true., FlagPhyImpSoilModelSO = .true. /
地球のような惑星の放射過程を使って計算するためには:
namelist ファイルに以下を指定:
&dcpam_main_nml FlagRadiationDennouAGCM = .false., FlagRadiationDcpamEV1 = .true. /
火星のような惑星の放射過程を使って計算するためには:
namelist ファイルに以下を指定:
&dcpam_main_nml FlagRadiationDennouAGCM = .false., FlagRadiationDcpamMV1 = .true. /
金星のような惑星の強制を使って計算を行うためには:
namelist ファイルに以下を指定:
&dcpam_main_nml FlagFullPhysics = .false., FlagVenusSimple = .true. /
木星のような惑星の強制を使って計算を行うためには:
namelist ファイルに以下を指定:
&dcpam_main_nml FlagFullPhysics = .false., FlagJupiterSimple = .true. /