金星大気放射対流平衡 (惑星表面温度固定, 非理想混合気体)

注意: これは過去の内容を書き換えたものであるが, ここで説明するソースでは実行していない. 内容を忘れないように残しておく.

非理想混合気体としての金星大気の放射対流平衡を惑星表面温度を固定して計算する方法を説明する.

放射対流平衡計算 (prog11.2)

prog11.2 を用いる.

$ cp -Rp prog11.2_calc_rce_realgas prog11.2_calc_rce_realgas_Venus_fixTs_rce_rg-mix_CaseVB
$ cd prog11.2_calc_rce_realgas_Venus_fixTs_rce_rg-mix_CaseVB
$ rm -f out/*

設定ファイルの準備

$ cp sample/Venus.calc_rce.conf calc_rce.conf
$ cp sample/Venus.calc_rte.conf calc_rte.conf
$ cp sample/Venus.planetconst.conf planetconst.conf
$ cp sample/Venus.thermo_prop.conf thermo_prop.conf
  • 使用したファイル (リンク無し)
    • calc_rce.conf : 平衡計算の設定
      • 以下の変数を適宜指定/変更する.
        • KDOptPropNcFN に既にダウンロードした k 分布テーブルファイルを指定
        • InitFileName に, 予め計算した放射対流平衡プロファイルを指定
        • SurfTempFixed に, 固定したい惑星表面温度を指定
      • ここでは下のように変更.

        &rce_nml
          ...
          KDOptPropNcFN = "../prog11_common/kdactbl_radmodels-2022-02-23-mod_Venus_mkckdtbl_CaseVB.nc"
          ...
          InitFileName = "../prog01.1_mkprofile_Venus/out/Venus_VIRA+GasVMR+CldMMR+UVabsMMR_H2O_CO2_CO_SO2_HF_OCS_N2_Cld-Crisp1986+Gas-Pollack-etal1993.nc",
          ...
          SurfTempFixed = 737.516065192007d0,
          ...
        /
    • calc_rte.conf : 放射伝達方程式計算の設定
      • 変更なし
    • planetconst.conf : 惑星パラメータの設定
      • 変更なし
    • thermo_prop.conf : 状態方程式計算関係のパラメータ設定
      • ここでは下のように変更.

        &thermo_prop_nml
          ...
          TPVMR(1:3)       = 0.965d0, -1.0d100, 0.035d0,
          ...
        /

コンパイル

Makefile を下のように変更.

DEF    = -DKDONLY -DTHERMOPROP_GS2016 -DFIX_SFCTEMP

これにより, 非理想混合気体の状態方程式を用い, 惑星表面温度を固定する.

コンパイル.

$ make

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

  • calc_rce

実行

出力ディレクトリの準備

$ mkdir out

環境変数 (OpenMP 並列数) の指定

$ export OMP_NUM_THREADS=1

(これをやらないと意味なく並列に動作する. あるいはこれの代わりに ../MakefileInclude ないの FFLAGS から -fopenmp を削除しても良い.)

実行

$ ./calc_rce

Finish と表示されれば無事実行終了.

親ディレクトリに戻る

$ cd ..