k 分布作成 : k 分布計算の確認
k 分布法を用いて放射場を計算し, 作成した k 分布テーブルを確認する方法を説明する.
k 分布計算の実施 (prog08.0v2)
$ cd prog08.0v2_calc_rte_check $ rm -f out/*
設定ファイルの準備
地球用サンプル設定ファイル
$ cp sample/Venus.calc_rte.conf calc_rte.conf $ cp sample/Venus.calc_rte_file.conf calc_rte_file.conf $ cp sample/Venus.planetconst.conf planetconst.conf
- calc_rte.conf : 放射伝達計算の設定 [変更なし]
- calc_rte_file.conf : 入出力ファイルの設定 [変更なし]
- planetconst.conf : 惑星パラメータの設定 [変更なし]
コンパイル
コンパイル
$ make
コンパイルが成功すると, 下の実行ファイルができる.
- calc_rte
実行
$ ./calc_rte
標準出力に Finish と表示されれば無事実行終了. (場合によってはスタックが不足してエラーが出るので, "ulimit -s unlimited" とする.) 計算結果は
out/Venus_ProfB_Flux.nc out/Venus_ProfB_Tendency.nc
結果の確認
k 分布計算とラインバイライン計算の結果の差を Root Mean Square Error (RMSE) として評価する.
ruby/GPhys スクリプトで確認する. この ruby スクリプト を用いる.
disp_comp_1Dresults_v1.rb の以下を編集して入力ファイルを指定.
grav = 8.9 # gravitational acceleration (m -2) mmw = 44.0e-3 # mean molecular weight (kg mol-1) ncfn_t = '../prog01.0_mkprofile_ascii/out/Venus_ProfB.nc' # ncfn1_flux = 'out/Venus_ProfB_Flux.nc' ncfn1_tendency = 'out/Venus_ProfB_Tendency.nc' ncfn2_flux = '../prog03.0_calc_rte/out/Venus_ProfB_Flux.nc' ncfn2_tendency = '../prog03.0_calc_rte/out/Venus_ProfB_Tendency.nc'
スクリプトを実行.
$ ruby disp_comp_1Dresults_v1.rb 1 RMSE summary 1st file : out/Venus_ProfB_Flux.nc : out/Venus_ProfB_Tendency.nc 2nd file : ../prog03.0_calc_rte/out/Venus_ProfB_Flux.nc : ../prog03.0_calc_rte/out/Venus_ProfB_Tendency.nc variable : Planetary Rad. Solar Rad. upflx : 2.30797e-01 | 2.10332e-01 W m-2 dnflx : 3.25906e-01 | 2.68807e-01 W m-2 flxcnv : 9.38747e-05 | 3.83096e-05 W m-3 tend : 5.60729e-06 | 2.86359e-05 K s-1
雲なしの場合.
RMSE summary 1st file : out/Venus_ProfB_nocld_Flux.nc : out/Venus_ProfB_nocld_Tendency.nc 2nd file : ../prog03.0_calc_rte/out/Venus_ProfB_nocld_Flux.nc : ../prog03.0_calc_rte/out/Venus_ProfB_nocld_Tendency.nc variable : Planetary Rad. Solar Rad. upflx : 1.61405e-01 | 4.53044e-01 W m-2 dnflx : 3.26154e-01 | 7.32602e-01 W m-2 flxcnv : 1.38952e-04 | 1.63490e-04 W m-3 tend : 5.57927e-06 | 2.86249e-05 K s-1
親ディレクトリに戻る
$ cd ..