金星大気放射計算
金星大気放射場のラインバイライン計算を並列で行う方法を説明する.
ラインバイライン吸収係数計算 (prog02.1)
$ cd prog02.1_calc_ac
設定ファイルの準備
既に説明した方法で準備する.
コンパイル
Makefile_calc_ac の下記の箇所のコメントを外す.
#DEF = $(DMTCKD) -DMPI
コンパイルする.
$ make distclean $ make
コンパイルが成功すると, 下の実行ファイルができる.
- calc_ac
- merge
実行
例えば 16 並列での実行するには下のようにする.
$ mpiexec -n 16 ./calc_ac
Finish と表示されれば無事実行終了.
計算結果のファイルは以下.
- out/Venus_ProfB_ac_rank??????.nc
"??????" は 000000, 000001, 000002, ..., 000015 であり, 計算結果はプロセスごとに別ファイルに保存される.
分割ファイルの結合
プロセスごとに別ファイルに保存された結果を結合して一つのファイルに保存するために merge を用いる.
merge.conf にプロセス数とファイル名を指定する.
&file_nml NProcs = 16, InputFileName0 = "out/Venus_ProfB_ac.nc", OutputFileName = "out/Venus_ProfB_ac.nc" /
入力ファイルは分割されているので名前が out/Venus_ProfB_ac_rank??????.nc であるが, プロセス番号 (ランク番号) は表記しない.
下のように実行.
$ ./merge
Finish と表示されれば無事実行終了.
親ディレクトリに戻る
$ cd ..