NOAA Global Forecast Systemから天気予報データを抽出する
hata6502.icon hata6502(秦 友幸)
木更津高専専攻科 制御・情報システム工学専攻
共用部分だけ撮影してる
https://gyazo.com/04df336d6a0407885f50fee948152375https://gyazo.com/94eccdd81659c98108c6f98b220455d8https://gyazo.com/7495119d4bac12417557c62dfc81f349
2026年1月1日以降は、個人または教育目的でのみ利用可能になる
https://gyazo.com/ea34a851fe8d8f31936a890bbd8ad44b
https://gyazo.com/01e3ebfce0b5d3dbd975395aef1e156c
© OpenStreetMap contributors https://www.openstreetmap.org/copyright
ありがたいhata6502.icon
GRIB2というファイルから天気予報データを取れる GDALというコマンドラインツールを使うと中身を見れる GeminiやChatGPTに頼りながらデータを抽出してみた hata6502.iconはGFSもGRIB2もGDALも初見
自分が知らない分野にはAIが頼もしい
gdalinfoでGRIB2ファイルの中身を見る
$ gdalinfo gfs.t00z.pgrb2.0p25.f000 > info.txt
ヘッダー
https://gyazo.com/7691726c7e0986fdad004dfee3a79e57
band 1から696までの一覧が並んでいる
band 1
https://gyazo.com/c80f632ac81a00efeb64c97490575042
1万行近くある
読み解くのが難しいので、Geminiに読んでもらう
たとえばband1には「海面更正気圧」データが入っているらしい
https://gyazo.com/5d976138d974b785f0b0d97061b151bf
https://gyazo.com/5e1df0d4dd84edbb20ac9ae9bf38c6c3
うーん説明を読んでも分からない
https://gyazo.com/93fe6893d6d2587be539037d60011bef
いろいろ教えてくれたけど、情報の取捨選択が必要そう
https://gyazo.com/f90c950b581a1d3a7fb8a089e5f61d05
たぶん大気の成分に関するデータを使えそう
Ozone Mixing Ratio(オゾン混合比, O₃MR)?
オゾンは紫外線を吸収し、短波長の光が減衰することで夕日の赤みが強調されるらしい ここから先hata6502.iconは試行錯誤していないので、なんともわからない
Rain Viewerの雨雲レーダーは反射強度を使っていた
でもhata6502.iconの用途は正確な情報というより雰囲気の演出なので、気にしない
https://gyazo.com/edef2c938a12f3318c6211e2527f66db
降水確率のband番号を取得する
$ gdalinfo -json gfs.t00z.pgrb2.0p25.f000 | jq '[.bands[] | select(.metadata"".GRIB_COMMENT | contains("Precipitation rate"))] | max_by(.metadata"".GRIB_FORECAST_SECONDS | tonumber) | .band' gdalinfoの結果をjqに読み込ませる
今回使ってGRIB2ファイルでは、589番に降水確率データが入っている
$ gdal_translate -b 589 -ot Byte -scale -srcwin 1 1 1438 719 gfs.t00z.pgrb2.0p25.f000 precipitation.tif
降水確率を最小値0~最大値1に正規化
0~255のバイトデータに量子化
ラスタータイル化
$ gdal2tiles.py --s_srs EPSG:4326 --xyz --zoom=0-2 precipitation.tif tiles
open tiles/leaflet.htmlでタイルを見れる
https://gyazo.com/fa72424fcd1f6348b45a77dd4858bef9
3時間ごとにスクリプト実行してレーダーを更新する
Helpfeelという会社のインフラに個人開発を合わせると、仕事に知見を持ち込めるhata6502.icon Google Cloud Run Jobs
MongoDB Atlas Vector Search
Terraform
感想まとめhata6502.icon
米国政府の天気予報データがパブリックドメインなのありがたい
会社のインフラに個人開発を合わせると、仕事に知見を持ち込めて役立つ
自分が知らない分野にはAIが頼もしいなと思った
GFSとかGRIB2とかGDALとかgeoTIFFとか
情報が正しいか検証できないぶん、対策は必要
雰囲気を演出する目的程度の雨雲に留める