━━━━━━━━━━━━━━━━━━━━━━━━
|
気象業務支援センターから提供されている流域雨量指数のデータは、bufr4というフォーマットで書かれています。 このフォーマットの情報がほとんどなく苦労したので、 解読するための手順を備忘録がわりにメモしておきます。(2015/8現在) 0.私のサーバー環境
・Linux Redhut 64bit
1.libECBUFRを入手
まず、libECBUFRというbufrフォーマットの解読ツールをインストールします。本家(https://launchpad.net/libecbufr)のダウンロードサイトはこちら。 私は使い方が良く分からなかったので、toyoda-eizi.netさんのここからlibecbufr_0.8.5.tar.gzをダウンロードしました。 2.libECBUFRをインストール
tar.gzファイルを展開し、libecbufr ディレクトリに入ります。./reconf ./configure make(管理者である必要がある) make install(管理者である必要がある) とタイプしてインストールします。自動的に/usr/bin/bufr_decoderがインストールされました。 3.まだ読めないことの確認
export BUFR_TABLES=/usr/share/libecbufr (bashの場合)setenv BUFR_TABLES /usr/share/libecbufr (cshの場合) bufr_decoder -inbufr Z__C_RJTD_xxxxxxxxxxx_bufr4.bin(ファイル名) とタイプしてみましょう。途中で止まって読めないはずです。 (私の場合、"Error: can't decode messages"というメッセージが出ました。) 4.さらなるテーブルと解読プログラムを入手
toyoda-eizi.netさんのここの一番下からtable_b_bufr table_d_bufr readdump.f90 を取ってくる。(なぜ必要かはtoyoda-eizi.netさんのページを読んで下さい。) 各自のFortran環境に合わせてreaddump.f90をコンパイルしてください。 (例:gfortran readdump.f90 -o readdump) 5.いよいよ解読
入手したテーブルを以下のように指定して、再度デコードを行います。bufr_decoder -inbufr Z__C_RJTD_xxxxxxxxxxx_bufr4.bin(ファイル名) -ltableb ./table_b_bufr -ltabled ./table_d_bufr -dump -output dump.txt echo dump.txt |./readdump >dump.csv readdumpを使うと、出力結果がCSVファイルで整形されて出てきます。 出力結果(ANALファイルの場合)は以下の順番に並んでいます。(一列目の数字が、内容を示している。) この数字の意味は、配信資料に関する技術情報(気象編)第302号に書いてあります。 列数 時間の特定(16:解析) 年 月 日 時 分 河川番号 緯度 経度 流域雨量指数 2869 8021 4001 4002 4003 4004 4005 1210 5001 6001 13209 Link
|