개요
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")
이렇게 하면 Temp와 datetime에서 batch가 차원으로 유지되지만, 좌표가 없는 차원이 되어 예제 NetCDF 파일과 일치하게 됩니다.
또는 Dataset을 생성할 때 batch를 생략할 수 있습니다:
coords = {
"time": ("time", times),
"channel": [0],
"lon": ("lon", lons),
"lat": ("lat", lats),
"datetime": (("batch", "time"), [datetimes]),
}
batch가 coords에 정의되어 있지 않더라도 batch 차원은 여전히 변수의 형상으로부터 추론됩니다.
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 버전을 고정(pin)한 경우, 별도로 업그레이드한 JAX 버전을 사용하지 말고 최신 Graphcast 릴리스와 호환되는지 확인하세요.
문제 해결GraphCast를 최신 ERA5 데이터로 실행하면서 전처리와 정규화를 사전 학습된 체크포인트와 일관되게 유지하려면 어떻게 해야 하나요?
공식적으로 제공되는 과거 GraphCast 형식 데이터만 사용해야 하는 것은 아닙니다. ERA5 변환 파이프라인을 구축하고 먼저 공식 샘플 데이터에 대해 검증하세요: (1) 제공된 GraphCast 예제 데이터셋에 이미 포함된 날짜의 원시 ERA5 데이터를 다운로드하고, (2) 사전 학습된 모델에 사용된 것과 동일한 변수 선택, 기압면, 격자, 단위, 시간 처리 및 정규화를 사용하여 변환하고, (3) 출력이 정확히 일치할 때까지 공식 샘플과 비교하고, (4) 변환기가 검증되면 변경하지 않은 동일한 코드를 최신 ERA5 분석 데이터에 대해 실행하세요. 이러한 정확 일치 검증은 최신 입력이 사전 학습된 체크포인트와 과학적, 기술적으로 호환되는지 확인하는 권장 방법입니다.
문제 해결메모리 부족 없이 여러 GPU 또는 TPU v3-8에서 GraphCast 고해상도 추론을 실행하려면 어떻게 해야 하나요?
GraphCast는 현재 단일 예보에 대한 모델 병렬 추론을 지원하지 않습니다. xarray_jax.pmap은 배치 차원에서만 여러 디바이스에 작업을 분산할 수 있으므로 각 디바이스는 여전히 전체 모델을 로드합니다. 즉, GNN을 샤딩하거나 하나의 고해상도 샘플에 대한 메모리를 줄이지는 않습니다. 최소 24 GB 메모리를 갖춘 GPU 또는 칩당 32 GB를 제공하는 TPU v4를 사용하세요. TPU v3는 칩당 16 GB에 불과하며 v3-8에서도 OOM이 발생할 수 있습니다. 더 적은 메모리로 추론하려면 커뮤니티 graphcast-lite 프로젝트를 시도해 보세요. 이 프로젝트는 float32를 사용하여 RTX 2080에서 0.25° 해상도와 37개 기압 레벨을 실행했다고 보고합니다: https://github.com/VectorElectron/graphcast-lite. pmap은 배치로 실행할 여러 개의 독립적인 예보가 있을 때만 사용하세요.