[English | Japanese] [GFD Dennou Club | DCPAM Project]

dcpam インストールガイド

動作環境

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

コンパイルに必要なライブラリ

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

netCDF (バージョン 3.5.0, 3.6.0)

debian を使用していてインストールパッケージを利用する場合

ソースからコンパイルする場合

gt4f90io (バージョン 20070427)
ソースからコンパイルする場合
ISPACK (バージョン 0.71)

debian を使用していてインストールパッケージを利用する場合

ソースからコンパイルする場合

spmodel (バージョン 0.4.0-2)

debian を使用していてインストールパッケージを利用する場合

ソースからコンパイルする場合

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

コンパイルの手引き

TGZ パッケージの展開

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

$ tar xvzf dcpam3-current.tgz

または

$ zcat dcpam3-current.tar.gz | tar -xvf -

Fortran コンパイラの指定

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

最適化やデバッグのためのオプションは環境変数 FFLAGS に設定してください. 以下は frt の高速化と 並列化のためのオプションです.

Config.mk の作成

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

--with-ispack=ARG
ispack ライブラリ (*.a) のファイル名
--with-netcdf=ARG
netcdf ライブラリ (*.a) のファイル名
--with-gt4f90io=ARG
gt4f90io ライブラリ (*.a) のファイル名
--with-spml=ARG
spmodel ライブラリ (*.a) のファイル名

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

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

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

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

$ ./configure --help

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

--prefix=ARG
ARG にライブラリやモジュール, 実行ファイルのインストール先の ディレクトリのプレフィックスを指定します. デフォルトは /usr/local/dcpam3 です.
--libdir=ARG
ARG にライブラリのインストール先のディレクトリを指定します. デフォルトは /usr/local/dcpam3/lib です.
--includedir=ARG
ARG にモジュール情報ファイルのインストール先のディレクトリ を指定します. デフォルトは /usr/local/dcpam3/include です.
--bindir=ARG
ARG に実行ファイルのインストール先のディレクトリを指定します. デフォルトは /usr/local/dcpam3/bin です.
--with-docdir=ARG
ARG にドキュメントファイルのインストール先を指定します. デフォルトは /usr/local/dcpam3/doc です.
--with-dcpam_lib_name=ARG
ARG に dcpam3 のライブラリ名を指定します. ライブラリ名は lib<ARG>.a となります. デフォルトは dcpam3 であり, その際のライブラリ名は libdcpam3.a となります.
--with-dcpam_suffix=ARG
ARG にはインストールディレクトリ, ライブラリ名, 実行ファイルの末尾につける接尾語を指定します. 例えば, 他が全てデフォルトの設定で ffc5 と指定すると, インストール先のディレクトリのプレフィックスが /usr/local/dcpam3-ffc5 , ライブラリ名が libdcpam3-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-gt4f90io=/usr/local/lib/gt4f90io/lib/libgt4f90io.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

Config.mk の編集

上記の ./configure だけで設定できなかった部分に関しては, Config.mk を手動で編集して設定して下さい.

以下に主要な設定項目を挙げます. 詳しくは Config.mk を見てください.

FC
Fortran コンパイラ
SYSFFLAGS
コンパイル時・リンク時に必要なフラグ (Fortran コンパイラ実行時に必要なオプション)
SYSLDFLAGS
リンク時に必要なフラグ
SYSLDLIBS
リンク時に必要なライブラリ
DCPAMDIR
Config.mk が置いてあるディレクトリ
prefix
dcpam3 のライブラリ, モジュール, 実行ファイル, ドキュメントのインストールディレクトリ
MODEXT
モジュール情報ファイルの拡張子
MODS
make clean 時に使用するモジューリ情報ファイル指定
AR
アーカイブコマンド

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

ビルドには必ず 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

ドキュメントの生成

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

$ make doc

テストプログラム実行の手順

最初に, Held and Suarez (1994) のベンチマーク実験を 行う方法を説明します.

practice ディレクトリに移動してください.

$ cd practice

そしてそのディレクトリに置いてある init.nml を編集してください. このファイルが初期値生成のための NAMELIST ファイルです. 編集が終わったら, 以下のコマンドで初期値データ init.nc を生成してください.

$ make init

次に, dcpam.nml を編集してファイルの出力間隔や出力する 変数の指定を行ってください. 最後に以下のコマンドでプログラムが実行されます.

$ make run

なお, エラーは dcpam.log に出力され, 通常のメッセージは標準出力に 出力されます. 通常のメッセージをファイルに出力する場合には

$ make run > dcpam.msg

としてください. なお, 現在の設定ではデバッグ用メッセージも 全て dcpam.log に出力されるようになっています. (サイズが大きい ので注意してください).

結果は result ディレクトリ以下に出力されます.

次に, 簡単な物理過程を導入した場合のテスト実験の方法を 説明します.

practice ディレクトリに移動してください.

$ cd practice

そしてそのディレクトリに置いてある init_ape_T21L16.nml を init.nml にコピーします.

$ cd init_ape_T21L16.nml init.nml

init.nml を必要に応じて編集します. その後, 以下のコマンドで 初期値データ init.nc を生成してください.

$ make init

次に, dcpam_ape.nml を編集してファイルの出力間隔や出力する 変数の指定を行ってください. 最後に以下のコマンドでプログラムが実行されます.

$ make ape-run

システムへインストールする場合

もしもシステムに dcpam3 のライブラリ, モジュール, 実行ファイルを インストールする場合は, カレントディレクトリで以下のコマンドを 実行してください. システム領域にインストールする場合には管理者権限が 必要です.

# make install

ドキュメントをインストールする場合には以下のコマンドを実行します.

# make install-doc

$Id: INSTALL,v 1.10 2007/06/08 02:23:43 morikawa Exp $