k 分布作成 : k 分布放射計算

k 分布法を用いて放射場を計算する方法を説明する.

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

$ cd prog08.0_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   : 5.38800e+01    |    3.06997e+00 W m-2
  dnflx   : 3.42426e+01    |    5.36781e+00 W m-2
  flxcnv  : 4.71290e-03    |    7.37003e-04 W m-3
  tend    : 1.32613e-05    |    2.66210e-05 K s-1

親ディレクトリに戻る

$ cd ..