惑星大気放射モデル 3 : 大気プロファイルの変更

地球大気計算に与える大気プロファイルを変更する.

概要

大気プロファイルは prog01.0_mkprofile_ascii で準備する.

prog01.0_mkprofile_ascii では, テキスト形式の大気プロファイルデータを netcdf 形式に変更する. したがって, prog01.0_mkprofile_ascii のプログラムに与えるテキストデータを変更すればよい.

例えば, サンプル設定ファイル sample/Earth.mkprofile.conf では, data/Earth_MidLatSummer.txt を読み込む. まずは, このファイルの内容を変更し, 変更した大気プロファイルに対して放射計算を行う.

テキスト形式大気プロファイルデータのファイルフォーマット

prog01.0_mkprofile_ascii のプログラムが読み込むテキスト形式の大気プロファイルデータのフォーマットについて説明する.

大気レベル/層の構造

大気レベル・層に対して以下の物理量を指定する.

P   : 圧力             (@大気レベル(層境界))
T   : 温度             (@大気レベル(層境界))
VMR : 体積混合比       (@大気レベル(層境界))
Rad : 粒子の半径       (@大気層(中間))
MMR : 粒子の質量混合比 (@大気層(中間))

ただし, 雲, エアロゾルを考慮しない場合には粒子の値は不要.

大気レベル/層ごとに下のように配置されていするとする.

==========  P(NLev)  , T(NLev)  , VMR(NLev)    (NLev)-th level (upper boundary)
-  -  -  -  Rad(NLev-1), MMR(NLev-1)           (NLev-1)-th layer
==========  P(NLev-1), T(NLev-1), VMR(NLev-1)  (NLev-1)-th level
-  -  -  -  Rad(NLev-2), MMR(NLev-2)           (NLev-2)-th layer

...

-  -  -  -  Rad(3), MMR(3)      2nd layer
==========  P(3), T(3), VMR(3)  3rd level
-  -  -  -  Rad(2), MMR(2)      2nd layer
==========  P(2), T(2), VMR(2)  2nd level
-  -  -  -  Rad(1), MMR(1)      1st layer
==========  P(1), T(1), VMR(1)  1st level (lower boundary)

ファイルフォーマット

上記の大気構造中の物理量配置にたいして, ファイルは下のようなフォーマットである必要がある.

NLev        : Number of levels (layer interfaces)
NMol        : Number of molecules
MolNumX     : Xth molecular number
P(k)        : pressure at k'th level
T(k)        : temperature at k'th level
MolX_VMR(k) : volume mixing ratio of Xth molecule at k'th level
NPtcl       : Number of particles
PtclYName   : name of Yth particle
PtclYDens   : density of Yth particle
PtclYRad(l) : effective radius of of Yth particle at l'th layer
PtclYMMR(l) : mass mixing ratio of of Yth particle at l'th layer

ただし, 雲, エアロゾルを考慮しない場合には NPtcl = 0 とし, PtclY* の値は不要.

l.1                        : Comment (This line is not read, actually.)
l.2                        : NLev
l.3                        : NMol
l.4                        : MolNum1, MolNum2, ...

l.5                        : P(1)   , T(1)   , Mol1_VMR(1)   , Mol2_VMR(1)   , ...
l.6                        : P(2)   , T(2)   , Mol1_VMR(2)   , Mol2_VMR(2)   , ...
...
l.(4+NLev)                 : P(NLev), T(NLev), Mol1_VMR(NLev), Mol2_VMR(NLev), ...

l.(4+NLev+1)               : NPtcl
l.(4+NLev+2)               : Ptcl1Name, Ptcl2Name, ...
l.(4+NLev+3)               : Ptcl1Dens, Ptcl2Dens, ...

l.(4+NLev+3+1)             : Ptcl1Rad(1)     , Ptcl2Rad(1)     , ...
l.(4+NLev+3+2)             : Ptcl1Rad(2)     , Ptcl2Rad(2)     , ...
...
l.(4+NLev+3+NLev-1)        : Ptcl1Rad(NLev-1), Ptcl2Rad(NLev-1), ...

l.(4+NLev+3+NLev-1+1)      : Ptcl1MMR(1)     , Ptcl2MMR(1) , ...
l.(4+NLev+3+NLev-1+2)      : Ptcl1MMR(2)     , Ptcl2MMR(2) , ...
...
l.(4+NLev+3+NLev-1+NLev-1) : Ptcl1MMR(NLev-1), Ptcl2MMR(NLev-1) , ...

プログラムの実行

変更した大気プロファイルデータを用いて prog01.0_mkprofile_ascii で netcdf ファイルを作成し, その後, 他のプログラムで放射計算を行う.