このwiki内では、グリッドファイル(GrADS 4byteバイナリ、特に断らなければdirect書き込み)を〜.bin、コントロールファイルを〜.ctl、変数名をvarと表記します。
- GrADS2の欠損値
GrADS version 2では欠損値のデフォルトが-9.99e8に設定されています。元ファイルの欠損値が何であれ、fwriteしたあとのデータの欠損値は-9.99e8になります。
欠損値をexplicitに設定するには set undef -9.99e8 のような一文が必要です。
http://cola.gmu.edu/grads/ChangeLog
2.1以降はCairo graphics libraryが導入された。画像出力や使用できるフォントに変更あり。
描画が少し遅くなったが、線や文字などが滑らかになった。
http://cola.gmu.edu/grads/gadoc/gradcomdgxprint.ht...
eps, ps, pdf, svg, png, gif, jpgに対応。
外部ユーティリティのgxps, gxeps, gxtranとコマンド'enable print', 'print', 'disable print'は廃止に。
gxprint test.pdf
http://cola.gmu.edu/grads/gadoc/gradcomdsetrgb.htm...
R、G、Bのパラメータの後に、不透明度のパラメータを指定するオプションが追加。0が完全透明、255が完全不透明。
色番号21番として赤色の不透明度200の色を作成
set rgb 21 255 0 0 200
set rgb 21 255 0 0 127 set rgb 22 0 0 255 127 set gxout linefill set lfcols 1 21 d var1;var2 set lfcols 1 22 d var3;var4
http://cola.gmu.edu/grads/gadoc/gradcomdsettile.ht...
set tileでパターンフィリングの指定が可能に。ドットやタイル模様を描ける。統計的有意性の描画に便利?
http://cola.gmu.edu/grads/gadoc/fontcontrol.html
ラインの組み合わせで書かれていた従来のフォント(Hershey Fonts)に比べ、Cairo Fontではポリゴンで文字を書くため、文字が見やすい場合がある。ただしディスプレイ上の表示とファイル出力時とで差がある場合があるので注意。
邪魔な横線が入らないように塗りつぶす、gxout shade2が使用可能(V2.0.0以降)。
set gxout shade2 d var print hoge.eps
http://cola.gmu.edu/grads/changelog-2.0.txt
http://oceansciencehack.blogspot.jp/2012/02/gradsp...
GrADSについてのメモ → 画像ファイル出力 参照
http://cola.gmu.edu/grads/gadoc/gradfunclterp.html
変数varを変数var2の解像度に変更
d lterp(var, var2, bilin)
時間方向の内挿も可能。
**注:2変数を同時に扱うときの原則として、var1とvar2のtimeが一致していないといけない。ただしここでは、var2は解像度を参照したいだけなので、
d lterp(var, var2(t=1), bilin)
とすればOK。
GrADS troubleshooting
時間軸が365日のカレンダーであるNetCDFファイルは、GrADS2ではそのままでは開けないので、
NetCDF用のctlファイルを作成するか、GrADS1でsdfopenすること。
GrADS2でz軸が昇順のnetcdfファイル(10, 20, 30, ... , 925, 1000hPa など)をsdfopenすると、
降順に自動的に並びかえられ、(1000, 925, ... , 30, 20, 10hPa)の軸になる。
ERAの解析値など、昇順のデータを扱うときは、GrADS1と挙動が異なるので注意。
上:draw shp admin98で政治的境界を描いたもの、下:draw shp JPN_adm1で日本の県境を描いたもの
準備:
http://www.wishingwork.com/grads/graphics-controls...
からJPN_adm1.zipをダウンロード、
http://opengrads.org/doc/udxt/shape/
からadmin98_li_shp.zipをダウンロード、解凍したファイルを環境変数GADDIRで設定しているディレクトリに置く。
GrADS2.1を起動して何らかの変数をdisplayしたのち、draw shp 名前 で境界線を描画。
http://cola.gmu.edu/grads/gadoc/shapefiles.html
grads_lowres_land.tar.gzをダウンロード
wget ftp://cola.gmu.edu/grads/scripts/grads_lowres_land...
解凍
tar xvf grads_lowres_land.tar.gz
環境変数GADDIRで設定しているディレクトリ(ここでは/usr/local/grads/dataの場合)にgrads_lowres_land.???を置く
cp grads_lowres_land.??? /usr/local/grads/data
grads2.1を起動し、マップなしで描画したのち、set rgbでColor Masking for Transparent Colorsを使用して不透明度60の黒いマップを描く。
マップの海岸線と等値線が混ざって見づらい図、を防ぐことができる。
'set grads off' 'set grid off' 'set lon 50 230' 'set lat -90 90' 'set mproj orthogr' 'set mpdraw off' 'set gxout shade2' 'd var' 'set rgb 20 0 0 0 -60' 'set line 20' 'set shpopts 20' 'draw shp grads_lowres_land'
hires, medresおよび海洋shapefileも用意されている模様。
grads_hires_land.tar.gz grads_hires_ocean.tar.gz grads_lowres_land.tar.gz grads_lowres_ocean.tar.gz grads_mres_land.tar.gz grads_mres_ocean.tar.gz
sdfwriteというコマンドでNetCDFファイルの作成が可能。
open cmap_precip.ctl set x 1 144 set y 1 73 set lev 1000 set t 1 12 set e 1 a = precip set sdfwrite precip.nc sdfwrite a
sdfwrite
set sdfwrite
set sdfattr:
GrADS2ではUDF(GrADSユーザ定義関数・機能拡張参照)が利用できない。
代わりに、Opengradsを使うことでGrADS2環境下でUDFを利用可能。
https://sites.google.com/site/unumahp/drawing/grad...
http://cola.gmu.edu/grads/gadoc/gradcomdgrads.html
GrADSのウィンドウは11x8.5のアスペクト比で固定されている(大きさはgオプションで変更可)が、
GrADS2ではアスペクト比を変更し、最大11x11にまで変更できる。
aオプションでアスペクト比(0.2〜5.0)を指定する。
grads # 11x8.5 (デフォルト) grads -p # 8.5x11 (portraitモード) grads -a 1 # 11x11 に変更 grads -a 0.2001 # 2.2x11 に変更 grads -a 4.9999 # 11x2.2 に変更
http://www.cpc.ncep.noaa.gov/products/wesley/wgrib...
→Code: 32 and 64 bits 「wgrib2.tgz」をダウンロード、解凍。
mkdir wgrib2
cd wgrib2
wget ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/wgrib2.t...
grib2/に移動し、コンパイルを行って実行ファイルwgrib2を作成。
cd grib2
make -f makefile
wgrib2/以下にあるwgrib2が動くことを確認。
cd wgrib2
./wgrib2
g2ctlのperlスクリプトを入手。
wget ftp://ftp.cpc.ncep.noaa.gov/wd51we/g2ctl/g2ctl.0.0...
実行権限を許可して、実行できることを確認。
chmod 755 g2ctl.0.0.4i
./g2ctl.0.0.4i
名前をg2ctl.plに変更しておく。
mv g2ctl.0.0.4i g2ctl.pl
42?行目の
$wgrib2=をwgrib2実行ファイルの絶対パスに書き換える。
$wgrib2='・・・/grib2/wgrib2/wgrib2';
g2ctl.plをGrADSのbin/に置く。
mv g2ctl.pl ・・・/grads-2.0.a9/bin/
g2ctlを使って、grib2形式のファイル"grib2_file"の対応するコントロールファイル"grib2_file.ctl"を作成し、
gribmapを使って対応するインデックスファイルを作成することで、
grads2でデータを読みこむ。
g2ctl -0 grib2_file > grib2_file.ctl gribmap -0 -i grib2_file.ctl grads
open grib2_file.ctl
ハイフン"ゼロ"でありハイフン"オー"ではないので注意。
Linux PCの場合、64bitのCPUである必要があります。
32bit CPUの場合、GrADS1を使いましょう。
LinuxのCPUが64ビットかどうか調べる
cat /proc/cpuinfoで表示される、flagsの値にlmがあれば64ビット、なければ32ビットCPU。
http://d.hatena.ne.jp/jun-ya/20090511/1242028435
GrADS1のインストール
Windowsでは今のところCygwin上でのみ利用できます。
東北大学大学院理学研究科 流体地球物理学講座 公開情報/GrADS
GrADS Home Page
から、GrADS 2.0.a9 Linux の CentOS5.5-x86_64を選択。
GrADSのバージョンは適宜読み替えて下さい。
root権限になって、ダウンロードしたインストールパッケージを解凍。
tar xvf grads-2.0.a9-bin-CentOS5.5-x86_64.tar.gz
出来たディレクトリ(grads-2.0.a9)を/usr/local/に置く
mv grads-2.0.a9 /usr/local/
GrADSスクリプトを/usr/local/grads-2.0.a9/lib/以下に置く※
mkdir scripts cd scripts wget ftp://cola.gmu.edu/grads/scripts/* mkdir /usr/local/grads-2.0.a9/lib cp * /usr/local/grads-2.0.a9/lib/ /usr/local/grads-2.0.a9/binに移動し、gradsが動くか確認 :注1 cd /usr/local/grads-2.0.a9/bin ./grads
※その他のスクリプトはGrADSスクリプトライブラリを参照。
GrADSのフォントや地図データをダウンロードする※1。GrADSのdataディレクトリを作成し、その中に入れる。
mkdir data cd data wget ftp://cola.gmu.edu/grads/data2.tar.gz tar xvfz data2.tar.gz cd .. cp -r data /usr/local/grads-2.0.a9/
※1 ただし既に別バージョンのGrADSを使用していた場合、そのデータディレクトリをコピーすればよい。
cp -r /usr/local/grads-1.9b4/data /usr/local/grads-2.0.a9/
高解像度の地図もダウンロードしておく。
GrADSについてのメモ→新しい地図
cd /usr/local/grads-2.0.a9/data wget ftp://cola.gmu.edu/grads/boundaries/newmap wget ftp://cola.gmu.edu/grads/boundaries/worldmap
/etc/bashrcに
#set grads export GRADSHOME=/usr/local/grads-2.0.a9 export GADDIR=${GRADSHOME}/data export GASCRP=${GRADSHOME}/lib export PATH=${PATH}:${GRADSHOME}/binと書き込む。
各ユーザ側の設定:
ホームディレクトリの .bashrc の先頭に
# Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fiを書き加える。
source .bashrc
gradsと打ち、起動すれば成功。
注1::
gradsnc: error while loading shared libraries: libtermcap.so.2: cannot open shared object file: No such file or directoryのようなエラーが出たときは、/lib/以下にlibtermcap.so.2などを入れてあげる必要がある。
参考
GrADS Home Page
から、GrADS 2.0.a9 Linux の CentOS5.5-x86_64を選択。
GrADSのバージョンは適宜読み替えて下さい。
ダウンロードしたインストールパッケージを解凍。
tar xvf grads-2.0.a9-bin-CentOS5.5-x86_64.tar.gz
GrADSスクリプトを~/grads-2.0.a9/lib/以下に置く※
mkdir scripts cd scripts wget ftp://cola.gmu.edu/grads/scripts/* mkdir ~/grads-2.0.a9/lib cp * ~/grads-2.0.a9/lib/ ~/grads-2.0.a9/binに移動し、gradsが動くか確認 cd ~/grads-2.0.a9/bin ./grads
※その他のスクリプトはGrADSスクリプトライブラリを参照。
GrADSのフォントや地図データをダウンロードする※1。GrADSのdataディレクトリを作成し、その中に入れる。
mkdir data cd data wget ftp://cola.gmu.edu/grads/data2.tar.gz tar xvfz data2.tar.gz cd .. cp -r data ~/grads-2.0.a9/
※1 ただし既に別バージョンのGrADSを使用していた場合、そのデータディレクトリをコピーすればよい。
cp -r ・・・/grads-1.9b4/data ~/grads-2.0.a9/
高解像度の地図もダウンロードしておく。
GrADSについてのメモ→新しい地図
cd /usr/local/grads-2.0.a9/data wget ftp://cola.gmu.edu/grads/boundaries/newmap wget ftp://cola.gmu.edu/grads/boundaries/worldmap
/etc/bashrcに
#set grads export GRADSHOME=/home/・・・/grads-2.0.a9 export GADDIR=${GRADSHOME}/data export GASCRP=${GRADSHOME}/lib export PATH=${PATH}:${GRADSHOME}/binと書き込む。
Windowsでは今のところCygwin上でのみ利用できます。
インストール手順は基本的にGrADS1と同じ。GrADSのインストール参照。
http://mc39.genin.jp/installmemo.html
64bit cygwin (Windows 8.1)の場合
http://mc39.genin.jp/GrADS2.1.a1_compile_memo.html
コメントをかく