無償データで始める72時間降雨予測
京都大学生存圏データベース、AMeDAS、GFS、ECMWFをどう使い分けるか
この記事は2026年8月7日時点で確認した公開情報を基にしています。データの提供内容や利用条件は変更されることがあるため、実際に取得する前に各配布元の最新ページを確認してください。
はじめに
ここ数年、雨の降り方が極端になったと感じる場面が増えました。
梅雨前線や台風による広い範囲の大雨に加え、発達した積乱雲が狭い範囲へ短時間に強い雨を降らせることもあります。一般には「ゲリラ豪雨」や「ゲリラ雷雨」と呼ばれますが、気象庁では予報用語としては使わず、現象に応じて「局地的大雨」や「集中豪雨」と表現しています。
気温が上がると、大気中に含まれ得る水蒸気の量も増えます。水蒸気が多い状態で前線、低気圧、地形、大気の不安定などの条件が重なると、強い雨につながる可能性があります。
気象庁の観測では、1時間降水量80mm以上、3時間降水量150mm以上、日降水量300mm以上といった強度の強い雨は、1980年頃と比べて発生頻度がおおむね2倍程度に増えています。一方で、雨の降る日数は減る傾向も示されており、単純に一年中雨が増えているというより、降るときと降らないときの差が大きくなっていると考えた方が分かりやすそうです。
雨が降り始めてから実況だけを追っていると、準備の時間を十分に取れないことがあります。少なくとも72時間程度先までの雨量を時系列で確認できれば、次のような判断を少し早く始められます。
- 監視要員や連絡体制の準備
- 河川、水路、排水施設、工事現場の事前点検
- 夜間や休日を含む監視時間帯の検討
- 強雨が予想される時間帯の把握
- 流域平均雨量、累積雨量、実効雨量の事前計算
- 複数の降雨シナリオによる流出計算の準備
今回の範囲は、現在から72時間先までの降雨量予測です。
河川への流出量、河川流量、水位、氾濫については、降雨データの整理ができた後の段階で扱います。この時点では、結果を「洪水リスク」と断定せず、まずは「降雨側のリスク」として整理します。
先に結論
データ購入費をかけなくても、研究・学習・プロトタイプを目的とした72時間降雨予測は作れます。
今回の中心になるのは、次の組み合わせです。
過去の地点雨量
気象庁 AMeDAS
過去の数値予報とレーダー
京都大学生存圏研究所 生存圏データベース
現在から72時間先までの予報
NOAA GFS
ECMWF Open Data
必要に応じて気象庁 High-Resolution GSM
地形
国土地理院 数値標高モデル
ただし、「無料」を次のように分けて考える必要があります。
- データの購入費をかけない
- 手元のPCやサーバーを使い、クラウド利用料を抑える
- 各データの利用条件を守る
データが無償でも、保存用ディスク、通信、電気、バックアップには費用がかかります。また、京都大学生存圏研究所のデータは、何にでも自由に使える一般的なオープンデータではありません。利用目的と再配布の扱いを確認してから使う必要があります。
今回の記事では、データ購入費をかけずに始める研究・検証用プロトタイプとして整理します。
京都大学生存圏研究所のデータを中心にする理由
京都大学生存圏研究所の生存圏データベースには、気象庁が作成した数値予報GPVや全国合成レーダーGPVなどのアーカイブがあります。
今回の検討で特に役立つのは、次のデータです。
| データ | 主な役割 |
|---|---|
| 数値予報GPVのオリジナルデータ | 過去のMSM、GSMなどの予報を初期時刻・予報時間付きで確認する |
| MSM-SのNetCDF | 地上付近の気圧、気温、湿度、風、雨量などをPythonで確認する |
| MSM-PのNetCDF | 850hPa、700hPa、500hPaなどの上空の状態を確認する |
| 全国合成レーダーGPV | 過去の雨域の位置、形、移動を確認する |
オリジナルGPVとNetCDF版は役割が違う
MSM-SやMSM-PのNetCDFファイルは、xarrayで開きやすく、過去の気象場を確認するには便利です。
一方で、これらは解析値を中心に日単位で再構成されたデータです。72時間予報の補正モデルを作るときは、次の情報を失わないことが重要になります。
run_time 予報の初期時刻
valid_time 予報対象時刻
lead_hour 初期時刻から何時間先か
model_name MSM、GSMなどのモデル名
例えば、同じ2024年7月1日12時を予測した雨量でも、6時間前に出た予報と48時間前に出た予報では意味が違います。
そのため、使い分けは次のようにします。
MSM-S / MSM-P NetCDF
データの中身を確認する
過去の大気場を調べる
Pythonでの前処理を試す
オリジナルGPV GRIB2
過去予報の誤差を学習する
予報初期時刻と予報時間を保持する
本番用の学習データを作る
最初の確認にはNetCDF版が便利ですが、予報誤差の学習ではオリジナルGPVを使う方が安全です。
全国合成レーダーGPVと解析雨量は同じではない
全国合成レーダーGPVは、過去の雨域の形や移動を調べるために使えます。短時間予測の練習には重要なデータです。
ただし、全国合成レーダーGPVと解析雨量は別のものです。
全国合成レーダーGPV
レーダーで捉えた降水エコーや換算降水強度
解析雨量
レーダーと地上雨量計を組み合わせて補正した1時間雨量
雨量の正解値としては解析雨量の方が扱いやすいのですが、長期間の解析雨量を無償で一括取得できる環境を最初から用意するのは簡単ではありません。
無償構成では、まず次の役割分担で始めます。
- AMeDAS:地点の実測雨量
- 全国合成レーダーGPV:雨域の形と移動
- 過去のMSM・GSM:その時点で出ていた予報
面的な正解雨量が必要になった段階で、解析雨量の取得方法を追加検討します。
生存圏データベースの利用条件は先に確認する
ここは重要です。
京都大学生存圏研究所の生存圏データベース利用内規では、電子データベースについて、商用に供しない学術研究と教育で利用する場合は利用制限を設けないとされています。一方で、取得データの他人への譲渡は禁止され、データベースを利用して執筆した学術論文や報告書には、その旨を明記することが定められています。
そのため、Qiita記事やGitHubでは、次の方針にします。
公開するもの
- データの取得手順
- ダウンロードスクリプト
- GRIB2やNetCDFの読み込み処理
- 前処理のソースコード
- 小さな自作サンプルデータ
- ファイル名、時刻、変数の確認方法
公開しないもの
- 生存圏データベースから取得したGRIB2原本
- 生存圏データベースから取得したNetCDF原本
- 全国合成レーダーGPVの原本
- 原本をほぼ復元できる形で加工した大容量データ
記事へデータ利用結果を掲載する場合は、出典を記載します。
これらのデータは京都大学生存圏研究所が運営する
生存圏データベースによって収集・配布されたものです。
https://database.rish.kyoto-u.ac.jp/
将来、商用サービスや企業内の継続運用へ広げる場合は、生存圏データベースをそのまま業務用データ源にせず、気象業務支援センターなどの正規配信へ切り替える前提で設計します。
過去の地点雨量はAMeDASを使う
過去の実測雨量には、気象庁のAMeDASを使います。
長期学習には1時間雨量から始める
「過去の気象データ・ダウンロード」では、複数地点・複数期間の時別値や日別値をCSVで取得できます。72時間予測の共通出力を1時間雨量とするなら、最初はこの時別値で十分です。
注意したいのは、同ツールでは10分値を一括取得できないことです。10分ごとの値は「過去の気象データ検索」で地点と日を指定して確認できますが、長期間・多数地点をまとめて扱う用途には向きません。
したがって、次のように分けます。
過去の長期学習
AMeDAS 1時間雨量
直近の実況監視
既存のAMeDAS 10分雨量収集処理
短時間強雨の形と移動
全国合成レーダーGPV
これまで作成してきたAMeDAS 10分雨量の収集、DuckDBへの保存、IDW表示、FastAPI、OpenLayersの仕組みは、そのまま実況側の基盤として利用できます。
品質情報も保存する
雨量だけを保存すると、欠測や資料不足を通常値として扱ってしまうことがあります。
最低限、次の項目を残します。
station_id
station_name
latitude
longitude
elevation_m
observed_at
rain_1h_mm
quality_flag
missing_flag
source
received_at
観測所の移設や統計切断もあるため、地点名だけでなく観測所IDと期間を確認します。
リアルタイムの72時間予報は何を使うか
過去データだけでは、現在から72時間先の雨は予測できません。
前線、台風、低気圧、水蒸気輸送など、これから変化する大気の状態を計算した数値予報が必要です。
データ購入費をかけずに始める場合は、GFSを基準にし、ECMWF Open Dataを比較対象にします。気象庁High-Resolution GSMは、利用条件を確認した上で追加候補にします。
NOAA GFS
GFSは、米国NOAA/NCEPが提供する全球数値予報モデルです。
0.25度格子のGRIB2データが公開され、00、06、12、18UTCの1日4回更新されます。0.25度データは120時間先までは1時間間隔、384時間先までは3時間間隔のデータを利用できます。
今回の72時間予測では、次の点が扱いやすいところです。
- 72時間を十分にカバーできる
- 1時間間隔の出力を使える
- 必要な変数と対象範囲だけを切り出せる
- GRIB2処理の練習に向いている
- 過去の予報を自分で保存し続けられる
一方で、0.25度は日本付近でおおよそ20km前後の格子です。局地的大雨を直接表現できる細かさではありません。
ECMWF Open Data
ECMWFでは、IFSやAIFSのリアルタイム予報をOpen Dataとして公開しています。
2025年10月以降、ECMWFのリアルタイムカタログはCC BY 4.0となっています。無償で直接取得できるOpen Dataの範囲と、高容量配信などでサービス料が発生する範囲は分けて確認する必要があります。
また、標準のOpen Dataポータルは、直近12回、およそ2~3日分の予報ランを保持するローリング方式です。
つまり、学習に使う過去予報は、取得を始めた日から自分で保存しなければ増えません。
取得したら原本を保存する
↓
予報初期時刻を記録する
↓
対象地域だけを切り出す
↓
実況到着後に予報誤差を計算する
気象庁 High-Resolution GSM
気象庁のHigh-Resolution GSM Data Serviceでは、GSMの地上面0.25度、上空0.5度のGRIB2データが提供されています。
- JMA High-Resolution GSM Data Service
- JMA High-Resolution GSM:Tutorial
- JMA High-Resolution GSM:Product Information
- WIS Portal:Terms and Conditions
主な仕様は次のとおりです。
- 地上面:0.25度
- 上空:0.5度
- 132時間先まで:1日4回
- 264時間先まで:1日2回
- 132時間先までは3時間間隔
- GRIB2形式
72時間先までの範囲は十分に含まれます。
ただし、High-Resolution GSMは、GFSやECMWFの一般的なOpen Dataと同じ扱いではありません。WIS Portalの利用条件では、高解像度GSM製品は登録が必要なデータとして扱われ、第三者への再配布にも制限があります。商用利用を考える場合は、気象業務支援センターなどへの確認が必要です。
そのため、最初の構成では次の扱いにします。
必須
GFS
ECMWF Open Data
追加候補
JMA High-Resolution GSM
利用条件と登録方法を確認してから使用
過去のMSMは生存圏データベース、現在の予報は公開予報
京都大学生存圏研究所のMSMアーカイブは、過去事例の分析や補正モデルの学習に使います。
ただし、研究用アーカイブを24時間365日のリアルタイム配信元として扱うのは避けます。配信の即時性や継続性が業務用に保証されているわけではないためです。
整理すると、次のようになります。
過去の学習・検証
京都大学生存圏研究所のMSM・GSM・レーダー
現在から72時間先の予報
GFS
ECMWF Open Data
必要に応じてJMA High-Resolution GSM
無償データの役割を一覧にする
| 目的 | データ | 時間間隔・格子の目安 | 主な注意点 |
|---|---|---|---|
| 過去の地点雨量 | AMeDAS | 1時間値を中心に使用 | 10分値は一括ダウンロード対象外 |
| 現在の地点雨量 | AMeDAS | 10分 | 欠測、品質情報を保存する |
| 過去の雨域 | 全国合成レーダーGPV | 約1km、10分 | 解析雨量とは異なる |
| 過去の日本域予報 | RISHのMSM | 予報ランによる | 非商用の学術研究・教育向け、再配布しない |
| 過去の全球予報 | RISHのGSM | 予報ランによる | 初期時刻と予報時間を保持する |
| 現在の72時間予報 | GFS | 0.25度、120時間先まで1時間間隔 | 局地豪雨には粗い |
| 比較用の現在予報 | ECMWF IFS・AIFS | 公開製品による | 直近予報はローリング保存、自前保存が必要 |
| 国内モデルの追加候補 | JMA High-Resolution GSM | 地上0.25度、3時間間隔 | 登録・再配布条件を確認する |
| 地形補正 | 国土地理院DEM | 1m、5m、10mなど | 提供範囲と出典を確認する |
| 流域集計 | 流域界 | データによる | 次の流出解析にも利用する |
地形データも無償で用意できる
降雨は地形の影響を受けます。
山地の風上側と風下側、海岸付近と内陸、平野と盆地では、数値予報の誤差の出方も変わります。
国土地理院の基盤地図情報ダウンロードサービスでは、利用者登録後に数値標高モデルを無償で取得できます。
降雨補正用の固定特徴量として、次を作れます。
標高
傾斜
斜面方位
周辺起伏量
海岸からの距離
緯度・経度
流域ID
月別平年雨量
最初から1mや5mのDEMを全面的に使う必要はありません。降雨予測格子が20km前後なら、対象格子内の平均標高、最大標高、標高差などへ集約した方が扱いやすくなります。
72時間予測をどう組み立てるか
72時間を1つの時系列モデルだけで予測する方法は採りません。
目先数十分の雨は現在の雨域の移動が重要ですが、2~3日後の雨は前線、低気圧、台風、大気中の水蒸気輸送などの予測が中心になります。
最終形では、予報時間帯ごとにデータを使い分けます。
| 予報時間 | 中心となる情報 | 今回の無償構成での扱い |
|---|---|---|
| 0~1時間 | AMeDAS、レーダー、ナウキャスト | 将来、レーダー移流予測を追加 |
| 1~6時間 | レーダー、短時間予報、LFM相当 | 最初はGFS・ECMWFで基盤を作り、後から強化 |
| 7~24時間 | 数値予報 | GFS、ECMWF、必要に応じてJMA GSM |
| 25~72時間 | 数値予報と複数モデル比較 | GFSとECMWFを中心にする |
気象庁の降水短時間予報は、6時間先までは1km格子、7~15時間先は5km格子で提供されています。
ただし、画面で見られることと、研究システムが raw data を安定して自動取得できることは別です。初回実装では、取得方法と利用条件が明確なGFS、ECMWF、AMeDASから始め、短時間予測用のデータは次の段階で加えます。
最初はGFSを基準予報にする
初回からLSTMやTransformerを作るより、まずGFSの予報雨量をそのまま評価します。
GFSを基準にする理由は、次のとおりです。
- 72時間先までを1時間間隔でそろえやすい
- 取得元とファイル構造が明確
- 対象範囲と変数を指定してダウンロードできる
- GRIB2処理を一通り確認できる
- 実況到着後の誤差検証を自動化しやすい
最初に作る比較対象は、次の程度で十分です。
GFSそのまま
ECMWFそのまま
GFSとECMWFの単純平均
この基準結果を残した上で、京都大学生存圏研究所の過去MSMや過去GSMを使って、地域別・季節別・予報時間別の補正を追加します。
3時間値を単純に3等分しない
JMA High-Resolution GSMなど、3時間間隔の降水量を1時間雨量に変換する場合があります。
例えば3時間雨量が30mmだからといって、10mm、10mm、10mmへ単純に分けると、実際のピーク時刻を消してしまいます。
最初の段階では、次のどちらかにします。
- 3時間雨量のまま比較する
- 1時間出力を持つGFSを共通基準にする
時間配分モデルを作る場合は、過去のAMeDASやレーダーを使い、3時間雨量の中でどのように雨が集中しやすいかを学習します。
過去予報と実況を組み合わせる
機械学習による補正で必要なのは、過去の雨量だけではありません。
必要なのは、次の組み合わせです。
その時点で出ていた予報
+
その後に実際に観測された雨量
学習用の1行は、次のような形になります。
| run_time | valid_time | lead_hour | model | forecast_rain | observed_rain |
|---|---|---|---|---|---|
| 2024-07-01 00:00 UTC | 2024-07-01 06:00 UTC | 6 | MSM | 12.5 | 18.0 |
| 2024-07-01 00:00 UTC | 2024-07-02 00:00 UTC | 24 | MSM | 34.0 | 21.0 |
| 2024-07-01 00:00 UTC | 2024-07-03 00:00 UTC | 48 | GSM | 56.0 | 72.0 |
このデータから、次のような傾向を調べます。
- 山地で雨を弱く予測しやすいか
- 海岸付近で過大になりやすいか
- 夏の対流性降雨でピークが弱くなるか
- 台風時に雨域の到達が何時間ずれやすいか
- 24時間先と72時間先で誤差がどう変わるか
ここで最も避けたいのは、未来の情報が学習側へ混ざることです。
次の3つは別の列で保存します。
run_time_utc
received_at_utc
valid_time_utc
-
run_time_utc:予報計算の初期時刻 -
received_at_utc:自分のシステムが受信した時刻 -
valid_time_utc:予報が対象としている時刻
この区別ができていれば、実運用時に利用できなかった未来情報を誤って学習に入れる問題を避けやすくなります。
必要な変数は絞って取得する
数値予報には多くの変数があります。すべてを保存すると、通信量とディスク使用量が大きくなります。
最初は次の変数に絞ります。
地上付近
- 積算降水量
- 海面更正気圧
- 地上気圧
- 2m気温
- 2m相対湿度または露点温度
- 10m東西風
- 10m南北風
上空
- 850hPaの気温、湿度、風
- 700hPaの湿度、鉛直速度
- 500hPaの高度、気温、風
固定値
- 標高
- 傾斜
- 海岸からの距離
- 緯度、経度
- 月、時刻、予報時間
最初のモデルで使わない変数は取得しません。必要になったときに追加します。
無償で進める場合の保存方針
全国分の格子データを長期間保存すると、データ自体は無償でもディスクを圧迫します。
保存形式は、役割を分けます。
| 形式 | 用途 |
|---|---|
| GRIB2 | 取得した予報原本、再処理用 |
| NetCDF | 気象場の確認、xarrayでの解析 |
| Zarr | 時刻×緯度×経度の大きな配列 |
| Parquet | 対象地域の切り出し、機械学習用テーブル |
| DuckDB | 予報ラン管理、地点・流域集計、検証結果、API用データ |
DuckDBへ全国の全格子値をすべて行形式で入れるのではなく、DuckDBには次のような管理情報を持たせます。
source
model_name
run_time_utc
valid_time_start
valid_time_end
forecast_hours
file_path
file_size
sha256
variable_list
bbox
processing_status
terms_checked_at
GRIB2やZarrの本体はファイルとして保存し、DuckDBから場所を参照します。
GitHubへ原本を入れない
リポジトリへ入れるのは、次の内容だけにします。
取得スクリプト
設定ファイル
データカタログの例
自作した小規模サンプル
変換処理
検証処理
README
RISH、JMA WIS、ECMWFなどから取得した原本は、各利用条件に従ってローカル管理します。
最初から全国を対象にしない
費用を抑える一番簡単な方法は、対象範囲を狭くすることです。
最初は、次のどちらかで十分です。
- 1河川流域
- 1都道府県とその周辺
期間も、一度に何十年分も集めません。
動作確認
1週間から1か月
通常時の確認
1季節
豪雨の確認
梅雨前線、台風、局地的大雨を数事例
補正モデル
処理が安定してから複数年へ拡大
過去事例は、雨が多かった日だけでなく、無降雨日や弱い雨の日も含めます。豪雨だけを学習すると、普段から雨を出しすぎるモデルになりやすいためです。
機械学習はデータ基盤の後にする
過去雨量だけをLSTMへ入れて72時間先まで予測する方法は採りません。
2日後に接近する前線や低気圧の情報は、現在までの地点雨量だけでは分からないためです。
機械学習は、数値予報を置き換えるものではなく、まず数値予報の癖を補正するために使います。
進め方は次の順がよさそうです。
第1段階:補正なし
GFS予報雨量
ECMWF予報雨量
をAMeDASと比較します。
第2段階:単純補正
月別補正
地域別補正
予報時間別補正
雨量階級別補正
を試します。
第3段階:表形式の機械学習
LightGBMやXGBoostを使い、次を入力します。
数値予報雨量
気温
湿度
風
気圧
標高
月
時刻
予報時間
直前の観測雨量
出力は、次の2段階に分けます。
降雨発生確率
雨が降る場合の雨量
第4段階:確率予測
平均値だけでなく、次を出します。
P10
P50
P90
10mm/h以上の確率
20mm/h以上の確率
24時間積算雨量の超過確率
72時間積算雨量の超過確率
第5段階:短時間予測
全国合成レーダーGPVを使い、次を比較します。
- Optical Flow
- pySTEPS
- ConvLSTM
- U-Net
- Transformer系モデル
この部分は主に0~3時間先の改善へ使います。
最終的には1本の予報ではなく複数シナリオにする
洪水リスク評価へつなげる場合、72時間分の雨量を1本だけ出すのは不十分です。
例えば50本の連続した降雨シナリオを作ります。
scenario_001
scenario_002
...
scenario_050
それぞれについて、次を計算します。
- 1時間雨量
- 3時間、6時間、24時間、72時間積算雨量
- 最大1時間雨量
- 最大3時間雨量
- 流域平均雨量
- 実効雨量
- 未経験降雨指数
各時刻のP90を72時間分足す方法は使いません。時刻ごとのP90は、同じシナリオから生じた値とは限らないためです。
正しくは、各シナリオの72時間積算雨量を先に計算し、その分布からP10、P50、P90を求めます。
これまでの未経験降雨指数とつなげる
これまで作成してきた半減期ペア、実効雨量、未経験降雨指数の仕組みは、予測雨量にも使えます。
例えば、50本の降雨シナリオそれぞれに対して、半減期1.5時間、6時間、24時間などの実効雨量を計算します。
その結果、次のような表示ができます。
72時間以内に過去最大実効雨量を超える確率:14%
72時間以内に未経験降雨指数が設定値を超える確率:32%
この段階ではまだ河川流量や水位を計算していませんが、降雨側から見た事前監視情報として利用できます。
無償データを使った全体構成
コストを抑えるための方針
データ購入費をゼロにしても、何でも保存すると運用が重くなります。
最初は次の方針にします。
対象範囲を限定する
- 全国ではなく1流域または1県
- 周辺を少し広めに含めた矩形で切り出す
変数を限定する
- 雨量
- 気圧
- 気温
- 湿度
- 風
- 必要な気圧面だけ
原本を一度だけ保存する
同じファイルを何度も取得しないよう、URL、ファイル名、サイズ、SHA-256を記録します。
クラウドは使わずローカルで始める
手元のUbuntu 24.04とDocker Composeを使い、処理量が見えてからクラウド移行を判断します。
GPUは後から使う
GRIB2の変換、DuckDB集計、LightGBM程度ならCPUで始められます。GPUはレーダー画像の深層学習へ進んだ段階で使います。
実装は次回から段階的に進める
今回はデータと方法の整理までにします。
次回からは、次の順で進める予定です。
Step 1:無償データの取得条件とカタログを作る
- 対象流域または対象県を決める
- 各データの利用条件を記録する
- RISH、JMA、NOAA、ECMWF、国土地理院の取得先を整理する
- ファイル名、時刻、格子、変数を確認する
- 原本をGitへ入れない構成にする
Step 2:過去データを小さく取得して確認する
- AMeDAS 1時間雨量を取得する
- RISHのMSM-S、MSM-Pを数日分確認する
- RISHのオリジナルGPVを1予報ラン確認する
- 全国合成レーダーGPVを1事例確認する
-
xarray、cfgrib、ecCodesで内容を読む
Step 3:GFSで72時間の基準予報を作る
- 0.25度、1時間間隔の必要ファイルを取得する
- 対象範囲だけを切り出す
- 積算雨量から時間雨量を作る
-
run_time、valid_time、lead_hourを整理する - DuckDBへ予報ランを登録する
Step 4:ECMWFと比較する
- IFSとAIFSを取得する
- GFSと同じ格子または同じ地点へ変換する
- 24時間、48時間、72時間積算雨量を比較する
- 取得した予報ランを自動保存する
Step 5:過去MSMで補正モデルを作る
- 過去予報とAMeDASを対応付ける
- 予報時間別の誤差を確認する
- 月別・地域別の単純補正を作る
- LightGBMまたはXGBoostと比較する
Step 6:レーダー短時間予測を加える
- 全国合成レーダーGPVを時系列化する
- Optical FlowとpySTEPSを試す
- 0~3時間予測をGFS・ECMWF側へ滑らかにつなぐ
Step 7:降雨シナリオと未経験降雨指数へ進む
- 複数の降雨シナリオを作る
- 実効雨量を計算する
- 未経験降雨指数を計算する
- 超過確率を表示する
その次に、流出量、河川流量、水位の予測へ進みます。
無償構成でできることと難しいこと
できること
- 72時間先までの基準降雨予報
- GFSとECMWFの比較
- 過去MSM予報の誤差分析
- AMeDASによる地点検証
- 地形を使った統計補正
- 24時間・72時間積算雨量の計算
- P10、P50、P90の確率表示
- 実効雨量と未経験降雨指数の予測
- OpenLayersとPlotlyによる表示
難しいこと
- 3日後の局地的な雷雨を1km単位で正確に当てること
- 研究用アーカイブだけで無停止の業務運用を行うこと
- 20km前後の全球予報を、補間だけで1km精度にすること
- 無償配信だけで最新のMSM、LFM、解析雨量を業務品質で常時受信すること
- 独自予測を気象庁の警報やキキクルの代わりにすること
特に、全球モデルを1km格子へ補間しても、予測精度が1kmになったわけではありません。
表示上の1km化
値を細かい格子へ割り当てただけ
統計的ダウンスケーリング
地形や過去誤差を使って細かな分布を推定
この2つは分けて記録します。
運用時の注意
独自に作成した降雨予測は、気象庁の警報、注意報、キキクルを置き換えるものではありません。
実際の防災判断では、次の公式情報を併記します。
-
大雨警報・注意報
-
洪水警報・注意報
-
今後の雨
-
土砂キキクル
-
浸水キキクル
-
洪水キキクル
-
線状降水帯に関する情報
独自予測は、公式情報を補足し、準備や事前計算に使える時間を増やすためのものとして扱います。
おわりに
データ購入費をかけずに72時間降雨予測を試すことは可能です。
過去の学習には、京都大学生存圏研究所のMSM、GSM、全国合成レーダーGPVが使えます。地点雨量にはAMeDAS、現在の72時間予報にはGFSとECMWF Open Dataを使えます。地形補正には国土地理院の数値標高モデルを利用できます。
ただし、無償データだからといって、すべて同じ条件で自由に使えるわけではありません。
特に生存圏データベースは、非商用の学術研究・教育向けであり、取得データの譲渡や再配布に注意が必要です。JMA High-Resolution GSMにも登録や再配布に関する条件があります。ソースコードと取得手順は公開し、取得した原本は各自の環境で管理する形が安全です。
最初から高度なAIモデルへ進むより、まずはGFSで72時間予報を作り、AMeDASで答え合わせをするところから始めます。その後、RISHの過去MSMを使った補正、ECMWFとの比較、レーダー短時間予測の順に広げる方が、どこで精度が改善したかを確認しやすくなります。
次回は、RainfallForecast72h_FreeData_r001として、無償データの取得先と利用条件をカタログ化し、Docker Compose環境でGFSの72時間予報を取得・確認するところから実装を始めます。
参考リンク
気候変動と大雨
京都大学生存圏研究所
- 生存圏データベース
- 気象庁データ
- 数値予報GPVのオリジナルデータ
- NetCDF化した数値予報GPV
- 全国合成レーダーGPV
- 生存圏データベース利用内規
- 京都大学防災研究所:Pythonによる気象データサイエンス 数値予報データ
気象庁の観測・短時間予測
数値予報
- 気象庁:気象に関する数値予報モデルの種類
- 気象庁:メソモデル・局地モデル
- JMA High-Resolution GSM Data Service
- WIS Portal:Terms and Conditions
- NOAA NCEP:GFS Data Products
- NOAA NCEP:GFS NOMADS
- ECMWF:Open Data
- ECMWF:AIFS Machine Learning Data

