spml -- a Fortran 90 library for spectral model based on ispack and gt4f90io 2002 年 5 月 20 日 竹広真一 (takepiro@gfd-dennou.org) 2004 年 1 月 26 日 小高正嗣 (takepiro@gfd-dennou.org) 2004 年 1 月 27 日 小高正嗣 (takepiro@gfd-dennou.org) 2005 年 1 月 10 日 竹広真一 (takepiro@gfd-dennou.org) 2005 年 2 月 01 日 竹広真一 (takepiro@gfd-dennou.org) 2007 年 12月 04 日 竹広真一 (takepiro@gfd-dennou.org) ○必要な環境 ・Fortran 90 コンパイラ ・NetCDF ライブラリ(http://www.gfd-dennou.org/arch/ucar/) ・IPSACK ライブラリ(http://www.gfd-dennou.org/arch/ispack/) ・gt4f90io ライブラリ(http://www.gfd-dennou.org/arch/gtool4/) ○インストール手順 1. ISPACK と netcdf, gt4f90io をインストールしておく. 2. configure を実行する. $ ./configure \ --with-ispack=/usr/local/lib/libisp.a \ --with-netcdf=/usr/local/lib/libnetcdf.a \ --with-gt4f90io=/usr/local/lib/libgt4f90io.a \ --with-ssl2(lapack)=/usr/local/lib/libssl2.a \ --prefix=/usr/local/spmodel ・オプション --with-ispack= : ISPACK ライブラリ(libisp.a) の場所 --with-netcdf= : netcdf ライブラリ (libnetcdf.a) --with-gt4f90io= : gt4f90io ライブラリ (libgt4f90io.a) --with-ssl2= : FUJITSU SSL II ライブラリ (オプショナル) --with-lapack= : LAPACK ライブラリ (オプショナル) --prefix= : インストール先のディレクトリ. $(prefix)/lib/ に libspml[-ssl2|-lapack].a, $(prefix)/include/ にモジュールファイル, $(prefix)/bin/ に spmfrt がインストールされる. 固有値問題を解くためのサブルーチンを使うには ssl2 あるいは lapack ライブラリが必要である. その際 --with-ssl2, --with-lapack オプションでライブラリを指定する. これら 2 つを同時に指定することは できない. 必要ならばコンパイルオプションを環境変数 FFLAGS で, リンカーオプションを環境変数 LDFLAGS, LDLIBS で, コンパイラー名を FC で前もって陽に指定する. コンパイルでチェックすべき点は gt4f90io のモジュール置場である. gt4f90io のモジュール情報ファイルのインストール先がコンパイラの モジュール検索ディレクトリに含まれていなければ, それを陽に 指定しなければならない. 例えばそのディレクトリが /usr/local/include であるならば FFLAGS=-I/usr/local/include といった具合である. -I オプションはコンパイラによって異なる可能性が あるのでマニュアルでチェックすること. 3. make $ make 4. インストール $ make install 5. テスト demo/ ディレクトリのサンプルを動かしてみる. hogehoge.f90 を コンパイルしたいなら $ make hogehoge.out で OK のはず. その後に hogehoge.out を実行してみる. NetCDF ファイル hogehoge.nc ができていたら成功. 適当なソフトを用いて NetCDF ファイルを描画してみる. お薦めは電脳 ruby プロジェクト (http://www.gfd-dennou.org/arch/ruby/index-j.htm) の一連のソフトウェア(gpview, gave など)である. 6. お掃除 $ make clean でインストールのためにコンパイルしたファイルなどが消去される. $ make distclean とすると configure による設定まで消去される. ○動作確認状況 開発は主に Debian GNU/Linux なる環境にて行われているが, 他の Linux distribution でもうごくであろう. ・Fujitsu Fortran for Linux (ver.3) ・Fujitsu Fortran for Linux (ver.4) ・Intel Fortran for Linux (ver.6) ・Intel Fortran for Linux (ver.7)