前回の続きです。今年の初めに sitian というプロジェクトを開発しました。一定期間の連続した天気図から気象過程を解析する、という機能のものです。自分で使ったり、過去の気象でバックテストしたりするうちに、複数のデータソースを組み合わせた総合的な解析はうまくいかないことが分かりました。
例えば、ある地域がまもなく台風の影響を受けるという場面では、関係するデータは次のようなものになります。
- 台風の経路周辺のゾンデ観測データ
- 数値予報モデルのデータ
- 衛星観測データ
- レーダーデータ
- 補助的な地上観測
以前の仕組みでは、こうした入力データの複雑な組み合わせを扱うのは簡単ではありませんでした。さらに、複数のデータソースの保守と統合という問題もありました。そのため、sitian プロジェクトは実質的に運用を停止しています。
今年の 8 月下旬に、新しいプロジェクト xue の開発を始めました。目標はいたって単純で、独自のバイナリ形式によって気象アニメーションをなめらかに再生することです。タイルなどの従来の方式は使いませんでした。結果は悪くなかったのですが、その後の改良を重ねるうちに chunk や圧縮といった仕組みを取り入れた結果、バイナリの中身は事実上 zarr の遠い親戚のようなものになっていました。そこで後にデータ形式を zarr に切り替え、あわせて STAC でデータセットを管理するようにしました。
作り終えてみると、sitian の問題はそれで解決していました。STAC の仕様そのものが、どの地域にどのデータとどの変数があるのかを LLM に直接伝えてくれます。また元データはすべて標準的な zarr と jsonl のファイルなので、特定の時空間範囲のデータを簡単に解析できます。 xue が日々の運用で生成しているデータが、そのまま準リアルタイムの気象データ解析用データソースとして使えるようになったわけです。
こちらは、台風 Dujuan がまもなく東京に影響を及ぼすという状況の解析レポートです:東京都台風気象過程解析。
あわせて使うデータ解析用の SKILLS ファイルはこちらにあります:synoptic-analysis。