gtool4 インストール(IFC版)


  目次

gtool4チュートリアルページへ戻る

  gtool4 とは?

gtool4 は Gtool4 NetCDF Convention の利用例の 1 つで, 主に以下の機能を含んでいます.

  • netCDF を用いた入出力ライブラリ
  • 四則演算などの簡単なデータ解析ツール
  • DCL を用いた可視化ツール
Gtool4 NetCDF Convention は地球流体現象を念頭においた格子点データのための自己記述的表現方法です. 現在誠意作成中です.


  インストール


■ 実行環境

  • OS
    • Debian GNU/LINUX ver.3.0 (woody)
  • Fortran77 コンパイラ
    • Intel Fortran Compiler ver.7.1(ifc)

■ ソースの入手・展開

以下のurlからダウンロードする.

任意のディレクトリにて展開.

$ tar xvzf gtool4-currenttgz

■ configure

ディレクトリ内のINSTALLファイルを参考にビルドする. このとき、bash環境では、

$ export FC=ifc

とする.

configureをかます.

# ./configure --prefix=/usr/local/gtool4\
  --with-netcdf=/usr/local/netcdf/lib/libnetcdf.a \
  --with-dclf90config=/usr/local/dcl-f90/bin/dclf90config

■ gt_map.f90 の書き換え

src/gt_map.f90 内の

use gt_vartable, only:hoge

を全てコメントアウトする. gt_map 内で gt_vartable を定義していても, gt_map 内のサブルーチンで use gt_vartable, only:hoge してしまうと, gt_map を呼び出したルーチンから gt_vartable で定義されているものが見えなくなる ためらしい. 以下参考文献.


■ Config.mk の書き換え

Config.mk を以下のように書き換える.

...
# コンパイル時・リンク時に必要なフラグ
SYSFFLAGS=-I/usr/local/dcl-f90/include -O -w -Vaxlib
                          # => -Vaxlib を付け加えた.
...
# SYSDEPARG, SYSDEPABORT: sysdem dependent routine (usually "DCL" works)
SYSDEPARG=common          # => dcl を common に書き換えた.                     

この作業は必ずしも必要ではないが, マシンによってはこの書き換えを行わないと, インストール後, gtview が正しく動作しないことがある. 詳細はエラー対処/gtview が引数をとれないを参照のこと.


■ make

展開したトップディレクトリでmake, make installする.

# make
# make install

  環境設定

システムの ライブラリパスを以下のように書き換える.

  # vi /etc/ld.so.conf
    /usr/local/netcdf/lib
  # ldconfig -v 

  エラー対処メモ


■ gtview が引数を取れない

インストール後に, gtview コマンドを実行すると, 指定した引数をとらずに, 以下のようなエラーが表示され使用できない場合がある.

$ gtview sample.nc

ANVarOpen(@) : No such file or directory

** Abort signal **

End of diagnostic

これは gtview が呼び出している SysdepArgCount() に関連している. SysdepArgCount()引数の個数の取得を行う関数である. これは gtool4 のインストール時に 与える SYSDEPARG という環境変数の値に応じて, コンパイルされるライブラリが異なり,

SYSDEPARG=dcl     →   sysdeparg-dcl.f90
SYSDEPARG=common  →   sysdeparg-common.f90
SYSDEPARG=hitachi →   sysdeparg-hitachi.f90

が指定される.

デフォルトでは SYSDEPARG=dcl となっている. sysdeparg-dcl.f90 は dcl のosqarn サブルーチン(dcl-5.2/src/math1/oslib/osqarn.f.iargc) を呼び出す. osqarn はその中身で iargc を呼び出している. iargc とは f77 の組み込み関数で, iargc(k, arg) を指定することでコマンド行の k 番目の引数の取得を行う. すなわち実際に引数の取得を行うのは iargc である.

dcl をソースから正しくインストールできていれば問題ないはずだが, 例えば deb パッケージからインストールした dcl のライブラリ libdcl**.a は常に arg = 0 を返すために その場合にgtool4をソースからコンパイルすると引数を取れなくなる. また dcl をソースからインストールした場合でもなぜか引数がとれないことがある.

SYSDEPARG=common を指定するとその場で組み込み関数 iargc を呼び出すので, dcl を経由して iargc を呼び出す場合と動作は変わりない. よって SYSDEPARG=common として make を行うほうが確かである. ただし, intel fortran compiler を利用する際には 実行オプションとして -Vaxlib を指定する必要があるので注意が必要である.


  参考文献


■ インストールについて


■ ユーザマニュアル

目次へ戻る
gtool4チュートリアルページへ戻る

Copyright (C) 2003 daktu32
最終更新:2003年07月18日
http://www.ep.sci.hokudai.ac.jp/~daktu32/DOC/dcl_ffc.html