k 分布作成 : k 分布計算の確認

k 分布法を用いて放射場を計算し, 作成した k 分布テーブルを確認する方法を説明する.

k 分布計算の実施 (prog08.0v2)

$ cd prog08.0v2_calc_rte_check
$ rm -f out/*

設定ファイルの準備

地球用サンプル設定ファイル

$ cp sample/Earth.calc_rte.conf calc_rte.conf
$ cp sample/Earth.calc_rte_file.conf calc_rte_file.conf
$ cp sample/Earth.planetconst.conf planetconst.conf
  • calc_rte.conf : 放射伝達計算の設定 [変更なし]
  • calc_rte_file.conf : 入出力ファイルの設定 [変更なし]
  • planetconst.conf : 惑星パラメータの設定 [変更なし]

コンパイル

コンパイル

$ make

コンパイルが成功すると, 下の実行ファイルができる.

  • calc_rte

実行

$ ./calc_rte

標準出力に Finish と表示されれば無事実行終了. (場合によってはスタックが不足してエラーが出るので, "ulimit -s unlimited" とする.) 計算結果は

out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_Flux.nc
out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_Tendency.nc

結果の確認

k 分布計算とラインバイライン計算の結果の差を Root Mean Square Error (RMSE) として評価する.

ruby/GPhys スクリプトで確認する. この ruby スクリプト を用いる.

disp_comp_1Dresults_v1.rb の以下を編集して入力ファイルを指定.

ncfn_t         = "../prog01.0_mkprofile_ascii/out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv.nc"
ncfn1_flux     = "out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_Flux.nc"       # k 分布で計算されたフラックス
ncfn1_tendency = "out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_Tendency.nc"   # k 分布で計算された時間変化率
ncfn2_flux     = "../prog03.0_calc_rte/out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_Flux.nc"      # ラインバイラインで計算されたフラックス
ncfn2_tendency = "../prog03.0_calc_rte/out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_Tendency.nc"  # ラインバイラインで計算された時間変化率

スクリプトを実行. [以下要更新]

$ ruby disp_comp_1Dresults_v1.rb 1
 *** MESSAGE (SWDOPN) ***  GRPH1 : STARTED / IWS =  1.
 *** MESSAGE (UXPTTL) ***  CHARACTER LENGTH IS ZERO.
 ...
 *** MESSAGE (SWPCLS) ***  GRPH1 : PAGE =   1 COMPLETED.
 *** MESSAGE (SWDCLS) ***  GRPH1 : TERMINATED.
RMSE summary
 1st file  : out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_Flux.nc
           : out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_Tendency.nc
 2nd file  : ../prog03.0_calc_rte/out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_Flux.nc
           : ../prog03.0_calc_rte/out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_Tendency.nc
 variable : Planetary Rad.      Solar Rad.
  upflx   : 1.21362e+00    |    1.78016e-01 W m-2
  dnflx   : 9.39006e-01    |    1.81979e-01 W m-2
  flxcnv  : 2.46595e-04    |    5.87790e-05 W m-3
  tend    : 1.00289e-05    |    7.78775e-06 K s-1

親ディレクトリに戻る

$ cd ..