気象データを解く〜データを開く まずは基本的な第0節から

  • 2012.06.27 Wednesday
  • 22:10

気象データを解析しようと思うが、
どこから入手すればいいのか、どうやって解析すればいいのかについて覚え書き

できるだけ多くの気象に興味のある人(特にこれから研究しようとしている学生さん)に、
気象の知識だけでなく、コンピュータで気象解析ができるようになってくれればと思っています。



さて、前置きが長くなりましたが、いよいよデータを解読していきましょう。

解読するデータは、この記事を書いている時点での最新、
2012年6月27日0時(UTC)のMSMデータを見ていくことにする。

なお、同じ日付のデータに、pallとsurfの2種類あるが、
とりあえずpallの方を落として解読していくことにする。
(種類の違いは順を追っていくと分かるので、ここでは省く)

なので、落とすファイル名は

Z__C_RJTD_20120627000000_MSM_GPV_Rjp_L-pall_FH00-15_grib2.bin

となる。

ちなみに、MSMデータはこんなデータが入っているらしい。


続きを読む >>


関連投稿
気象データを解く〜データを入手する
気象データを解く〜データを開く前に用語とか整理
気象データを解く〜データを開く 第1節を読む
気象データを解く〜データを開く 第3節を読む
気象データを解く〜データを開く 第4節を読む
気象データを解く〜データを開く 第5節を読む
気象データを解く〜データを開く 第7節を読む
気象データを解く〜データを開く 続くデータを見ていく
気象データを解く〜データを開く surfファイルを読む
気象データを解く〜データをパソコンで解析する その1
気象データを解く〜データをパソコンで解析する その2
気象データを解く〜データをパソコンで解析する その3



では早速ダウンロードして、開いてみる。
っとその前に、私はバイナリエディタとしてWZを使っているが、こちらは有償なので、
無料でダウンロードできるApsalyテキストエディタというのを使うと良いと思う。

では、改めてファイルを開いてみると・・・


GRIBを開く

こんな感じでしょうか?
(Apsalyの場合は、開いてから、ファイルメニュー→ファイルの16進値表示をすると同じような感じで閲覧できる)


前回説明したとおり、先頭の4バイトはGRIBです。

続く文字列を説明する前に、また脱線して16進数を説明する。

16進数は、0〜9の数字とA(10)〜F(15)までのアルファベットの合計16文字で表現したものです。
(カッコ内は10進数の場合)

16進数なので、F(15)の次は10(16)となります。順に上がってFF(255)となる。

それと、16進数を2進数で表現すると、
0は0000、1は0001で、順に増やして、E(14)は1110、F(15)が1111となる。

1バイトは8ビットなので、1111 1111はFFとなる。

なので、バイナリエディタで00とかFFはこれで1バイトを表していることになる。



さて、話を解読に戻す。

5,6オクテットはFFとなっていますが、ここは仕様書に書いてあるとおり、
保留(Reserved)ということなので、無視する。

続いて7オクテット目は00なので、10進数は0です(以降は上と同じようにカッコ内で表現する)。
日本語のGRIB解説の値欄を見ると0となっているので、同じです。


追記121002
この7オクテット目は普通は0ですが、CWMは10が入る。
これは、Code Table 0.0を読めば分かるとおりで、

0はMeteorological products
10はOceanographic products

となる。
この番号は第4節10オクテット目のCode Table 4.1のProduct disciplineにかかってくる。



8オクテット目は02(2)で、GRIBのバージョンが2であることを示す。

9〜16オクテットは全体の長さとなっている。抜き出してみると、

00 00 00 00 03 02 E9 61(0 0 0 0 3 2 233 97)

です。なんのこっちゃです

3 + 2 + 233 + 97=335 かな? 何となく、少なすぎる値

じゃあ、3 x 2 x 233 x 97=135606 かな?

何となく大きくなったが、まだ違う気がする。

そういえば、windowsの場合、電卓機能にプログラムというものがあったはず。

GRIBを開く

これを使えば何かヒントが得られるかもしれません。

まず、電卓の表示をプログラムモードに切り替えて、
続いて16進を選択、上の抜き出した16進の値を入力(302E961)してみると・・・。


GRIBを開く


これだけでは、やはりなんのこっちゃなので、試しに、10進に戻してみると・・・。


GRIBを開く


おお、ファイルサイズと一致するではないですか。

つまりこういうこと 302E961は、右から分解すると

1は1
6は16の束が6個
9は16の束がさらに16束集まっていて、それが9個
Eは16の束が16束集まって、さらに16束集まって、それが、14個
2は16の束が16束集まっていて、その束も16束集まっていて、さらに16の束が2個
0はたまたま切りがよくて16の束の16の束の16の束の16の束の16の束がなかった。
3は16の束の・・・が6回繰り返されて、それが3個ある
残り9個0があるが0は0なので、無視できる。

わけが分からないので、数式にすると、

1 x 16^0 = 1
6 x 16^1 = 96
9 x 16^2 = 2304
E x 16^3 = 57344
2 x 16^4 = 131072
0 x 16^5 = 0
3 x 16^6 = 50331648

となり、1+96+2304+57344+121072+0+50331648 = 50522465 となる。


なお、000000000302E961を00 00 00 00 03 02 E9 61と分割して格納していくことをビックエンディアンと呼ぶ。
GRIB形式はこのビックエンディアンでデータが格納されているようなので、
これから先も同じような感じで計算していけばよい。

※順番が逆で、61 E9 02 03 00 00 00 00と格納されていたならば、リトルエンディアンと呼ぶ


毎度話が脱線してしまいますが、
計算された全体の長さと、実際のファイルに長さが一致していない場合は、ダウンロードに失敗したか、元のデータ自体が破損している可能性がある。

ここまでがGRIBの第0節になる。

第0節を解読するだけで、頭がパンクしそうなので、
第1節以降はまた次回ということで



追記121002
7オクテット目の解読方法を加筆


関連投稿
気象データを解く〜データを入手する
気象データを解く〜データを開く前に用語とか整理
気象データを解く〜データを開く 第1節を読む
気象データを解く〜データを開く 第3節を読む
気象データを解く〜データを開く 第4節を読む
気象データを解く〜データを開く 第5節を読む
気象データを解く〜データを開く 第7節を読む
気象データを解く〜データを開く 続くデータを見ていく
気象データを解く〜データを開く surfファイルを読む
気象データを解く〜データをパソコンで解析する その1
気象データを解く〜データをパソコンで解析する その2
気象データを解く〜データをパソコンで解析する その3

コメント
 気象データに関する丁寧で分かりやすい説明ありがとうございます。
 風と波の状況に興味あり、波浪予報モデル(cwm)の解析ができないかと考えていたところ、このページを見つけ、分かりやすい説明で、4節まで概ね理解できました。
 沿岸波浪モデル(cwm)の場合、4節以降、どのように、各格子点のデータが格納されているのか、ご存知でしたらご教示いただけないでしょうか。
 最終的には、使用できるパソコンがwindowsのみなので、cwmファイルをダウンロードして、vbaを使用して、各格子点データを15分間隔でサンプリングしてテキストデータ変換したいと考えています。(vbaによる変換は概ね目処がたっています。)
  • furukawa
  • 2012/07/15 9:25 PM
大変申し訳ございませんが、この記事はだらだらと勝手気ままに書いている最中です。
(CWMに関しては、今のところ書かないつもりでいます)

もしお急ぎの場合や、内容が知りたいようでしたら、
配信資料に関する技術情報第245号を購入された方がいいかと思います。

一応、気象業務支援センターの配信データの内容を見ると、
http://www.jmbsc.or.jp/hp/online/f-online3t.html

波高[m]、周期[秒]、波向[度]、海上風東西成分[m/s]、海上風南北成分[m/s]
のデータがそれぞれ入っているようで、

初期時刻は00、06、12、18UTCで、72時間予報(3時間間隔)

で格納されていることが読み取れます。


また、電脳倶楽部で公開されているデータをざっくり見る限りでは、

MSMとは違って第6節が設定されてている。
GRIBというヘッダが2カ所ある。
そのほかは基本的に同じ構造である。

といった感じで、一部特殊なデータかと思いますが、
GRIBの仕様書通りのはずですので、仕様書を読めば解読できるかと思います。


あと、どこからデータをダウンロードされるのか分かりませんが、
もし、電脳倶楽部から取得されるようでしたら、電脳倶楽部の注意書きを必ずお読みください(下記抜粋)。

コメントを読む限りでは、頻繁に必要とされる方のケースに入る可能性があります。


電脳倶楽部 気象庁データ 抜粋
http://database.rish.kyoto-u.ac.jp/arch/jmadata/

ここでは教育研究機関向けにデータを提供しています.企業活動等のためにデータを頻繁に必要とされる方は,気象業務支援センターからデータを直接購入し,データ提供スキーム全体の維持発展にご協力ください.

  • rockecco
  • 2012/07/15 10:44 PM
配信資料に関する技術情報第245号購入して勉強します。
いろいろアドバイス有難うございました。
  • furukawa
  • 2012/07/15 11:23 PM
すみません、私の勘違いでCWM予測データも第6節は発生しないので、MSMと同様に読むことができるようです。
(第6節が発生するのはCWM解析データのほう)

ただ、カテゴリがGRIBの仕様書では判読できない(気象庁独自?)ので、技術情報仕様書は入手した方が良いと思います。

  • rockecco
  • 2012/08/09 12:31 PM
コメントする








    
この記事のトラックバックURL
トラックバック

calendar

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
<< December 2018 >>

search this site.

よく使う、検索される投稿

categories

アマゾン

楽天

selected entries

archives

recent comment

  • MacでBlu-ray編 〜 BD-Rを焼く その4 無料のライティングソフトを使ってみる編
    rockecco (12/03)
  • あの、クラスとかメソッドとかプルダウンできるバーって〜Visual Studio 2015
    rockecco (12/03)
  • MacでBlu-ray編 〜 BD-Rを焼く その2
    rockecco (12/03)
  • あの、クラスとかメソッドとかプルダウンできるバーって〜Visual Studio 2015
    やま (11/29)
  • MacでBlu-ray編 〜 BD-Rを焼く その4 無料のライティングソフトを使ってみる編
    ブルーレイ 書き込み (11/20)
  • MacでBlu-ray編 〜 BD-Rを焼く その2
    ブルーレイ 焼く (11/13)
  • プリンセスパフュームのキーがいくつ出るか考えてみる
    Y. U. (11/09)
  • プリンセスパフュームのキーがいくつ出るか考えてみる
    rockecco (11/08)
  • プリンセスパフュームのキーがいくつ出るか考えてみる
    Y. U. (11/08)
  • プリンセスパフュームのキーがいくつ出るか考えてみる
    rockecco (11/08)

recent trackback

profile


※当ブログはリンクフリーですが、 取材や雑誌等で掲載される場合は、事前にお知らせください

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM