[English | Japanese] [GFD Dennou Club | DCPAM Project]
このプログラムは以下のコンパイラでの動作を確認しています。
dcpam3 のインストール・実行するためには以下のソフトウエアを 事前にインストールしておく必要があります.
debian を使用していてインストールパッケージを利用する場合
deb パッケージ [Fujitsu ver5 | Intel ver8.1]
上記 deb パッケージの他に netCDF の Development kit もインストールする 必要があります (netcdfg-dev パッケージ).
ソースからコンパイルする場合
debian を使用していてインストールパッケージを利用する場合
ソースからコンパイルする場合
インストールの際は, 上記 tar.gz を展開して README を参照してください.
debian を使用していてインストールパッケージを利用する場合
ソースからコンパイルする場合
CVS から最新版を取得して, ドキュメントを生成するためには以下の ソフトウェアを事前にインストールしておく必要があります. (tar.gz パッケージには既にドキュメントが同梱しています)
適当な作業ディレクトリで以下のようにソースアーカイブを展開します. ソースは dcpam3-バージョン というディレクトリに展開されます.
$ tar xvzf dcpam3-current.tgz
または
$ zcat dcpam3-current.tar.gz | tar -xvf -
環境変数 FC に使用する Fortran コンパイラを指定してください. 以下は, 利用するコンパイラが frt の場合です.
sh, bash の場合
$ FC=frt ; export FC
csh, tcsh の場合
$ setenv FC frt
最適化やデバッグのためのオプションは環境変数 FFLAGS に設定してください. 以下は frt の高速化と 並列化のためのオプションです.
sh, bash の場合
$ FFLAGS="-Kfast,parallel" ; export FFLAGS
csh, tcsh の場合
$ setenv FFLAGS "-Kfast,parallel"
展開されたディレクトリに移動し, ./configure
を実行します.
コンパイルに必要なライブラリでインストールした各ライブラリを
以下のオプションに指定する必要があります.
--with-ispack=
ARG--with-netcdf=
ARG--with-gt4f90io=
ARG--with-spml=
ARG例えば以下のように指定します.
このコマンドによって 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 /usr/local/dcpam3
です.
--libdir=
ARG /usr/local/dcpam3/lib
です.
--includedir=
ARG /usr/local/dcpam3/include
です.
--bindir=
ARG /usr/local/dcpam3/bin
です.
--with-docdir=
ARG /usr/local/dcpam3/doc
です.
--with-dcpam_lib_name=
ARGlib
<ARG>.a
となります.
デフォルトは dcpam3
であり, その際のライブラリ名は
libdcpam3.a
となります.
--with-dcpam_suffix=
ARG ffc5
と指定すると,
インストール先のディレクトリのプレフィックスが
/usr/local/dcpam3-ffc5
, ライブラリ名が
libdcpam3-ffc5.a
等のようになります.
--with-lang_conform_check=
ARG95
"
のみ指定可能です. コンパイラによっては指定できません.
--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
上記の ./configure だけで設定できなかった部分に関しては,
Config.mk
を手動で編集して設定して下さい.
以下に主要な設定項目を挙げます. 詳しくは Config.mk
を見てください.
Config.mk
が置いてあるディレクトリ
ビルドには必ず 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