DCPAM 熱帯低気圧実験 2 (解像度依存性実験)

前置き

解像度の表記方法

DCPAM は水平方向を球面調和関数を基底関数とするスペクトル変換法で 離散化し, 鉛直方向を差分方法で離散化している. このようなモデルでは, モデルの解像度を TXXLYY と表記する. XX は水平変化を表すために用いる球面調和関数の最大全波数であり, YY は鉛直層数である. また, T は三角形切断 (Triangular truncation) の頭文字である. L は層 (Layer) の頭文字だろう.

なお, 経度方向, 緯度方向の格子点数をそれぞれ IM, JM とすると, XX = (IM-1)/3 となる. また, JM = IM/2 である.

実験の方法

解像度ごとに実験ディレクトリを作り, 設定ファイルを用意して実験を行う. 各ディレクトリごとに

  • init_data_RJ2011_*.conf : 大気初期値作成用設定ファイル
  • surface_data_RJ2011_*.conf : 惑星表面初期値作成用設定ファイル
  • dcpam_RJ2011_*.conf : DCPAM 実験用設定ファイル

である.

解像度が高いほど計算に要する時間が長くなることに注意すること.

注意

高い解像度の実験を行う際にはディスクサイズに注意すること.

解像度 T85L26

init_data_RJ2011_T42L26.conf, surface_data_RJ2011_T42.conf, dcpam_RJ2011_T42L26.conf を書き換えて実行する.

init_data_RJ2011_T42L26.conf

&gridset_nml
  nmax =  42
  imax = 128
  jmax =  64
  ...
/
--->
&gridset_nml
  nmax =  85
  imax = 256
  jmax = 128
  ...
/

surface_data_RJ2011_T42.conf

&gridset_nml
  nmax =  42
  imax = 128
  jmax =  64
  ...
/
--->
&gridset_nml
  nmax =  85
  imax = 256
  jmax = 128
  ...
/

dcpam_RJ2011_T42L26.conf

&gridset_nml
  nmax =  42
  imax = 128
  jmax =  64
  ...
/
--->
&gridset_nml
  nmax =  85
  imax = 256
  jmax = 128
  ...
/

&timeset_nml
  ...
  DelTimeValue    = 60.0, !
  ...
/
--->
&timeset_nml
  ...
  DelTimeValue    = 48.0, !
  ...
/

&set_O3_nml
  ...
  O3File = "../data_APE_NH01/O3_NH01_T042.nc"
  ...
/
--->
&set_O3_nml
  ...
  O3File = "../data_APE_NH01/O3_NH01_T085.nc"
  ...
/

&dynamics_hspl_vas83_nml
  ...
  HDEFoldTimeValue = 1.0,
  ...
/
--->
&dynamics_hspl_vas83_nml
  ...
  HDEFoldTimeValue = 0.5,
  ...
/

&cloud_simple_nml
  ...
  CloudWatLifeTime  =  1980.0d0,
  CloudIceLifeTime  =  9000.0d0,
/
--->
&cloud_simple_nml
  ...
  CloudWatLifeTime  =  1620.0d0,
  CloudIceLifeTime  =  9000.0d0,
/

解像度 T170L26

init_data_RJ2011_T42L26.conf, surface_data_RJ2011_T42.conf, dcpam_RJ2011_T42L26.conf を書き換えて実行する.

&gridset_nml
  nmax = 170
  imax = 512
  jmax = 256
  ...
/

&timeset_nml
  ...
  DelTimeValue    = 15.0
  ...
/

&set_O3_nml
  ...
  O3File = "../data_APE_NH01/O3_NH01_T170.nc"
  ...
/

&dynamics_hspl_vas83_nml
  ...
  HDEFoldTimeValue = 0.25
  ...
/

&cloud_simple_nml
  ...
  CloudWatLifeTime  =  1620.0d0,
  CloudIceLifeTime  =  9000.0d0,
/

解像度 T341L26

init_data_RJ2011_T42L26.conf, surface_data_RJ2011_T42.conf, dcpam_RJ2011_T42L26.conf を書き換えて実行する.

&gridset_nml
  nmax =  341
  imax = 1024
  jmax =  512
  ...
/

&timeset_nml
  ...
  DelTimeValue    = 6.0
  ...
/

&set_O3_nml
  ...
  O3File = "../data_APE_NH01/O3_NH01_T341.nc"
  ...
/

&dynamics_hspl_vas83_nml
  ...
  HDEFoldTimeValue = 0.1
  ...
/

&cloud_simple_nml
  ...
  CloudWatLifeTime  =  1620.0d0,
  CloudIceLifeTime  =  9000.0d0,
/

これらをダウンロードして実験する.

ただし, この解像度の実験は, 情報実験機では実行できないかもしれない. メモリが足らない. 実行できない場合には相談.

並列実験方法 (相談時のためのメモ)

  • 準備
  • 実行時の注意
    • 並列計算のためには mpiexec を用いて実行する
      • 大気用初期値の作成

        $ ./bin/dcpam_init_data -N=./conf/init_data_RJ2011_...

        の代わりに

        $ mpiexec -n 4 ./bin/dcpam_init_data -N=./conf/init_data_RJ2011_...

        とする. その結果, 0000/rst_rank*.nc ができる.

      • 惑星表面用初期値の作成

        $ ./bin/dcpam_init_data_surface -N=./conf/surface_data_RJ2011_...

        の代わりに

        $ mpiexec -n 4 ./bin/dcpam_init_data_surface -N=./conf/surface_data_RJ2011_...

        とする. その結果, 0000/rst_sst_rank*.nc ができる.

      • 実験の実行

        $ ./bin/dcpam_main -N=./conf/dcpam_RJ2011_T42L26.conf

        の代わりに

        $ mpiexec -n 4 ./bin/dcpam_main -N=./conf/dcpam_RJ2011_...

        とする. その結果, 0000/*_rank*.nc ができる.

  • 実行後の処理
    • 並列計算実行後には計算結果が並列数個のファイルに分かれている.
    • それらは一つのファイルにまとめてしまった方が解析が簡単である.
    • 一つにまとめるには <URL:util_merge-2011-03-28-2_rj2011.tgz> を用いると良い.
      • 各実験ディレクトリにおいてファイルを解凍し, 結合用のプログラムをコンパイルし, 実行する.
      • 手順
        • 解凍

          $ tar xvf util_merge-2011-03-28-2_rj2011.tgz
          $ cd util_merge-2011-03-28-2_rj2011
        • コンパイル

          $ make

          実行ファイルは merge_ncf である.

        • 設定の変更 (確認) 設定ファイルは merge.nml である. このファイルの中身を確認する. 少なくとも並列数を変更 (確認) すること. 並列数はファイル内の,

          &proc nprocs = 64 /

          で設定されている.

        • 実行

          $ ./merge_ncf

          実行後にはまとめられたファイルができる.

解像度 T682L26

設定ファイルは <URL:para_T682L26/> の *.conf ファイルである. これらをダウンロードして実験する.

ただし, この解像度の実験は, 情報実験機では実行できない. メモリが足らない. 計算結果は用意できると思うので相談.