DCPAM 計算結果の鉛直座標変換

DCPAM の力学過程の支配方程式の鉛直座標は sigma であるため, しばしば解釈に困ることがある. 場合によって計算結果の鉛直軸を圧力に変換すると便利である.

鉛直軸を圧力に変換する方法は二つ用意してある.

  • Fortran プログラムを用いる方法
  • ruby スクリプトを用いる方法

前者の方が実行が速い (かもしれない) が, 後者の方が扱いは簡単かもしれない. どちらの方法を用いても良い. 下では, 温度 (Temp) のファイルの結合について説明するが, 他の変数についても同じようにすれば結合したファイルを作ることができる.

Fortran プログラムを用いる方法

このプログラムを用いることで結合することができる.

上記のファイルをダウンロードし, 展開し, コンパイルして設定して用いれば良い.

コンパイル

展開後のディレクトリ内で以下を実行する.

$ make

結果として生成される s2p_ncf が実行ファイルである. また, この実行ファイルは s2p.nml を設定ファイルとして読み込む.

設定

(詳細は util_s2p-2015-08-28/README.jp.rd を参照すること.)

merge.nml に下を記述する.

&file_ps  inncfn_ps = '../Ps.nc' /
&file     inncfn = '../Temp.nc',  outncfn = 'psurf_Temp.nc' /

inncfn_ps は惑星表面圧力のファイルのパス. (鉛直軸の変換には惑星表面圧力が必要である.)

inncfn, outncfn はそれぞれ入力ファイルと出力ファイルのパスである.

実行

$ ./s2_ncf

正しく実行されれば psurf_Temp.nc ファイルが生成される.

ruby スクリプトを用いる方法

このスクリプトを用いることで変換することができる.

上記のファイルをダウンロードして用いれば良い.

実行

$ ruby s2p-2021-09-17.nc Ps.nc Temp.nc psurf_Temp.nc

Ps.nc, Temp.nc, psurf_Temp.nc はそれぞれ惑星表面圧力のファイルのパス, 温度のファイルのパス, 出力ファイルのパスである. (鉛直軸の変換には惑星表面圧力が必要である.)

その他

使い方の詳細はダウンロードしたスクリプトを確認すること.