dcpam5 インストールガイド

動作環境

このプログラムは以下のコンパイラでの動作を確認しています。

必要なソフトウェア

dcpam5 を利用するためには以下のソフトウエアを 事前にインストールしておく必要があります.

netCDF (バージョン 3.6.X 以上)

Debian GNU/Linux を使用しているならば, バイナリパッケージを利用することもできます.

上記 deb パッケージの他に netCDF の Development kit (netcdf-bin パッケージ) もインストールする必要があります .

ソースからビルドする場合

gtool5 (バージョン 20100924 以上)

Debian GNU/Linux を使用しており, バイナリパッケージを利用する場合は, こちら を参照してインストールしてください.

ソースからビルドする場合

ISPACK (バージョン 1.0.2 以上)

Debian GNU/Linux を使用しており, バイナリパッケージを利用する場合は, こちら を参照してインストールしてください.

ソースからビルドする場合は, tar.gz ファイルを展開して README を参照してください.

spmodel (バージョン 0.8.0 以上)

Debian GNU/Linux を使用しており, バイナリパッケージを利用する場合は, こちら を参照してインストールしてください.

ソースからビルドする場合

MPI ライブラリ
MPI を用いた並列計算を行う場合には, MPI ライブラリをインストールしてください.

開発者にとって必要なソフトウェア

ソースコードを編集したり, ドキュメントを生成するためには以下の ソフトウェアを事前にインストールしておく必要があります. (tar.gz パッケージには既にドキュメントが同梱しています)

ビルドの手引き

TGZ パッケージの展開

適当な作業ディレクトリで以下のようにソースアーカイブを展開します. ソースは dcpam5-バージョン というディレクトリに展開されます.

$ tar xvzf dcpam5_latest.tgz

または

$ zcat dcpam5_latest.tgz | tar -xvf -

Fortran コンパイラの指定

環境変数 FC に使用する Fortran コンパイラを指定してください. 以下は, コンパイラとして spmfrt を使用する場合です.

最適化やデバッグのためのオプションは環境変数 FFLAGS に設定してください. 以下はオプションに -O を指定する場合です.

なお, スペクトル変換に sjpack を用いる場合には FFLAGS に -DSJPACK を指定してください.

さらに, 軸対称計算を行う場合には, FFLAGS に -DAXISYMMETRY または -DAXISYMMETRY_SJPACK を 指定してください.

Config.mk の作成

展開されたディレクトリに移動し, ./configure を実行します. コンパイルに必要なライブラリでインストールした各ライブラリを 以下のオプションに指定する必要があります.

--with-ispack=ARG
ispack ライブラリ (*.a) のファイル名.
--with-netcdf=ARG
netcdf ライブラリ (*.a) のファイル名. 場合によって --with-netcdff=ARG (netcdf Fortran ライブラリのファイル名), --with-netcdff-include=ARG (netcdf ライブラリの include ファイル名) も指定する必要があります.
--with-gtool5=ARG
gtool5 ライブラリ (*.a) のファイル名.
--with-spml=ARG
spmodel ライブラリ (*.a) のファイル名.

例えば以下のように指定します. このコマンドによって Config.mk ファイルが生成されます.

$ ./configure --with-ispack=/usr/local/lib/libisp.a \
              --with-netcdf=/usr/local/lib/libnetcdf.a \
              --with-gtool5=/usr/local/lib/gtool5/lib/libgtool5.a \
              --with-spml=/usr/local/lib/spml/lib/libspml.a

また, gfortran, netcdf, ispack, gtool5, spml の Debian package を使用する場合には, 以下のように configure を実行します.

% ./configure \
    --with-ispack=/usr/lib/x86_64-linux-gnu/libispack.a \
    --with-netcdf=/usr/lib/libnetcdf.a \
    --with-netcdff=/usr/lib/libnetcdff.a \
    --with-netcdf-include=/usr/include/netcdf \
    --with-gtool5=/usr/lib/x86_64-linux-gnu/gtool5/lib/libgtool5.a \
    --with-spml=/usr/lib/x86_64-linux-gnu/spml/lib/libspml-lapack-lapack.a

ビルドには GNU make が必要となるため, configure は PATH 内から 自動で GNU make を探査しようとしますが, もし見つからない場合, エラーを返します. その場合には環境変数 MAKE に GNU make コマンドを指定して再度 configure を実行してください.

インストール先などを変更したい場合は, 以下のように --help オプ ションをつけることで, 指定可能なオプションリストが表示されます.

$ ./configure --help

主なオプションに関しての説明です.

--prefix=ARG
ARG にライブラリやモジュール, 実行ファイルのインストール先の ディレクトリのプレフィックスを指定します. デフォルトは /usr/local/dcpam5 です.
--libdir=ARG
ARG にライブラリのインストール先のディレクトリを指定します. デフォルトは /usr/local/dcpam5/lib です.
--includedir=ARG
ARG にモジュール情報ファイルのインストール先のディレクトリ を指定します. デフォルトは /usr/local/dcpam5/include です.
--bindir=ARG
ARG に実行ファイルのインストール先のディレクトリを指定します. デフォルトは /usr/local/dcpam5/bin です.
--with-docdir=ARG
ARG にドキュメントファイルのインストール先を指定します. デフォルトは /usr/local/dcpam5/doc です.
--with-dcpam_lib_name=ARG
ARG に dcpam5 のライブラリ名を指定します. ライブラリ名は lib<ARG>.a となります. デフォルトは dcpam5 であり, その際のライブラリ名は libdcpam5.a となります.
--with-dcpam_suffix=ARG
ARG にはインストールディレクトリ, ライブラリ名, 実行ファイルの末尾につける接尾語を指定します. 例えば, 他が全てデフォルトの設定で ffc5 と指定すると, インストール先のディレクトリのプレフィックスが /usr/local/dcpam5-ffc5 , ライブラリ名が libdcpam5-ffc5.a 等のようになります.
--with-lang_conform_check=ARG
ARG に言語規格を指定することで, コンパイル時に言語規格の チェックを行うよう, オプションを追加します. 現在 "95" のみ指定可能です. コンパイラによっては指定できません.
--enable-debug
このオプションを指定することで, コンパイル時や実行時にデバッグメッセージ を出力するオプションを追加します. コンパイラによっては指定できません.
--config-cache または -C

Config.mk ファイルが生成されると同時に, config.cache ファイルが作成され, ./configure の引数に指定された netCDF ライブラリの位置などの情報が保持されます.

再度 ./configure を実行する際にもこのオプションを指定することで, config.cache が読み込まれ, 前回指定したオプション等が引き継がれます. 既に存在する config.cache を無視する場合はこのオプションを 指定せずに ./configure を実行してください.

例えば下記のように ./configure を実行するとします.

$ ./configure -C  --enable-debug \
              --with-ispack=/usr/local/lib/libisp.a \
              --with-netcdf=/usr/local/lib/libnetcdf.a \
              --with-gtool5=/usr/local/lib/gtool5/lib/libgtool5.a \
              --with-spml=/usr/local/lib/spml/lib/libspml.a

すると次回以降, 下記のように ./configure を実行することで netCDF ライブラリ等の位置や, デバッグオプションを付加する情報が 引き継がれます.

$ ./configure -C

Debian GNU/Linux で Fujitsu Fortran を利用している場合には, Config.cache.debian-ffc* を config.cache に移動して ./configure コマンドを実行するだけで自動的に ライブラリの位置が設定されます.

$ cp Config.cache.debian-ffc5 config.cache
$ ./configure -C
--enable-mpi
このオプションを指定することで, 並列版のコンパイルを行います.

Config.mk の編集

上記の configure によって, 基本的な設定が記述された Config.mk ファイルが作成されます. しかし, 環境によっては configure のみでは不十分な場合もあるため, 必要に応じて Config.mk を手動で編集して下さい.

以下に主要な設定項目を挙げます.

FC
Fortran コンパイラ
SYSFFLAGS
コンパイル時・リンク時に必要なフラグ (Fortran コンパイラ実行時に必要なオプション)
SYSLDFLAGS
リンク時に必要なフラグ
SYSLDLIBS
リンク時に必要なライブラリ
prefix
dcpam5 のライブラリ, モジュール, 実行ファイル, ドキュメントのインストールディレクトリ
CLEAN_MODS
make clean 時に使用するモジュール情報ファイル指定
MAKE
GNU make コマンド
AR
アーカイブコマンド
ARFLAGS
アーカイブ時に必要なフラグ
RANLIB
アーカイブのインデックスを作成するコマンド

ソースコードのコンパイル

ビルドには必ず GNU make を使用してください. 他の "make" プログラムを使 用すると, 正しくビルドが行われません. 以降 GNU make のコマンド名を "make" と表記しますが, これらはシステムの GNU make コマンドの名前に置き換えてください.

configure 実行時に, 以下のように GNU make のコマンド名が 表示されたはずです. このメッセージに従って GNU make を実行してください.

Execute GNU make in the current directory, as follows.

  /usr/bin/make

以下のようなメッセージが表示されればビルドは成功です.

You have successfully built dcpam5.

ドキュメントの生成

マニュアルとコードリファレンスのコンパイルはカレントディレクトリ において, 以下のコマンドを実行してください. dcpam5 の TGZ パッケージ から入手する場合には既に生成済みです.

$ make doc

プログラム実行の手順

ビルドが成功すると, src/main 以下に dcpam_main, init_data, sst_data などの実行ファイルが作成されています.

これらの実行の手順については ごくらく dcpam5 を参照してください.


$Id: INSTALL,v 1.33 2014-03-10 04:37:06 yot Exp $