dcpam5 インストールガイド
動作環境
このプログラムは以下のコンパイラでの動作を確認しています。
必要なソフトウェア
dcpam5 を利用するためには以下のソフトウエアを 事前にインストールしておく必要があります.
- MPI ライブラリ (並列計算を行う場合のみ必要です)
- MPI を用いた並列計算を行う場合には, MPI ライブラリをインストールしてください.
- netCDF (バージョン 3.6.X 以上)
-
Debian GNU/Linux を使用しているならば, バイナリパッケージを利用することもできます.
ソースからビルドする場合
- gtool5 (バージョン 20100924 以上)
-
Debian GNU/Linux を使用しており, バイナリパッケージを利用する場合は, こちら を参照してインストールしてください.
ソースからビルドする場合
- ISPACK (バージョン 1.0.2 以上, 1.04 以下)
-
Debian GNU/Linux を使用しており, バイナリパッケージを利用する場合は, こちら を参照してインストールしてください.
ソースからビルドする場合は, tar.gz ファイルを展開して README を参照してください.
- spmodel (バージョン 0.8.0)
-
Debian GNU/Linux を使用しており, バイナリパッケージを利用する場合は, こちら を参照してインストールしてください.
ソースからビルドする場合
開発者にとって必要なソフトウェア
ソースコードを編集したり, ドキュメントを生成するためには以下の ソフトウェアを事前にインストールしておく必要があります. (tar.gz パッケージには既にドキュメントが同梱しています)
- ソースコードの編集
- Ruby
- Rsed.rb (Recursive Sed with Ruby) (tar.gz パッケージに同梱済み)
- ドキュメント生成
- 個別の HTML ページ (例: 本ページ, dcpam5 ドキュメント, ごくらく dcpam5, らくらく dcpam5)
- 各モジュールのリファレンスマニュアル
- 支配方程式系とその離散化, 導出に関する参考資料
ビルドの手引き
TGZ パッケージの展開
適当な作業ディレクトリで以下のようにソースアーカイブを展開します. ソースは dcpam5-バージョン というディレクトリに展開されます.
$ tar xvzf dcpam5_latest.tgz
または
$ zcat dcpam5_latest.tgz | tar -xvf -
Fortran コンパイラの指定
環境変数 FC に使用する Fortran コンパイラを指定してください. 以下は, コンパイラとして spmfrt を使用する場合です.
sh, bash の場合
$ FC=spmfrt ; export FC
csh, tcsh の場合
$ setenv FC spmfrt
最適化やデバッグのためのオプションは環境変数 FFLAGS に設定してください. 以下はオプションに -O を指定する場合です.
sh, bash の場合
$ FFLAGS="-O" ; export FFLAGS
csh, tcsh の場合
$ setenv 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 $