木星大気計算

木星大気放射場のラインバイライン計算を行う際の

6. 放射フラックスの計算

について説明する.

ラインバイライン放射フラックス・加熱率計算 (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 =  1366.1d0 , !                  Earth
      StrSpeNcFN  = "../prog02.3_calc_stellarspectrum/out/solar_flux_Gueymard2004_1366.1Wm-2.nc",
      NGQ        =   2,
      SZADeg     =   0.0d0
      AlbedoSW            = 0.2d0,
      AlbedoLW            = 0.0d0,
      WaveNumAlbedoSwitch = 3250.0d2
    !
      WNIntegStart = -1.0d0,
      WNIntegEnd   = -1.0d0,
    /

    変数の説明と変数の変更.

    • rte_nml
      • StrFluxTOA : 中心星 (太陽) 放射の大気上端でのフラックス
        • 下のように指定

          StrFluxTOA =  50.5d0 , ! 1366.1/5.2**2   Jupiter
      • StrSpeNcFN : 中心星 (太陽) 放射スペクトルのファイルのパス
        • 下のように指定

          StrSpeNcFN = "../prog02.3_calc_stellarspectrum/out/solar_flux_50.5Wm-2.nc",
      • NGQ : ガウス求積法の積分点数
        • 変更不要
      • SZADeg : 太陽天頂角 (NGQ が負の時に有効)
        • 変更不要
      • AlbedoSW : 下端の太陽放射アルベド
        • 下のように指定

          AlbedoSW            = 0.0d0,
      • AlbedoLW : 下端の惑星放射アルベド
        • 下のように指定

          AlbedoLW            = 0.0d0,
      • WaveNumAlbedoSwitch : アルベド切り替え波数 (m-1)
        • 変更不要
      • WNIntegStart : 計算開始波数 (m-1) (負の時は吸収係数のファイルの開始波数となる)
        • 変更不要
      • WNIntegEnd : 計算終了波数 (m-1) (負の時は吸収係数のファイルの終了波数となる)
        • 変更不要
  • calc_rte_file.conf : 計算に用いるファイル等の設定

    &rte_file_nml
      PtclOptPropNcFN = "../prog02.2_calc_optprop_particle/out/Earth_particle_opt_prop.nc"
    !
      InProfNcFN      = '../prog01.0_mkprofile_ascii/out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv.nc',
      InOptPropNcFN   = '../prog02.1_calc_ac/out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_ac.nc',
      OutFluxNcFn     = "out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_Flux.nc",
      OutTendencyNcFn = "out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_Tendency.nc"
      OutSpeFluxNcFn  = "out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_Spectral_Flux.nc",
      FlagOutSpeFlux = .true.,
      Method     = 'LBL',
    /

    変数の説明と変数の変更.

    • rte_file_nml
      • PtclOptPropNcFN : 粒子光学パラメータのファイルのパス
        • 下のように指定

          PtclOptPropNcFN = "../prog02.2_calc_optprop_particle/out/Jupiter_particle_opt_prop.nc",
      • InProfNcFN : 大気プロファイルのファイルのパス
        • 下のように指定

          InProfNcFN = "../prog01.0_mkprofile_ascii/out/Jupiter_Simple.nc",
      • InOptPropNcFN : 気体吸収係数のファイルのパス
        • 下のように指定

          InOptPropNcFN = "../prog02.1_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 : 計算方法の指定
        • 変更不要
  • planetconst.conf : 惑星パラメータの設定

    &planetconst_nml
      GravSet           = 9.80665d0,
      CpSet             = 1004.6d0,
      MolWtNonRadActSet = 28.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 : 放射不活性気体の平均分子量
        • 下のように指定

          MolWtNonRadActSet = 2.0d-3,

コンパイル

$ 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 ..