wgrib
    Top > Linux > ツール・ライブラリ
    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参照),意味はよく分からない.
    References
    Climate Prediction Center - wgrib home page + https://www.cpc.ncep.noaa.gov/products/wesley/wgrib.html JRA25 info. (hysk) + http://www.hysk.sakura.ne.jp/data_list/JRA25_memo.php#p12 usertables.txt at NOAA + ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib/usertables.txt