kspectrum メモ
本家ウェブページ
準備
<TOPDIR> = ~/work/kspectrum
使用ファイル (バージョン)
kspectrum1.3.tgz
$ wget https://www.meso-star.com/projects/downloads/kspectrum1.3.tgz
kspectrum1.3_install.bash
$ wget https://www.meso-star.com/projects/downloads/kspectrum1.3_install.bash
コンパイラ
mpif77 コンパイラを使用.
debian であれば libopenmpi-dev パッケージをインストール.
ファイル展開・準備
kspectrum1.3_install.bash を実行
$ bash kspectrum1.3_install.bash
kspectrum1.3.tgz が展開されて kspectrum1.3 ディレクトリができた. さらに, いくつかの設定ファイルが作られたらしい.
コンパイル
$ cd <TOPDIR> $ cd kspectrum1.3
on debian
Makefile を編集.
-mcmodel=medium オプションを ARCH に追加. ARCH は結果として
ARCH=-m64 -mcmodel=medium
となる.
$ make all
(mpif77 を使ってコンパイルされる.)
on vizfront
Makefile を編集.
FOR=mpif77 -> FOR=mpif90 MPIINC=/usr/bin/include MPILD=/usr/bin/lib -> MPIINC=/opt/sgi/mpt/mpt-2.14/include MPILD=/opt/sgi/mpt/mpt-2.14/lib WARNING=-fbounds-check -Warray-bounds -Walign-commons -> WARNING= ARCH=-m64 -> ARCH=-m64 -mcmodel=medium OPTI=-O3 -static -> OPTI=-O3 $ make all
(mpif77 を使ってコンパイルされる.)
HITRAN データの準備
data ディレクトリ以下に HITRAN データを置く. ディレクトリ構造は以下.
data/HITRAN2012/XX_hit12.par
とりあえず走らせてみる (本当はやめた方が良い)
$ nohup mpiexec -n 9 kspectrum.exe < /dev/null >& errorlog &
(このプロセス数は, 使う計算機の CPU/core 数 + 1 とするとよいらしい. ランク 0 は計算しないから.)
何を計算しているかわからんが, とても時間がかかるので途中で停止.
結果は results/k001 にある. kXXX の XXX は層番号. 計算を続けると k002, k003, ... とできていく.
設定ファイルの編集
以下のファイルを準備しなければならないらしい.
- data.in
- options.in
- data/composition.in
- data/molparam.in
- data/narrowbands.in
- data/truncationdistances.in
結果の例
備考
- なぜか options.in の中の CIA の計算ができない