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 の計算ができない

プログラム