木星大気計算
木星大気放射場のラインバイライン計算を行う際の
5. 放射フラックスの計算
について説明する.
ラインバイライン放射フラックス・加熱率計算 (prog03.0)
$ cd prog03.0_calc_rte
設定ファイルの準備
$ cp sample/Jupiter.calc_rte.conf calc_rte.conf $ cp sample/Jupiter.calc_rte_file.conf calc_rte_file.conf $ cp sample/Jupiter.planetconst.conf planetconst.conf
calc_rte.conf : 計算条件の設定
&rte_nml StrFluxTOA = 50.5d0 , ! 1366.1/5.2**2 Jupiter StrSpeNcFN = "../prog02.5_calc_stellarspectrum/out/solar_flux_Gueymard2004_1366.1Wm-2.nc", NGQ = 2, SZADeg = 0.0d0, AlbedoSW = 0.0d0, AlbedoLW = 0.0d0, WaveNumAlbedoSwitch = 2000.0d2 ! WNIntegStart = -1.0d0, WNIntegEnd = -1.0d0, /
変数の説明と変数の変更.
- rte_nml
- StrFluxTOA : 中心星 (太陽) 放射の大気上端でのフラックス
- 変更不要
- StrSpeNcFN : 中心星 (太陽) 放射スペクトルのファイルのパス
下のように指定
StrSpeNcFN = "../prog02.5_calc_stellarspectrum/out/solar_flux_50.5Wm-2.nc",
- NGQ : ガウス求積法の積分点数
- 変更不要
- SZADeg : 太陽天頂角 (NGQ が負の時に有効)
- 変更不要
- AlbedoSW : 下端の太陽放射アルベド
- 変更不要
- AlbedoLW : 下端の惑星放射アルベド
- 変更不要
- WaveNumAlbedoSwitch : アルベド切り替え波数 (m-1)
- 変更不要
- WNIntegStart : 計算開始波数 (m-1) (負の時は吸収係数のファイルの開始波数となる)
- 変更不要
- WNIntegEnd : 計算終了波数 (m-1) (負の時は吸収係数のファイルの終了波数となる)
- 変更不要
- StrFluxTOA : 中心星 (太陽) 放射の大気上端でのフラックス
- rte_nml
calc_rte_file.conf : 計算に用いるファイル等の設定
&rte_file_nml PtclOptPropNcFN = "../prog02.1_calc_optprop_particle/out/particle_opt_prop.nc" ! InProfNcFN = '../prog01.6_mkprofile_Jupiter/out/Jupiter_GalileoEDL_H2O_CH4_NH3_H2_He.nc', InOptPropNcFN = '../prog02.0_calc_ac/out/Jupiter_GalileoEDL_H2O_CH4_NH3_H2_He_ac.nc', OutFluxNcFn = "out/Jupiter_GalileoEDL_H2O_CH4_NH3_H2_He_Flux.nc", OutTendencyNcFn = "out/Jupiter_GalileoEDL_H2O_CH4_NH3_H2_He_Tendency.nc" OutSpeFluxNcFn = "out/Jupiter_GalileoEDL_H2O_CH4_NH3_H2_He_Spectral_Flux.nc", ! FlagOutSpeFlux = .true., ! Method = 'LBL', /
変数の説明と変数の変更.
- rte_file_nml
- PtclOptPropNcFN : 粒子光学パラメータのファイルのパス
下のように指定
PtclOptPropNcFN = "../prog02.1_calc_optprop_particle/out/Jupiter_particle_opt_prop.nc",
- InProfNcFN : 大気プロファイルのファイルのパス
下のように指定
InProfNcFN = "../prog01.0_mkprofile_ascii/out/Jupiter_Simple.nc",
- InOptPropNcFN : 気体吸収係数のファイルのパス
下のように指定
InOptPropNcFN = "../prog02.0_calc_ac/out/Jupiter_simple_ac.nc",
- OutFluxNcFn : 計算された放射フラックスの出力ファイルのパス.
例えば下のように指定
OutFluxNcFn = "out/Jupiter_Simple_Flux.nc",
- OutTendencyNcFn : 計算された温度変化率の出力ファイルのパス.
例えば下のように指定
OutTendencyNcFn = "out/Jupiter_Simple_Tendency.nc"
- OutSpeFluxNcFn : 計算されたフラックススペクトルの出力ファイルのパス.
例えば下のように指定
OutSpeFluxNcFn = "out/Jupiter_Simple_Spectral_Flux.nc",
- FlagOutSpeFlux : フラックススペクトルを出力するフラグ
- 変更不要
- Method : 計算方法の指定
- 変更不要
- PtclOptPropNcFN : 粒子光学パラメータのファイルのパス
- rte_file_nml
planetconst.conf : 惑星パラメータの設定
&planetconst_nml GravSet = 24.79d0, CpSet = 12359.1d0, MolWtNonRadActSet = 2.0d-3, /
変数の説明と変数の変更.
- planetconst_nml
GravSet : 重力加速度 (m s-2)
GravSet = 23.1d0,
- 木星の赤道の値 p.74 of Irwin (2009)
CpSet : 定圧比熱 (J K-1 kg-1)
CpSet = 10998.0d0
- p.74 of Irwin (2009)
- MolWtNonRadActSet : 放射不活性気体の平均分子量
- 変更不要
- planetconst_nml
コンパイル
$ make
コンパイルが成功すると, 下の実行ファイルができる.
- calc_rte
実行
$ ./calc_rte
Finish と表示されれば無事実行終了.
計算結果のファイルは以下.
- out/Jupiter_Simple_Flux.nc
- out/Jupiter_Simple_Spectral_Flux.nc
- out/Jupiter_Simple_Tendency.nc
それぞれのファイルに保存されている変数は下のような意味である.
out/Jupiter_Simple_Flux.nc Press : (層境界)圧力 (Pa) RadUwFlux : 上向き(全)放射フラックス (W m-2) RadDwFlux : 下向き(全)放射フラックス (W m-2) RadUwFluxLW : 上向き惑星放射フラックス (W m-2) RadDwFluxLW : 下向き惑星放射フラックス (W m-2) RadUwFluxSW : 上向き太陽放射フラックス (W m-2) RadDwFluxSW : 下向き太陽放射フラックス (W m-2) out/Jupiter_Simple_Spectral_Flux.nc Press : (層境界)圧力 (Pa) PressLC : (層中心)圧力 (Pa) WaveNum : 波数 (m-1) RadUwFlux : 上向き(全)放射フラックス密度 (W m-2 (m-1)-1) RadDwFlux : 下向き(全)放射フラックス密度 (W m-2 (m-1)-1) RadUwFluxLW : 上向き惑星放射フラックス密度 (W m-2 (m-1)-1) RadDwFluxLW : 下向き惑星放射フラックス密度 (W m-2 (m-1)-1) RadUwFluxSW : 上向き太陽放射フラックス密度 (W m-2 (m-1)-1) RadDwFluxSW : 下向き太陽放射フラックス密度 (W m-2 (m-1)-1) OptDep : 光学的厚さ (1) DelOptDep : 各層の光学的厚さ DRadFluxDPress : (全)放射フラックスの圧力微分 (W m-2 Pa-1 (m-1)-1) out/Jupiter_Simple_Tendency.nc Press : (層境界)圧力 (Pa) DTempDt : (全)放射による温度変化率 (K s-1) DTempDtLW : 惑星放射による温度変化率 (K s-1) DTempDtSW : 太陽放射による温度変化率 (K s-1)
波数解像度の確認
波数解像度が適当であるか確認すること.
親ディレクトリに戻る
$ cd ..