wgribとは
GRIBファイルを操作するプログラム.こちらで配布している(
Source code: wgrib.tarというところ).
+
National Weather Service Climate Prediction Center "wgrib"
新しいバージョンとして
grib2というのもある(気象庁
MSM-GPVなどはそれ).
grib2を操作するプログラムは
wgrib2で,
wgribとは別に配布されている.
wgrib2は
gribも操作できると書いているところもあるが,どうやらそうではないらしい.
JRA55をデコードしようとしたら
"grib1 message ignored (use wgrib)"というメッセージが出てうまく動作しなかったので,まあ
gribは
wgribで読むしかないか,ということで入れた.
コンパイル
手順は以下のとおり.
1. 落としてきたwgrib.tarを解凍
2. メインプログラムのソースコードを生成
3. コンパイル
1. 解凍
2. ソースコード生成
ここでlsすると.hや.cというファイルのほかにmakefileとsrc2allというのがあるのがわかる.
src2allを見てみるとwgrib.cというソースコードを生成していることが分かる.
引数にalphaかbetaを取っている.どちらでも良いと思うがとりあえずalphaを与えることにする.
3. コンパイル
makefileがあるので普通にmake
使い方
JRA55を例に説明する.
単体で実行: 引数やオプションの説明が出てくる.
よく使いそうなのは
-V: 変数の詳細な説明
-d [record number|all]: 指定した(あるいは全ての)レコード番号をデコード
-bin: バイナリに変換
-nh: ヘッダーを出力しない(デフォルトでは出力される)
-o [file]: 出力ファイル名を指定
これで必要な変数だけバイナリにしてしまえばよい.
ファイル名のみ(オプション無し): とりあえずファイルに何が入っているかが大体分かる.
-V: 変数の詳細が出力される.次元,変数名,変数の説明,次元,最大値・最小値などなど.
バイナリに変換
レコード3をバイナリに変換する.
Undefined parameter table (center 34-241 table 200), using NCEP-opn
JRA55のデータではこの警告文が出てきて鬱陶しいので消した.
方法はこちらに書かれていたとおりにした.
+
JRA25 info. (hysk)
つまり変数のレコード番号,名前,コメントをテキストに書き出して,それを環境変数
GRIBTABに定義した.
頭の数字は
-1:CENTER:SUBCENTER:PARAMETER_TABLE
とのことであるが(
usertables.txt at NOAA参照),意味はよく分からない.