TL;DR
$ sudo apt-get upgrade
$ sudo apt-get install -y grads
$ sudo cp /usr/share/grads/udpt /usr/local/lib/grads/udpt
はじめに
GrADS (Grid Analysis and Dsiplay System) は気象業界の方ならおなじみの解析、描画ソフトです。
最近は Python ですべて完結してしまうので、 GrADS を使う機会はほぼなくなってしまいました。
たまたま過去の資産を利用する必要がでてきたため、サーバーに GrADS をインストールして使おうと思ったらハマってしまったので、備忘を兼ねてまとめます。
環境
- Ubuntu: 20.04.5 LTS
- GrADS: 2.2.1
やったこと
apt-get でインストール
何はともあれ ubuntu install grads
で検索すると、ちょうどいい記事を発見。
以前は zip でモジュールを持ってきて自分で配置したりと面倒だったので、楽な世の中になったものです。
記事を参考に apt-get
でインストールを実行。
$ sudo apt-get upgrade
$ sudo apt-get install -y grads
すんなり終わったので動作確認をしてみると、なにやら見たことないエラーが発生して起動できず。。。
$ grads
Grid Analysis and Display System (GrADS) Version 2.2.1
Copyright (C) 1988-2018 by George Mason University
GrADS comes with ABSOLUTELY NO WARRANTY
See file COPYRIGHT for more information
Config: v2.2.1 little-endian readline grib2 netcdf hdf4-sds hdf5 opendap-grids,stn geotiff shapefile
Issue 'q config' and 'q gxconfig' commands for more detailed configuration information
Landscape mode? ('n' for portrait):
GX Package Initialization: Size = 11 8.5
GX Package Error: Could not find a record for the printing plug-in named "Cairo"
* The environment variable GAUDPT has not been set
* Unable to open the default User Defined Plug-in Table: /usr/local/lib/grads/udpt
Please read the documentation at http://cola.gmu.edu/grads/gadoc/plugins.html
GX Package Terminated
udpt(User Defined Plug-in Table) を設定してみる
コンソールに出てきたサイトにアクセスして確認してみると、 v2.1.1
から(?) GrADS で描画した内容を出力するライブラリをユーザが任意にカスタマイズできるようになっているみたいです。
udpt の説明ページをみると、どうやら次のようなテキストファイルを /usr/local/lib/grads/udpt
というパスに置けば良い模様。
# Type Name Full path to shared object file
# ---- ---- -------------------------------
gxdisplay Cairo /usr/local/lib/grads/libgxdCairo.so
gxdisplay X11 /usr/local/lib/grads/libgxdX11.so
gxdisplay gxdummy /usr/local/lib/grads/libgxdummy.so
*
gxprint Cairo /usr/local/lib/grads/libgxpCairo.so
gxprint GD /usr/local/lib/grads/libgxpGD.so
gxprint gxdummy /usr/local/lib/grads/libgxdummy.so
*
function dothis /home/username/grads/udp/dothis.so
これで解決!と思いましたが、そもそも libgxdCairo.so
などのプラグインはどうやったらインストールできるんだ。。。
プラグインファイルの設定
libgxdCairo.so
をキーワードに検索してみると、 先程 apt-get
でインストールしたパッケージの中身(?)が一覧で載っているサイトを発見。
インストールされるファイル一覧を見てみると、
・・・省略・・・
/usr/lib/x86_64-linux-gnu/libgradspy.so.0.1.0
/usr/lib/x86_64-linux-gnu/libgxdCairo.so.0.1.0
/usr/lib/x86_64-linux-gnu/libgxdX11.so.0.1.0
/usr/lib/x86_64-linux-gnu/libgxdummy.so.0.0.0
/usr/lib/x86_64-linux-gnu/libgxpCairo.so.0.1.0
/usr/lib/x86_64-linux-gnu/libgxpGD.so.0.1.0
・・・省略・・・
すでにインストールされていた。。。w
また、同サイトでもう少し下の方を見てみると、
・・・省略・・・
/usr/share/grads/udpt
・・・省略・・・
udpt
さん、あなたもいらっしゃいましたかw
中身を確認してみると、サーバ内とおなじパスになっているのですぐに使える状態でした。
ということで、すでにインストールされていた udpt
ファイルを GrADS がデフォルトで検索するパスである /usr/local/lib/grads/udpt
に配置します。
$ sudo cp /usr/share/grads/udpt /usr/local/lib/grads/udpt
動作確認
$ grads
Grid Analysis and Display System (GrADS) Version 2.2.1
Copyright (C) 1988-2018 by George Mason University
GrADS comes with ABSOLUTELY NO WARRANTY
See file COPYRIGHT for more information
Config: v2.2.1 little-endian readline grib2 netcdf hdf4-sds hdf5 opendap-grids,stn geotiff shapefile
Issue 'q config' and 'q gxconfig' commands for more detailed configuration information
GX Package Initialization: Size = 11 8.5
>
今度は問題なく起動できました!
省略しますが、過去の資産も問題なく実行できました。
終わりに
やり方を知っていれば zip でモジュールを持ってきて配置するよりも簡単に GrADS 環境を準備できるようになっていました。
旧サーバーから新規サーバーに引っ越す際は、上記手順のあとでこれまで通り /usr/local/lib/grads
などにお好みの GrADS Script を配置すれば概ね GrADS のセットアップは完了だと思います。
2024年6月30日で CentOS 7 のサポートが切れるため、今後 Ubuntu 環境に移行される場合など GrADS を新規インストールされる方の参考になれば幸いです。