GrADSのインストール

目次:

GrADSのインストール法

Intel/Linux (バイナリインストール)

  1. http://cola.gmu.edu/grads/downloads.phpからLinux-i686をダウンロード
    • 2012年6月28日時点では2.0.1が最新みたい。
      • 違うバージョンの場合は、ファイル名を読みかえること。
    • sourceを選べばソースインストールも可能だが、ライブラリがたくさん必要なので面倒かも。
    • インストールするディレクトリはどこでもOK。
      • 以下の例では/usr/local/lib/以下にインストールする。このような場合はsu権限が必要。(パーソナルな使用ではrootの必要なし。)
      • ちろん/usr/local/lib/以外にもインストール可能だけど、パスを通さないと -bash: grads: command not found とでるだけ。
  2. ダウンロードしたファイルを適当な場所に解凍(後でrmしても問題ないのでお好きなところにどうぞ、、、)
tar xvf grads-2.0.1-bin-i686-pc-linux-gnu.tar.gz

3. bin以下のファイルをインストールしたいディレクトリへ移動(ここでは /usr/local/bin/)

mv grads-2.0.1/bin/* /usr/local/bin/

4. スクリプトファイルとFontやMapファイルをダウンロードし、適当な場所に置く(ここでは /usr/local/lib/grads/)

cd /usr/local/lib
mkdir grads
cd grads
wget ftp://cola.gmu.edu/grads/scripts/* 
wget ftp://cola.gmu.edu/grads/data2.tar.gz 
tar zxvf data2.tar.gz

5. 環境変数の設定

  • /etc/profile 又は ~/bash_profile に以下を追加
### /usr/local/bin
export PATH="$PATH:/usr/local/bin"
# GrADS
export GASCRP="/usr/local/lib/grads"
  • 以上に書いてある通りにすれば入るはず。(実際入りました。)

Intel/Linux (ソースインストール・上級者向け)

  1. http://grads.iges.org/grads/downloads.html からsourceをダウンロード、解凍
  2. コンパイル
./configure
make
make install
  • configureが終わると関連ライブラリの有無が表示される。
    • 存在しないライブラリがあると1.*系では結構ごねた覚えがあるが、2.*系ではそれほど気にしなくてもよさそう。
  • bin/ 中にバイナリが作成される。あとはバイナリインストールと同様。

Linux(Fedora Core, Red Hat系)

  1. Fedora Coreの場合はyumを使ったインストールが可能
    • 以下の作業は適宜su権限で行うこと
    • 先にyumを使えるようにしておいた上で(GPGキーのインポートなど)、以下を実行
yum install grads
  • デフォルトのインストール先は/usr/bin
  • x86_64版なども存在する

2. RHEL(or RHELクローン)ではftpなどを使ってrpmパッケージを持ってくる

  • 例えばCentOS-4(x86_64)(Fedora Core 3ベース)の場合
    • ftp.kddilabs.jp/Linux/packages/fedora/extras/3/x86_64/などから以下のファイルをダウンロード
      • grads-1.9b4-11.fc3.x86_64.rpm
      • libdap-3.6.0-1.fc3.x86_64.rpm
      • libnc-dap-3.6.0-1.fc3.x86_64.rpm
    • rpmコマンドを使ってダウンロードしてきたファイルをインストール
    • 他に必要なパッケージがあれば、上のファイルの他にも適宜ダウンロードしてインストールすること

Mac

以前書いてあった内容ではインストールできなかったため、準備中。 (mac ユーザーなのにすみません、、)

パッチ

ベクトルの向きがずれるバグに対するパッチです。気象研の柴田様、堀様から頂きました(元々の作成者はフロンティアの鍵元さん?)。

  • grads-patch.dat
--- gagx.c.orig 2001-10-18 12:00:50.000000000 +0900
+++ gagx.c      2005-10-13 15:14:07.000000000 +0900
@@ -1914,6 +1914,7 @@
     if (imap) gawmap(pcm, 1);   /* Draw map if requested */
   }
   else {
+    init_gxwmap();              /* Initialize internal parameters (2005/10/13 T.Kagimoto) */
     if (pcm->paflg) {
       pcm->xsiz1 = pcm->pxmin;
       pcm->xsiz2 = pcm->pxmax;
--- gxwmap.c.orig       2001-10-18 12:00:56.000000000 +0900
+++ gxwmap.c    2005-10-13 15:10:30.000000000 +0900
@@ -19,6 +19,14 @@
 static int adjtyp = 0;  /* Direction adjustment class */
 static float lonref;    /* Reference longitude for adjustment */

+/* Initialize internal parameters, adjtyp and lonref
+ *                                                     (2005/10/13 T.Kagimoto)
+ */
+void init_gxwmap() {
+  adjtyp = 0;
+  lonref = 0.0;
+}
+
 void gxdmap (struct mapopt *mopt) {
 float lon[255],lat[255],xx,yy,lnmin,lnmax,ltmin,ltmax,lnfact;
 int num,i,ipen,rc,type,ilon,ilat,rnum,flag;