世界を動かす技術を、日本語で。

ADS-Bに基づく気象モデル

概要

RTL-SDRドングル とアンテナで ADS-Bメッセージ を受信し、航空機データを収集する方法の紹介。 readsb などのソフトでデータをデコードし、 ADS-B Exchange にデータ提供も可能。 ADS-Bデータから 気象モデル を構築し、風速や気温、気圧の推定が可能。 ヒストリカルデータ を用いた粒子モデルによる風向・風速の可視化例を解説。 モデルの精度を GFSベースの可視化 と比較し、実用性を検証。

RTL-SDRドングルとADS-B受信の概要

  • RTL-SDRドングル とアンテナの購入で、航空機の ADS-Bメッセージ 受信が可能
  • ADS-B は航空機の位置・進行方向・速度などを 無線でブロードキャスト するシステム
  • 全航空機で送信義務 があり、 暗号化されていない ため誰でも受信可能
  • readsb などのソフトウェアでPC上にデータ取り込み・デコード
  • ADS-B Exchange 等のサーバーにデータ提供し、世界中の航空機を可視化

ADS-Bの仕組み

  • Mode Sトランスポンダ1090MHz でADS-Bメッセージを送信
  • パルス位置変調(PPM) でデジタルデータをエンコード
  • 詳細は Junzi Sun著「The 1090 Megahertz Riddle」 で解説
  • 位置・進行方向・速度 など多様な飛行データを含む
  • 地上速度 (GPS計測)と 対気速度 (機体センサー計測)の両方を含む

ADS-Bデータによる気象モデルの構築

  • 航空機ごとの位置・進行方向・速度データ の集約・処理で気象モデル構築
  • heading(機首方向)track(実際の進行方向) の差分が 風ベクトル を示す
  • (対気速度, heading)(地上速度, track) のベクトル差分で風速・風向を推定
  • 数千機のデータ を組み合わせることで、実際の風況を高精度で再現可能
  • 気温・気圧 もADS-Bメッセージから抽出可能、気象予報の精度向上に寄与

実データを用いたモデル構築と可視化

  • ADS-B Exchangeのヒストリカルデータ (例:2024年4月30日分1.84GB)を取得
  • 各航空機ごとに300個の粒子 を配置し、計算した風ベクトルで初期化
  • 粒子モデル による ランダムウォーク で風の変化をシミュレーション
  • グリッドごとに粒子の平均速度ベクトル を算出し、風速・風向を可視化
  • 航空機数が多いほど精度向上、夜間はデータ量減少で精度低下

モデル精度の検証

  • Cameron Beccarioの地球規模風可視化 (GFSベース)と比較
  • 高度約11km (250hPa相当)の風速・風向を比較し、概ね一致
  • 地中海上空の高速風 など、速度分布も高い一致度
  • nullschool.net風 の可視化スタイルを再現し、モデルの信頼性を確認

まとめ

  • RTL-SDRとADS-B受信 で手軽に航空機データ収集・解析が可能
  • 粒子モデル を活用することで、 リアルタイム風況推定 や気象研究への応用が期待
  • オープンデータとオープンソース の活用が、気象解析の民主化を促進

Hackerたちの意見

面白いことの一つは、航空機のトランスポンダーからモードC(気圧高度)を取得して、同じ航空機のGNSS高度(大体はADS-Bから)と比較することだね(モードSアドレスをキーとして使う)。そうすると、気圧の地図を作ることができるよ。

パイロットがオンボードレーダーに従ってよく行う逸脱を基に、嵐の進路を推測できると思うよ。

これはパイロットにとってすごく役立つ気象データになりそうだね。誰かもうやってるのかな?例えば、Sirius XMの天気情報には高高度の風データがあるけど、私の経験ではあまり正確じゃなかった(限られた経験だけど)。これは予報に基づいてるから、リアルタイムデータとは違うんだろうね。

フライトプランは通常、飛行の数時間前に古い風データで提出されて、混雑した空域では変更できないこともある。でもパイロットは風のシアーをすごく気にしてるんだ。これが原因で人が急に上の荷物入れにぶつかることがあるからね。通常、フライトクルーがATCに無線で報告する必要がある。局所的な風のイベントの精度を向上させることはとても価値があるよ。

COVIDの時期に、天気予報が明らかに悪化したのを覚えてる。読んだ説明の一つは、たくさんの飛行機が運航停止になったから、モデルに使えるデータがかなり減ったってことだった。でも、どの情報源だったかはちょっと不明だね。

それについては覚えてないけど、COVIDの前にADSB受信機を持ってて、リアルタイムで航空機の交通が数ヶ月ほぼ止まってるのを見てたよ。私の受信機で記録したデータをRaspberry Pi 3B+で動かしてるFlightAwareが解析してたんだ。世界が閉鎖されていく中でね。

これはTAMDARデータで、気象観測専用の自己完結型機器パッケージなんだ。https://en.wikipedia.org/wiki/TAMDAR 商業航空旅行がほぼ停止する中で、観測データは確実に激減したよ。でも、影響に関しては…大したことにはならなかったみたい。> 航空機の報告は2020年の3月中旬から4月中旬にかけて75%減少した;5月には再び増え始めた。データが失われたにもかかわらず、予報の精度には明確な信号が見られない—部分的には、精度が日々、季節、年次のスケールでかなりの変動を示すからだ(図3と4)。… > … > 全体として、航空機の観測の減少が極端な気象の数値予報に大きな経済的影響を与えるほどの障害になった証拠は見つからなかったよ。 https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/202...

もう一つの要因は、その時期に5Gが展開されたことだね。

(海上の)AISでも同じことができるかな? * https://en.wikipedia.org/wiki/Automatic_identification_syste... * https://www.marinetraffic.com/en/ais/home * https://www.vesselfinder.com

これ、すごくクールで、予想してたのと全然違った!いい仕事だね!

昔の仕事での面白いエピソードなんだけど、FlyhtがPanasonic Weather Solutions(PWS)から資産を取得したのはちょっと前のことだよ。PWSの気象モデルはすごくて、商業航空機に搭載されたTAMDARセンサーを使って、いろんな高度でデータを記録してたんだ。これで、航空機が上昇・下降する際の大気の多層からの条件を素晴らしいサンプルとして得られたんだよ。確か、数年前のハリケーンシーズンの時、PWSのモデルは他の多くの組織のハリケーン進路予測よりも精度が高かったんだ。これも好きだし、この気象データはめっちゃ役立つと思う!

これ、完全に広告だね…

これ大好き!最近ずっと天気について熱中してるんだ。これ作りたいな、楽しそう!

dump1090のフォークがたくさん出てきて、結局名前が... readsbに変わったよ :D 新しい機能もいいけど、ソースツリーを開いたら、元々のシンプルさや理解しやすさがほとんどなくなってた。

ちょっと脱線した推測的なエピソードなんだけど、数年前の2017年から2019年の間、Androidのスマホが「次の数時間」の天気予報で最高の精度を誇ってたんだ。wundergroundやaccuweather、他のウェブサービスよりもずっと正確だった。2019年以降はその機能が消えたみたいで、何があったのか気になる。推測だけど、Googleが「近くの」多くのスマホの気圧センサーを使ってモデルの精度を上げて、「即時の時間枠」をめっちゃ正確にしてたのかも。実際にそうだったのか、ただの確認バイアスだったのかは分からないけど、詳しい人に意見を聞きたいな。もし推測が正しければ、なんでやめたのかも気になる。データ収集の問題かな?

以前、AndroidでDarkSkyっていう天気アプリを使ってたんだけど、ローカル予測がかなり良かったんだ。Appleが買収しちゃったんだよね。