Neale and Hoskins (2001) によって提案された, 惑星表面が全て水であるような条件 (水惑星) で, 軸対称実験を行う方法を説明します.
この計算には以下の物理過程を用いています.
本実験では, 軸対称モデルを用いて計算を行います. 軸対称版力学過程を使うためには, FFLAGS に -DAXISYMMETRY または -DAXISYMMETRY_SJPACK を 与えてビルドしなおす必要があることに注意してください.
本実験では, 海表面温度のデータが必要です. したがって, 実験の実行は以下の 4 つのステップで行います.
practice ディレクトリに移動してください.
$ cd practice
そのディレクトリ内で, make コマンドを実行してください. 自動的に実行ファイルや NAMELIST ファイルがコピーされます. make コマンド入力後, まずディレクトリ名を適宜入力してください. (下記の例では ape-nh01-exp としています). それ以降の質問はとりあえずそのまま Enter キーを入力してください.
$ make ****** Setup a directory for a experiment ****** Enter directory name [testXX]: ape-nh01-exp-axisym Directory in which executable files are prepared [../src/main]: :
そしてそのディレクトリに移動します.
$ cd ape-nh01-exp-axisym
なお, このディレクトリ内以外でも, 実行ファイル, 設定ファイル (namelist ファイル) があれば計算を行うことはできます.
init_data と init_data_ape_nh01_axisym_T21L22.nml を用いて初期値ファイル init_T21L22.nc を作成します.
$ ./init_data -N=init_data_ape_nh01_axisym_T21L22.nml *** MESSAGE [init_data] *** Run: Initial data generation *** MESSAGE [init_data] *** -- version = $Name: dcpam5-20110327 $$Id: exp-ape-nh01-axisym.rd,v 1.3 2011-02-25 06:53:37 yot Exp $ *** MESSAGE [namelist_util] *** ----- Initialization Messages ----- *** MESSAGE [namelist_util] *** MaxNmlArySize = 256 *** MESSAGE [namelist_util] *** -- version = $Name: dcpam5-20110327 $$Id: exp-ape-nh01-axisym.rd,v 1.3 2011-02-25 06:53:37 yot Exp $ *** MESSAGE [timeset] *** NAMELIST group "timeset_nml" is loaded from "init_data_ape_nh01_T21L22.nml". : *** MESSAGE [initial_data] *** PsAvr = 101080. *** MESSAGE [initial_data] *** QVapAvr = 0. *** MESSAGE [initial_data] *** Ueq = 0. *** MESSAGE [initial_data] *** *** MESSAGE [initial_data] *** -- version = $Name: dcpam5-20110327 $$Id: exp-ape-nh01-axisym.rd,v 1.3 2011-02-25 06:53:37 yot Exp $ *** MESSAGE [HistoryClose] *** "init_T21L22.nc" is closed ############## CPU TIME SUMMARY ################ others 0.400020E-01 ------------------------------------------------ TOTAL TIME = 0.400020E-01
実験用データとして, オゾン分布のデータを 以下に用意してあります.
上記のページから "O3_NH01_lon1_T021.nc" をダウンロードして, 実験を行うディレクトリに置いてください.
次に, sst_data と sst_data_ape_nh01_axisym_T21.nml を用いて, 海水面データ sst_T21.nc を作成します.
$ ./sst_data -N=sst_data_ape_nh01_axisym_T21.nml *** MESSAGE [sst_data] *** Run: SST data generation *** MESSAGE [sst_data] *** -- version = $Name: dcpam5-20110327 $$Id: exp-ape-nh01-axisym.rd,v 1.3 2011-02-25 06:53:37 yot Exp $ *** MESSAGE [namelist_util] *** ----- Initialization Messages ----- *** MESSAGE [namelist_util] *** MaxNmlArySize = 256 *** MESSAGE [namelist_util] *** -- version = $Name: dcpam5-20110327 $$Id: exp-ape-nh01-axisym.rd,v 1.3 2011-02-25 06:53:37 yot Exp $ *** MESSAGE [timeset] *** NAMELIST group "timeset_nml" is loaded from "sst_data_ape_nh01_T21.nml". : *** MESSAGE [surface_data] *** SoilHeatCap = 2100000. *** MESSAGE [surface_data] *** SoilHeatDiffCoef = 1.2 *** MESSAGE [surface_data] *** -- version = $Name: dcpam5-20110327 $$Id: exp-ape-nh01-axisym.rd,v 1.3 2011-02-25 06:53:37 yot Exp $ *** MESSAGE [HistoryClose] *** "sst_T21.nc" is closed ############## CPU TIME SUMMARY ################ others 0.400000E-02 ------------------------------------------------ TOTAL TIME = 0.400000E-02
最後に dcpam_main, dcpam_ape_nh01_axisym_T21L22.nml を用いて実験を実施します. 解像度 T21L21, 時間ステップ 20 分で 2 日分計算を行います. リスタートデータ, 地表面リスタートデータといくつかのヒストリデータ ファイルが出力されます.
$ ./dcpam_main -N=dcpam_ape_nh01_axisym_T21L22.nml | tee ape-nh01.log
初期値データ, 地表面データ, 実験設定を変更する場合には, 上記の実行に際して, init_data_ape_nh01_axisym_T21L22.nml, sst_data_ape_nh01_axisym_T21.nml, dcpam_ape_nh01_axisym_T21L22.nml を変更してください.