概要
WeatherNext は Google DeepMind が発表した世界中期天気予報およびサイクロン追跡のための AI モデルスイートで、最新の WeatherNext 2 と初期の GraphCast および GenCast が含まれています。このリポジトリでは、予測を実行するために使用できるコード、事前学習済みの重み、ドキュメントが提供されています。
README プレビュー
# WeatherNext\n\n## WeatherNext 2\n\nThis repo contains the code for WeatherNext 2 (WN2), the global, medium-range\natmospheric and cyclone forecasting model developed by Google DeepMind and\nGoogle Research.\n\nIt also contains code for prior generation models\n[GraphCast](https://deepmind.google/blog/graphcast-ai-model-for-faster-and-more-accurate-global-weather-forecasting/)\nand\n[GenCast](https://deepmind.google/blog/gencast-predicts-weather-and-the-risks-of-extreme-conditions-with-sota-accuracy/).\n\n### Accessing Forecast Data Feeds\nIf you are interested in directly accessing daily data feeds of WN2 model\noutputs rather than running the model yourself, we provide them across multiple\nplatforms:\n\n* [Google Cloud](https://developers.google.com/weathernext/guides/access-forecast)\n(including Earth Engine, BigQuery, and Vertex AI).\n* [WeatherLab](https://deepmind.google.com/science/weatherlab) (including cyclone tracks).\n* [OpenMeteo](https://open-meteo.com/en/docs/google-weathernext-api) (including an API and interactive builder).\n\n### Learn More\n\n* **Model Guide & Documentation:** [Google Developers WeatherNext Guide](https://developers.google.com/weathernext/guides/models)\n* **WeatherNext Cyclones Paper:** [Operational tropical cyclone forecasting\n with AI](https://www.nature.com/articles/s41586-026-10953-2)\n* **FGN/WN2 Technical Report:** [Skillful joint probabilistic weather\n forecasting from marginals\n (arXiv:2506.10772)](https://arxiv.org/abs/2506.10772)\n* **WeatherNext 2 Blog Post:** [WeatherNext 2: Our most advanced weather forecasting model](https://blog.google/innovation-and-ai/models-and-research/google-deepmind/weathernext-2/)\n* **WeatherNext Cyclones Blog Post:** [WeatherNext: AI model achieves breakthrough in forecasting cyclones](https://deepmind.google/blog/weathernext-ai-model-achieves-breakthrough-in-forecasting-cyclones/)\n\n### Older Models\n\nThis repository serves as the primary home for the Weathe
FAQ (5)
トラブル対応バッチ次元を保持しながら、xarray変数からバッチ座標を削除するにはどうすればよいですか?
次元を削除せずに次元座標を削除するには、drop_vars() を使用します:
xr_dataset = xr_dataset.drop_vars("batch")
これにより、batch は Temp と datetime の次元として維持されますが、座標を持たない次元となり、NetCDF ファイルの例と一致します。
あるいは、Dataset を作成する際に batch を省略することもできます:
coords = {
"time": ("time", times),
"channel": [0],
"lon": ("lon", lons),
"lat": ("lat", lats),
"datetime": (("batch", "time"), [datetimes]),
}
batch 次元は coords で定義されていなくても、変数の形状から推論されます。
informationalGraphCastの運用ファインチューニングにはどのターゲットデータセットが使用されますか?
GraphCast_operationalのファインチューニングでは、降水ターゲットはERA5から取得され、他のすべての変数にはHRES-fc0フィールドが使用されます。損失はGraphCastの出力とこれらの混合ターゲットとの間で計算され、すべての変数に対してERA5が使用されるわけではありません。
トラブル対応Graphcastのインストール時に「AttributeError: module 'jax.stages' has no attribute 'OutInfo'」を修正する方法
これは、master.zip スナップショットに含まれる互換性のない Graphcast/JAX バージョンが原因で発生したもので、最近の Graphcast のコミットで修正されています。最新のソースを再インストールしてから、Python/Colab ランタイムを再起動してください:
pip install --upgrade --no-cache-dir https://github.com/google-deepmind/graphcast/archive/master.zip
あるいは、Git から直接インストールすることもできます:
pip install --upgrade --no-cache-dir git+https://github.com/google-deepmind/graphcast.git
インストール後、カーネル/ランタイムを再起動し、Graphcast を再度インポートしてください。環境で JAX のバージョンが固定(ピン留め)されている場合は、個別にアップグレードした JAX バージョンを使うのではなく、最新の Graphcast リリースと互換性のあるバージョンであることを確認してください。
トラブル対応前処理と正規化を事前学習済みチェックポイントと一貫させながら、最新のERA5データでGraphCastを実行するにはどうすればよいですか?
公式に提供されている過去のGraphCast形式のデータのみを使用する必要はありません。まず、ERA5変換パイプラインを構築し、公式サンプルデータに対して検証してください。(1) 提供されているGraphCastサンプルデータセットですでにカバーされている日付について、生のERA5データをダウンロードします。(2) 事前学習済みモデルで使用されているものと同じ変数選択、気圧面、グリッド、単位、時間処理、および正規化を使用して変換します。(3) 出力を公式サンプルと比較し、完全に一致するまで繰り返します。(4) 変換器の検証が完了したら、変更のない同じコードをより新しいERA5解析データに対してそのまま実行します。この完全一致による検証は、最新の入力が事前学習済みチェックポイントと科学的にも技術的にも互換性があることを確認するための推奨される方法です。
トラブル対応GraphCastの高解像度推論を、複数のGPUまたはTPU v3-8でメモリ不足に陥ることなく実行するにはどうすればよいですか?
GraphCastは現在、単一の予報に対するモデル並列推論をサポートしていません。xarray_jax.pmapはバッチ次元でのみデバイス間に処理を分散できるため、各デバイスは依然としてモデル全体を読み込みます。GNNをシャード化したり、1つの高解像度サンプルのメモリ使用量を削減したりすることはありません。少なくとも24 GBのメモリを搭載したGPUか、チップあたり32 GBを提供するTPU v4を使用してください。TPU v3はチップあたり16 GBしかなく、v3-8でもOOMになる可能性があります。より少ないメモリでの推論には、float32を使用してRTX 2080で0.25°解像度・37気圧レベルを実行したと報告しているコミュニティのgraphcast-liteプロジェクトを試してみてください:https://github.com/VectorElectron/graphcast-lite。pmapは、バッチとして実行する複数の独立した予報がある場合にのみ使用してください。