このプログラムは以下のコンパイラでの動作を確認しています。
dcpam5 を利用するためには以下のソフトウエアを 事前にインストールしておく必要があります.
Debian GNU/Linux を使用しており, バイナリパッケージを利用する場合は, こちら を参照してインストールしてください.
上記 deb パッケージの他に netCDF の Development kit (netcdf-bin パッケージ) もインストールする必要があります .
ソースからビルドする場合
なお, Debian GNU/Linux を使用しており, バイナリパッケージの g95, netcdf, ispack を使用する場合は, 下記の手順でビルドすることができます.
% setenv FC g95 % setenv FFLAGS % ./configure \ --with-netcdf=/usr/lib/libnetcdf.a \ --with-netcdff=/usr/lib/libnetcdff-g95.a \ --prefix=<INSTALLDIR> % make % make install % make test-installed
Debian GNU/Linux を使用しており, バイナリパッケージを利用する場合は, こちら を参照してインストールしてください.
ソースからビルドする場合
インストールの際は, 上記 tar.gz を展開して README を参照してください.
なお, Debian GNU/Linux を使用しており, バイナリパッケージの g95, netcdf, ispack を使用する場合は, 下記の手順でビルドすることができます.
% setenv FC g95 % setenv FFLAGS % ./configure \ --with-ispack=/usr/lib/libispack./configure \ --with-ispack=/usr/lib/libispack-g95.a \ --with-netcdf=/usr/lib/libnetcdf.a \ --with-gtool5=<GTOOL5_INSTALLDIR>/lib/libgtool5.a \ --prefix=<INSTALLDIR> % make % make install
ソースコードを編集したり, ドキュメントを生成するためには以下の ソフトウェアを事前にインストールしておく必要があります. (tar.gz パッケージには既にドキュメントが同梱しています)
適当な作業ディレクトリで以下のようにソースアーカイブを展開します. ソースは dcpam5-バージョン というディレクトリに展開されます.
$ tar xvzf dcpam5_current.tgz
または
$ zcat dcpam5_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"
なお, スペクトル変換に sjpack を用いる場合には FFLAGS に -DSJPACK を指定してください.
さらに, 軸対称計算を行う場合には, FFLAGS に -DAXISYMMETRY または -DAXISYMMETRY_SJPACK を 指定してください.
展開されたディレクトリに移動し, ./configure
を実行します.
コンパイルに必要なライブラリでインストールした各ライブラリを
以下のオプションに指定する必要があります.
--with-ispack=
ARG--with-netcdf=
ARG--with-netcdff=
ARG (netcdf Fortran ライブラリのファイル名), --with-netcdff-include=
ARG (netcdf ライブラリの include ファイル名) も指定する必要があります.
--with-gtool5=
ARG--with-spml=
ARG例えば以下のように指定します.
このコマンドによって 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
また, g95, netcdf, ispack の Debian package を使用する場合には, 以下のように configure を実行します.
$ ./configure --with-ispack=/usr/lib/libispack-g95.a \ --with-netcdf=/usr/lib/libnetcdf.a \ --with-netcdff=/usr/lib/libnetcdff-g95.a \ --with-gtool5=<GTOOL5_INSTALLDIR>/lib/libgtool5.a \ --with-spml=<SPML_INSTALLDIR>/lib/libspml.a \ --with-netcdf-include=/usr/include/netcdf-g95/netcdf.mod
ビルドには GNU make が必要となるため, configure は PATH 内から 自動で GNU make を探査しようとしますが, もし見つからない場合, エラーを返します. その場合には環境変数 MAKE に GNU make コマンドを指定して再度 configure を実行してください.
インストール先などを変更したい場合は, 以下のように --help
オプ
ションをつけることで, 指定可能なオプションリストが表示されます.
$ ./configure --help
主なオプションに関しての説明です.
--prefix=
ARG /usr/local/dcpam5
です.
--libdir=
ARG /usr/local/dcpam5/lib
です.
--includedir=
ARG /usr/local/dcpam5/include
です.
--bindir=
ARG /usr/local/dcpam5/bin
です.
--with-docdir=
ARG /usr/local/dcpam5/doc
です.
--with-dcpam_lib_name=
ARGlib
<ARG>.a
となります.
デフォルトは dcpam5
であり, その際のライブラリ名は
libdcpam5.a
となります.
--with-dcpam_suffix=
ARG ffc5
と指定すると,
インストール先のディレクトリのプレフィックスが
/usr/local/dcpam5-ffc5
, ライブラリ名が
libdcpam5-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-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
上記の configure によって, 基本的な設定が記述された
Config.mk
ファイルが作成されます.
しかし, 環境によっては configure のみでは不十分な場合もあるため,
必要に応じて 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
以下のようなメッセージが表示されればビルドは成功です.
+-------------------------------------------------------- | You have successfully built dcpam5. | | : | | For details, please see the DCPAM web site: | http://www.gfd-dennou.org/library/dcpam/ +--------------------------------------------------------
マニュアルとコードリファレンスのコンパイルはカレントディレクトリ において, 以下のコマンドを実行してください. dcpam5 の TGZ パッケージ から入手する場合には既に生成済みです.
$ make doc
ビルドが成功すると, src/main 以下に dcpam_main, init_data, sst_data などの実行ファイルが作成されています.
これらの実行の手順については ごくらく dcpam5 を参照してください.