見出し画像

高層気象観測データとBUFR形式について

はじめに

高層気象観測データとは、ラジオゾンデと呼ばれる観測装置を気球につけて飛ばして上空の大気の状態を計測したデータです。

ラジオゾンデは、上空の気温、湿度、風向、風速等の気象要素を観測する気象観測器です。 気象庁では、ラジオゾンデをゴム気球に吊るして飛揚し、地上から高度約30kmまでの大気の状態を観測しています。

気象庁:ラジオゾンデによる高層気象観測

私が気象予報士の資格を取った頃はレーウィンゾンデと呼ばれる、自動追跡型方向探知機で動きを追跡して高層風を測るという代物でしたが、いつの間にか引退されてしまいまして(汗)、現在はGPS機能付きラジオゾンデが活躍しているようです。

観測データに含まれる気象要素は、上述の気温・湿度・風向・風速のほか、気圧と高度の情報もあります。レーウィンゾンデの頃は気圧を測っていて、高度は測高公式により計算で求めていました。GPSゾンデになってからは高度も測れるようになったため、気圧と高度の両方を測るか、もしくは気圧計を持たないGPSゾンデまで誕生しました。

参考:ラジオゾンデによる高層気象観測の変遷

ラジオゾンデによる高層気象観測は、基本的に全世界で毎日00・12UTC(日本時間9時・21時)に同時に行われます。ラジオゾンデの放球は、観測にかかる時間も踏まえて30分ほど早くに行われます。
現在は人による放球を行う観測地点のほか、自動放球装置による放球も行われており、ここでも観測の無人化が進んでいます。時代の流れですかね。

高分解能地上高層実況気象報

ところで高層気象観測データについて、気象庁は2018年1月25日に『配信資料に関する技術情報(気象編)第478号』を発行し、以下のように述べています。

従来より鉛直方向の点数が充実した高層気象観測データを配信する準備が整ったため、国内16箇所の観測点について、表参照通報式の「高分解能地上高層実況気象報」による配信を下記のとおり開始します。

気象庁:配信資料に関する技術情報(気象編)第478号

つまり、これまで世の中に流通していた高層気象観測データよりも、鉛直方向に解像度を高めた観測データを配信開始しますよ、ということですね。さらに、

なお、標記関連技術情報第334号でお知らせした表参照通報式及び伝統的文字通報式の「地上高層実況気象報」については、並行配信期間を設けた上で、将来的に提供を終了する予定です。

気象庁:配信資料に関する技術情報(気象編)第478号

なんと、旧来の高層気象観測データはいずれ廃止されるのですね。これって結構大きな話だと思いますが、民間気象会社は準備しているのでしょうか?

私自身、常に気象庁さんの「配信資料に関する技術情報」をチェックしている訳ではなく、たまたま仕事で高層気象観測データを使う機会があったので、この情報を知る機会がありました。気象業界の人でも知らない人けっこう多いんじゃないでしょうか。

なおこのnoteを書いている2022年8月の時点では、まだ旧来の高層気象観測データの配信は続いています。

旧来の高層気象観測データ

旧来の高層気象観測データは、気象庁ウェブサイトの『過去の気象データ検索(高層)』で閲覧することができ、主に『指定気圧面』のデータと『特異点』のデータから成り立っています。

指定気圧面とは、850hPa(約1500m)や700hPa(約3000m)など、気象分野でよく利用される重要な気圧面のことです。
一般に上空に行くほど気圧は低くなるので、気象分野では鉛直方向の軸を高さ(m)ではなく気圧(hPa)で取ることがあります。指定気圧面データは、生の高層気象観測データからいくつかの気圧面のデータを抜き出して作成されているデータです。

一例として、館野の2022年8月1日9時の指定気圧面データをご覧下さい。

気象庁:過去の気象データ検索(高層)より一部抜粋

これに対し特異点とは、気温や湿度・風向風速が顕著に変化する高度のことです。もともとの高層気象観測は、後述するようにかなり高頻度に観測を行っていますが、その観測データすべてを配信しているのではなく、重要な変化のある高度のデータに絞って配信している、ということです。
すべての観測データを配信してしまうと膨大なデータ量になってしまうため、意味のあるデータに絞って効率的にデータを流通させている、と理解すれば良いかと思います。

特異点データも、一例として館野の2022年8月1日9時の気温・湿度のデータと、館野の2022年8月1日9時の風のデータをご覧下さい。

気象庁:過去の気象データ検索(高層)より一部抜粋
気象庁:過去の気象データ検索(高層)より一部抜粋

新しい高層気象観測データ

それでは新しく(と言っても2018年からですが)配信が始まった高分解能地上高層実況気象報ですが、ラジオゾンデで観測している数秒間隔の観測値が間引かずそのまま配信されており、観測している気象要素の他にラジオゾンデの位置情報や観測時刻の情報も含まれたデータだということです。
かなりのデータ量になると思われますが、おそらく近年の通信環境およびデータ処理するコンピュータの性能の向上のおかげで実現できた配信形態なのかな、というように思います。

こちらもサンプルデータをご紹介したいと思いますが、当然全部は掲載しきれないので、ごくごく一部を掲載いたします。

高分解能地上高層実況気象報の例

上図はPythonでデータを読み込んで、最初の10行だけ表示したものです。気圧[Pa]や高度[m]を見ると、非常に細かい間隔で観測データが存在することがわかります。またGPS測位情報を取れるので、上昇するラジオゾンデの放球地点からの位置ずれ情報も含まれています。

高分解能の高層気象観測データは、このnoteを執筆している2022年8月現在、気象庁ウェブサイトでは公開されておらず、無料で入手することはできません。有料であれば、気象業務支援センターからリアルタイム受信することもできますし、過去データを購入することもできます。また民間気象会社によっては、データ配信・過去データ販売を行なっている事業者もあります。

どう使い分けるか?

さて、これだけ詳細なデータが配信されるようになったという点はとても素晴らしいと思います。一方で、利用者視点で見たときにどうでしょうか。
私は気象予報の現場業務も、気象データ分析も両方経験していますが、気象予報の現場としてはこんなに細かいデータはもしかしたら要らないかも?と思います。むしろこれまでのような、重要なポイントのみに絞ったデータの方が使い勝手が良いこともあるでしょう。
逆に気象データ分析をする上では、気象観点から人為的に間引かれたこれまでのデータよりも、高分解能高層気象観測データの方が柔軟で多様な分析ができるようになると期待できます。

一長一短ですね。

ということで、個人的には気象業務支援センターから配信されるデータは『高分解能地上高層実況気象報』に一本化されるとしても、気象庁ウェブサイトの『過去の気象データ検索(高層)』はこの形のまま継続してほしいなあと思っています。

BUFR形式

高分解能地上高層実況気象報は『BUFR(バファー)形式』と呼ばれるフォーマットのファイルで配信されています。BUFR形式とはWMO(世界気象機関)が定める国際的な気象通報の方式で、バイナリデータで伝送する方式です。

バイナリ形式の気象データは、他にGRIB形式が有名です。GRIBは主にGSM・MSMなどのGPVデータで利用されていますが、BUFRは主に地上観測・高層観測など地点観測データで利用されています。
ただ流域雨量指数のように、メッシュ状のデータだけどBUFR形式というパターンもあるようです。私自身は流域雨量指数データを使ったことがないので、詳細はよく知りません(あしからず…)。

BUFR形式の技術的に高度は話は私も理解していないので、詳しく知りたい方は、例えば気象庁の資料『BUFR報の概要』などをご参照ください。

BUFR形式の技術仕様をすべて理解していなくても、デコードして値を取り出せさえすればデータの利用は可能です。ということで、PythonでBUFR形式の気象データを読み込めるライブラリ『PyBufrKit』と『ecCodes』を紹介します。

PyBufrKit

PyBufrKitはおそらく個人のエンジニアさんによって開発された、BUFR形式専用のライブラリで純粋にPythonのみで出来ています。純粋にPythonのみって変な言い方ですが、後述するecCodesはC言語で書かれたライブラリで構成されているので、その対比としての表現です。

PyBufrKitの長所は、pipで簡単にインストールできて、OSに関係なく動作する点です。またドキュメントも整備されているので、基本的な使い方から高度な使い方まで、自分で調べながら実装できます。

一方で短所としては、BUFR形式のデータをデコードしてJSON形式で返してくれるので、今度はそのJSONを解読して欲しい値をゲットする必要があるため、ecCodesに比べるとコードを書く手間が多いという点があります。

ecCodes

ecCodesはECMWF(ヨーロッパ中期予報センター)が公開するライブラリで、BUFR形式とGRIB形式の両方を扱えます。

ecCodesの長所としては、PyBufrKitに比べて簡潔なコードで済み、BUFR形式をデコードして読み取った値を簡単にゲットできる点があげられます。またC言語が使われているので、デコード処理もPyBufrKitに比べて速い気がします。

一方で短所は、(おそらく)C言語が使われているが故にWindowsでうまく動作しない可能性があること、また情報が少なくコードの書き方を調べるのが困難という点があります。またインストールも一筋縄では行きません。詳しくはECMWF公式Wikiをご参照ください。

どちらがよい?

PyBufrKitとecCodes、一長一短でどちらが良いとは一概には言えませんが…

私個人としては、ecCodesが使える環境であれば簡潔なコードで済むecCodesを選びます。ただインストールが困難だったり、コードの書き方の情報源が少なかったり、色々と高いハードルを越える必要があります。

Python環境さえあれば、誰でも(どのOSでも)すぐにインストールできて使うことができるという点で、多くの人にとってはPyBufrKitの方が敷居が低いのかな、と思います。
ただPyBufrKitにしても、JSON形式のデータの扱いを学ぶ必要がありますので、BUFR形式のデータを使うには一定程度の困難を乗り越える必要がある(笑)と言えるかもしれませんね。

さて、最後にコード例をご紹介できればベストなのですが……すみません!
長くなってしまいましたので、このnoteはここまでにいたします💦

現在BUFR形式の高層観測データを扱う仕事をしているという事情もあって、コードをどこまでnoteで公開してしまってよいか、悩ましいという問題もありまして。
いずれ書きたいとは思っていますが、有料にさせていただくかもしれません。
ただお仕事として承ることは可能ですので、よろしければお気軽にお問い合わせいただければと思います。

終わりに

気象観測データは色々ありますが、大気を鉛直方向に細かく観測しているという観点で、高層気象観測データはユニークな観測データです。高分解能の高層気象観測データも流通するようになっていますので、様々なビジネスや気象データ分析に活用されるようになって欲しいと思います。

一方でBUFR形式という特殊なデータフォーマットであったり、またこのユニークな高層観測データを、どのように加工したらどんな情報が得られるのかなど、専門知識が必要なデータでもあります。

高層気象観測データの活用に興味のある企業・個人の方、私たちがサポートいたします。ご相談いただけましたら最適なご提案をさせていただきますので、ぜひ以下リンクよりご連絡いただければ幸いです。

…と宣伝をしたところで、本noteはこれにて締めたいと思います。
最後まで読んでいただき、ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?