木星大気計算
木星大気放射場のラインバイライン計算を行う際の,
3. 気体吸収係数の計算
について説明する.
準備
吸収線および連続吸収の光学データを準備する.
データファイルのダウンロード
下のファイルをダウンロードする
$ wget https://www.gfd-dennou.org/arch/yot/students/iwaya75/radmodels/data/radmodels-data-update/HITRAN2012/NC_By-Molecule/31_hit12.nc $ wget https://www.gfd-dennou.org/arch/yot/students/iwaya75/radmodels/data/radmodels-data-update/HITRANDUMMY/NC_By-Molecule/91_dummy-He.nc
データファイルの配置
以前の準備の項目で用意した radmodels-data のディレクトリの下に, 下のようにファイルを配置する (存在しないディレクトリは適宜作成する).
radmodels-data-update/HITRAN2012/NC_By-Molecule/31_hit12.nc radmodels-data-update/HITRANDUMMY/NC_By-Molecule/91_dummy-He.nc
ラインバイライン吸収係数計算 (prog02.1)
$ cd prog02.1_calc_ac
設定ファイルの準備
$ cp sample/Earth.calc_ac.conf calc_ac.conf $ cp sample/Earth.calc_ac_file.conf calc_ac_file.conf
calc_ac.conf : 計算条件の設定 (! 以降はコメント)
&gas_nml FlagNetCDF = .true., HITFileName(1) = "../../../radmodels-data/HITRAN2012/NC_By-Molecule/01_hit12.nc", HITFileName(2) = "../../../radmodels-data/HITRAN2012/NC_By-Molecule/02_hit12.nc", HITFileName(3) = "../../../radmodels-data/HITRAN2012/NC_By-Molecule/03_hit12.nc", ! FlagCalcLine(1:3) = 3*.true., FlagCalcCont(1:3) = 3*.true., ! AirBroadHalfWidFac(1:3) = 3*1.0d0, ! CIAFileName(1) = "" ! XSCFileName(1) = "" ! LineCutOffWaveNum(1:3) = 3*25.0d2, /
変数の説明と変数の変更.
- gas_nml
- FlagNetCDF : 入力する吸収線ファイルの形式が NetCDF であることのフラグ
- 変更不要
- HITFileName(X) : X 番目の気体種の HITRAN 吸収線データファイルのパス.
下のように指定.
HITFileName(1) = "../../../radmodels-data/HITRAN2012/NC_By-Molecule/01_hit12.nc", HITFileName(2) = "../../../radmodels-data/HITRAN2012/NC_By-Molecule/06_hit12.nc", HITFileName(3) = "../../../radmodels-data/HITRAN2012/NC_By-Molecule/11_hit12.nc", HITFileName(4) = "../../../radmodels-data-update/HITRAN2012/NC_By-Molecule/31_hit12.nc", HITFileName(5) = "../../../radmodels-data/HITRAN2012/NC_By-Molecule/45_hit12.nc", HITFileName(6) = "../../../radmodels-data-update/HITRANDUMMY/NC_By-Molecule/91_dummy-He.nc",
- 大気プロファイルのファイルに格納されている気体種の順番に合わせて, 対応する気体種の吸収線データファイルのパスを指定.
- 上記では, 順に H2O (HITRAN molecular number 1), CH4 (6), NH3 (11), H2S (31), H2 (45), He (HITRAN に含まれないため仮に 91) の吸収線データファイルを指定.
- FlagCalcLine(X) : X 番目の気体種の吸収線による吸収係数を計算するフラグ
下のように指定.
FlagCalcLine(1:6) = 6*.true.,
- すべての種の吸収線による吸収を計算.
- FlagCalcCont(X) : X 番目の気体種の MTCKD モデルによる連続吸収の吸収係数を計算するフラグ
下のように指定.
FlagCalcCont(1:6) = .true.,5*.false.,
- H2O のみ計算.
- AirBroadHalfWidFac(X) : X 番目の気体種の吸収線の他種との衝突による衝突幅にかけファクタ
下のように指定.
AirBroadHalfWidFac(1:6) = 6*1.0d0,
- すべての種に対して 1 倍.
- LineCutOffWaveNum(X) : X 番目の気体種の吸収線計算の際の打ち切り波数 (m-1)
下のように指定.
LineCutOffWaveNum(1:6) = 6*25.0d2,
- すべての種に対して 25 cm-1.
- CIAFileName(X) : 衝突誘起吸収 (CIA) のデータファイルのパス (X 番目の気体種とは限らない).
下のように指定.
CIAFileName(1) = "../../../radmodels-data/CIA/NC_data/45-45_2011.cia.nc", CIAFileName(2) = "../../../radmodels-data/CIA/NC_data/45-91_2011.cia.nc",
- 45-45_2011.cia.nc は H2-H2 衝突により誘起される吸収のデータファイル
- 45-91_2011.cia.nc は H2-He 衝突により誘起される吸収のデータファイル
- XSCFileName(X) : 吸収断面積のデータファイルのパス (X 番目の気体種とは限らない).
- 変更不要
- FlagNetCDF : 入力する吸収線ファイルの形式が NetCDF であることのフラグ
- gas_nml
calc_ac_file.conf : 計算に用いるファイル等の設定 (! 以降はコメント)
&file_nml WaveNumFileName = "../prog02.0_mkwnlist/out/wnlist.nc", AtmProfFileName = "../prog01.0_mkprofile_ascii/out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv.nc", OutputFileName = "./out/Earth_ICRCCM_LW_Case27_MLS_CO2-300ppmv_ac.nc", ! PressName = "Press", MolNumName = "MolNum", TempName = "Temp", SurfTempName = "Ts", VMRName = "VMR" /
変数の説明と変数の変更
- WaveNumFileName : 波数設定ファイルのパス
- 変更不要
- AtmProfFileName : 入力大気プロファイルのファイルのパス.
- 前項で作成した木星の大気プロファイルを保存した NetCDF のファイルのパス
例えば,
AtmProfFileName = "../prog01.0_mkprofile_ascii/out/Jupiter_Simple.nc",
- 前項で作成した木星の大気プロファイルを保存した NetCDF のファイルのパス
- OutputFileName : 出力ファイルのパス.
- 好きなファイル名を指定.
例えば,
OutputFileName = "./out/Jupiter_Simple_ac.nc",
- 好きなファイル名を指定.
- PressName : 大気プロファイルのファイル内の圧力の変数名.
- 変更不要.
- MolNumName : 大気プロファイルのファイル内の HITRAN 分子種番号の変数名.
- 変更不要.
- TempName : 大気プロファイルのファイル内の温度の変数名.
- 変更不要.
- SurfTempName : 大気プロファイルのファイル内の下端温度の変数名.
- 変更不要.
- VMRName : 大気プロファイルのファイル内の体積混合比の変数名.
- 変更不要.
- WaveNumFileName : 波数設定ファイルのパス
コンパイル
$ make
コンパイルが成功すると, 下の実行ファイルができる.
- calc_ac
- merge
実行
$ ./calc_ac
Finish と表示されれば無事実行終了.
計算結果のファイルは以下 (OutputFileName を上のように指定した場合).
- out/Jupiter_Simple_ac.nc
親ディレクトリに戻る
$ cd ..