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参照)、意味はよく分からない。