●こちらから netcdf-3.6.1.tar.gzをクリックして「ディスクに保存」を選択、「OK」で保存する.
●ファイルを展開.下記のコマンドを実行.
$ tar xvfz netcdf-3.6.1.tar.gz |
展開した先のディレクトリに移動しておく.
$ cd netcdf-3.6.1 |
環境変数FC,CC,CPPFLAGS に使用するコンパイラのコマンドを指定する.
$ FC=g95 ; export FC |
$ CC=gcc ; export CC |
$ CPPFLAGS=-Df2cFortran ; export CPPFLAGS |
●configure の実行.
ファイルを展開したときにできた src ディレクトリへ移動してから行う.
$ cd src |
$ ./configure |
$ apt-get install gcc |
$ ./configure --prefix=/home/yukai/ |
: config.status: creating macros.make config.status: creating config.h config.status: config.h is unchanged config.status: creating fortran/nfconfig.inc config.status: executing default commandsと表示されて完了.
●make check の実行
$ make check |
make[1]: ディレクトリ '/home/yukai/lib/netcdf-3.6.1/src'から出ます。 Not making 'cxx/test' because no C++ compiler
●make install の実行
$ make install |
make[1]: ディレクトリ '/home/yukai/lib/netcdf-3.6.1/src'から出ます。 Not making 'cxx/install' because no C++ compilerと表示されて終了.
●上のふたつのエラーを解決するために、以下の作業を行いました.
$ sudo apt-get install c++ |
$ ./configure -- prefix=/home/yukai/ |
$ make check |
$ make install |
●こちらのページで、「必要なソフトウエア」の中から「gt4f90ioのTGZパッケージ」をクリックし、「ディスクに保存する」を選んで「OK」で保存する.
●下記のコマンドで、ソースを展開
$ tar xvzf gt4f90io_current.tgz |
次のように実行して、環境変数FCに使用するFortranコンパイラを指定.
$ FC=g95 ; export FC |
●ソースが展開されたディレクトリに移動し、作成する.
$ cd /home/yukai/lib/gt4f90io-20080605 |
$ ./configure --with-netcdf =/home/yukai/lib/libnetcdf.a --prefix=/home/yukai |
Execute GNU make in the current directory, as fallows. make
●less コマンドなどで Config.mk を開き
prefix= /home/yukaiになっていることを確認.
●下記のコマンドでコンパイル
$ make |
make[1] : ディレクトリ'/home/yukai/lib/gt4f90io-20080605/src'から出ます
●gt4f90io-20080605のディレクトリにいる状態で次のコマンドを実行
$ make install |
make[1] : ディレクトリ '/home/yukai/lib/gt4f90io-20080605/gt4frt'から出ます
$ make install-doc |
●確認
COPYRIGHT HISTORY HISTORY.htm.en CREDITS HISTORY.htm INSTALL_netcdf CREDITS.htm HISTORY.htm.en INSTALL_netcdf.htm CREDITS.htm.en INSTALL INSTALL_netcdf.htm.en Changelog INSTALL.htmが作られる.
●gt4f90io-20080605のディレクトリにいる状態で次のコマンドを実行
$ make test installed |
*** Compilation and instlaation are succeeded!! ***というメッセージが表示されればインストール完了.
$ PATH= $PATH :/home/yukai/bin ; export PATH |
$ gr4frt test.90 |
/usr/bin/g95 -I/usr/local/gt4f90io/include -O test.f90 \ -L/usr/local/gt4f90io/lib -lgt4f90io -L/usr/local/lib -lnetcdfのように表示される.
●こちらから「ISPACKをtar.gzにしたファイル」をクリックし、「ディスクに保存する」を選択、「OK」で保存する.
●デスクトップに保存されたので、ファイルを /home/yukai/lib へコピー
●次のコマンドを実行すると、ispack-0.71 というディレクトリができ、そこへ展開される.
$ tar xvzf ispack.tar.gz |
●Mkinclude ファイル内のマクロ定義を自分の環境に合わせて変更する.
DIRS に代入される変数から ****-mpiというものを削除 ↑今回はMPI(並列計算用のプログラム)は使用しないため、mpi形式のファイルはコンパイルされなくて良い. -DESTDIR : /home/yukai/lib ←静的または共有ライブラリの置き場所ディレクトリ -FC : g95 ←Fortran コンパイラ名
●make する
$ make ; make static |
In file fepack.f :143 DO(1) = RD Error : Non-numeric character in statement label at(1)
:143 |
これで143行目にジャンプする.「DO(1)=RD」の前にTab文字が入ってしまっているので、消去して6文字分の空白を入れる.
※Fortran77 はプログラム本文の前に6つの空白が必要なのに、誤ってTab文字が入ってしまっていたために起きたエラーである.
「libisp.a」が /home/yukai/lib にできているか確認する.
●こちらから「最新tar+gzipパッケージ」をクリック、「ディスクに保存」を選択し「OK」で保存.
●デスクトップに保存されるので、/home/yukai/lib へ移動させた後、以下のコマンドで展開する.
$ tar xvzf spml.tar.gz |
以下のコマンドを実行する
$ ./configure --with-ispack=/yukai/lib/libisp.a --with-netcdf=/yukai//lib/libnetcdf.a --with-gt4f90io=/yukai/lib/libgt4f90io.a --prefix=/yukai//lib/spmodel |
Execute GNU make in the current directory, as follows. make
$ make |
make[1] : ディレクトリ '/home/yukai/lib/spml/spmfrt'から出ます
$ make install |
インストールが完了したら、コンパイル用のスクリプトである spmfrt というシェルスクリプトが
「--prefix=」で指定したディレクトリ以下の
bin ディレクトリにインストールされている.
このディレクトリへのパスを通す.
$ PATH=$PATH:/home/yukai/spmodel/bin ; export PATH |
これで、コマンドとして spmfrt を使った際に、指定したデイレクトリ中から自動的にコンパイラ spmfrt を探し出して実行するようになる.
●spml ディレクトリ内の「demo」ディレクトリに移動.
※他のディレクトリにいる状態で実行しようとすると、次のようにエラーが生じるので注意.
例)「at_diff.f90」というファイルについて作業する場合
$ make at_diff.out |
make : ***ターゲット'diff.out'をmakeするルールがありません.中止.
●下記のコマンドにてコンパイル・実行
$ make at_diff.out |
$./a.out |
*** MESSAGE […] *** … ・ ・ it=0 it=100 ・ ・ *** MESSAGE […] *** "at_diff.nc"is closed.
●GAVEでの描画
$ gave at_diff.nc |
●掃除
$ make clean |