GPhys と gave のインストール(Ubuntu 上)

電脳 Ruby プロジェクト(地球流体電脳倶楽部)は,地球流体力学のデータ解析と可視化を Ruby で行うためのライブラリ群を公開している。中心となるのが GPhys であり,NetCDF,GrADS,GRIB 形式の格子点データを統一的に扱うことができる。gave は,GPhys を用いた GTK ベースの GUI データビューアである。

gave と GPhys の関係

gave の最後の公開版は 1.2.5(2012 年公開)であり,GTK2 と旧版の Ruby 拡張ライブラリに依存している。現在の Ubuntu 向けの配布パッケージは提供されていないため,新規に導入する場合は GPhys をインストールし,GPhys に付属する gpviewgplistgpprint などのコマンドを使う。GPhys は現在も更新されており,RubyGems では 1.5.7(2025 年 10 月公開)が入手できる。

前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。

Ubuntu のインストールはこちらの別ページで説明する。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now

* PPA のパッケージを用いてインストールする場合の手順

電脳 Ruby プロジェクトは,Ubuntu の LTS 版向けのパッケージを Launchpad の PPA ppa:gfd-dennou/ppa で公開している。 端末で,次のコマンドを実行する。

# PPA の登録
sudo add-apt-repository ppa:gfd-dennou/ppa
# パッケージリストの情報を更新
sudo apt update
# GPhys と DCL のインストール
sudo apt -y install gphys dcl-f90

PPA で公開されているパッケージと,対応する Ubuntu のバージョンは PPA のページで確認できる。

* RubyGems を用いてインストールする場合の手順

PPA が対応していない Ubuntu のバージョンを使う場合や,新しい版の GPhys を使う場合は,RubyGems を用いる。GPhys は C 言語で書かれたライブラリに依存するため,先にそれらをインストールする。 端末で,次のコマンドを実行する。

# ビルドに必要なパッケージと依存ライブラリのインストール
sudo apt -y install build-essential ruby ruby-dev \
  libgsl-dev libfftw3-dev libnetcdf-dev
# DCL (C 版) のインストール
sudo add-apt-repository ppa:gfd-dennou/ppa
sudo apt update
sudo apt -y install dcl
# GPhys のインストール
sudo gem install gphys

gphys の gem をインストールすると,依存関係により narraynarray_missnumru-miscnumru-unitsrb-gslruby-dclruby-fftw3ruby-netcdf も同時にインストールされる。

gem のインストール前に必要な C ライブラリは次の通りである。

インストールの確認と基本的な使い方

GPhys には,NetCDF ファイルを扱うためのコマンド群が付属する。 端末で,次のコマンドを実行する。

# ファイル内の変数名と座標軸の一覧を表示
gplist データファイル名.nc
# 変数の値を数値で出力
gpprint データファイル名.nc@変数名
# 変数を描画(1 次元なら折れ線,2 次元ならコンター)
gpview データファイル名.nc@変数名

gpview の主なオプションは次の通りである。

コマンドの詳しい使い方は,gp コマンドチュートリアルで説明されている。

Ruby スクリプトからの利用

GPhys は Ruby のライブラリとしても利用できる。描画には GGraph モジュールを使う。

require "numru/ggraph"
include NumRu

gphys = GPhys::IO.open("データファイル名.nc", "変数名")
DCL.gropn(1)
GGraph.set_fig("itr" => 1)
GGraph.tone(gphys)
GGraph.contour(gphys, false)
DCL.grcls

GPhys と GGraph の使い方は,GPhys, GGraph チュートリアルで説明されている。

gave のソースコードからのインストール

gave のソースコードは gave の配布ページから入手できる(gave-1.2.5.tar.gz)。実行には,GPhys のほかに GTK2 版の ruby-gnome2 と ruby-dclext-gtk が必要である。これらは現在の Ubuntu では標準パッケージとして提供されていないため,導入には個別のビルド作業が必要になる。GUI での可視化を行う場合の実際的な選択肢は,上記の gpview コマンドの利用である。