# How to Access WeatherNext Datasets: 4 Methods for Forecasts, Weights, and Training Data

> Access WeatherNext datasets for forecasts, weights, and training data using Google Cloud Storage, OpenMeteo API, or WeatherLab. No authentication needed for public buckets.

- Repository: [Google DeepMind/weathernext](https://github.com/google-deepmind/weathernext)
- Tags: how-to-guide
- Published: 2026-08-16

---

**WeatherNext datasets are available through Google Cloud Storage, Google Cloud services (Earth Engine, BigQuery, Vertex AI), OpenMeteo API, and the interactive WeatherLab platform—no authentication required for public bucket access.**

The [google-deepmind/weathernext](https://github.com/google-deepmind/weathernext) repository provides multiple entry points for retrieving WeatherNext datasets, from pre-trained model weights to operational forecast feeds. This guide covers each access method with production-ready code examples drawn directly from the source.

---

## Google Cloud Storage: The Primary WeatherNext Data Source

The fastest way to access WeatherNext datasets is through the public Google Cloud Storage bucket `dm_graphcast`. According to the repository's [[`README.md`](https://github.com/google-deepmind/weathernext/blob/main/README.md)](https://github.com/google-deepmind/weathernext/blob/main/README.md), this bucket hosts:

- Pre-trained model weights (`.npz` files)
- Sample forecast outputs in NetCDF/Zarr format
- ERA5 and HRES training datasets

### Downloading WeatherNext Model Weights

Use `gcsfs` to stream weights directly from the public bucket:

```python
import gcsfs
import numpy as np

fs = gcsfs.GCSFileSystem(project="public-data")
weight_path = "dm_graphcast/WeatherNext2_2025_model1.npz"

with fs.open(weight_path, "rb") as f:
    weights = np.load(f)

print(weights.files)  # → ['params', 'state']

print(weights['params'].shape)  # JAX model parameters

```

The `project="public-data"` parameter ensures unauthenticated access to public buckets.

### Loading ERA5 Training Data via WeatherBench2

The WeatherNext training pipeline uses **ERA5 reanalysis data** stored in Zarr format. The recommended path uses the WeatherBench2 dataset:

```python
import xarray as xr

era5_zarr = "gs://weatherbench2/era5.zarr"
ds = xr.open_zarr(
    era5_zarr,
    consolidated=True,
    storage_options={"project": "public-data"}
)

print(ds.data_vars)  # t2m, u10, v10, z500, etc.

```

According to the source, this Zarr store contains the full ERA5 archive used to train WeatherNext models.

---

## Google Cloud Services: Production Forecast Feeds

For operational use, WeatherNext datasets integrate with three Google Cloud services, as documented in [[`README.md`](https://github.com/google-deepmind/weathernext/blob/main/README.md)](https://github.com/google-deepmind/weathernext/blob/main/README.md) lines 14–21.

### BigQuery: SQL-Based Forecast Access

Query daily forecast tables directly:

```python
from google.cloud import bigquery

client = bigquery.Client()
query = """
    SELECT *
    FROM `weathernext.forecast.daily`
    WHERE date = '2025-09-01'
        AND variable = 'temperature_2m'
"""
df = client.query(query).to_dataframe()

```

This returns structured forecast data including temperature, wind components, and geopotential at multiple pressure levels.

### Earth Engine and Vertex AI

- **Earth Engine**: Raster forecast layers for geospatial analysis
- **Vertex AI**: Managed inference endpoints for custom WeatherNext deployments

These services require Google Cloud project authentication but provide scalable production access.

---

## OpenMeteo API: Simple HTTP WeatherNext Queries

The **OpenMeteo API** offers the lowest-friction access for application developers. No cloud setup required—just HTTP requests.

### Basic API Call

```bash
curl "https://api.open-meteo.com/v1/weathernext?latitude=35&longitude=-78&hourly=temperature_2m"

```

### Python Integration

```python
import requests

url = "https://api.open-meteo.com/v1/weathernext"
params = {
    "latitude": 35.0,
    "longitude": -78.0,
    "hourly": ["temperature_2m", "windspeed_10m"],
    "forecast_days": 14
}

response = requests.get(url, params=params)
forecast = response.json()

```

The API includes an interactive UI builder for constructing queries without code.

---

## WeatherLab: Interactive WeatherNext Visualization

**WeatherLab** provides browser-based exploration of two specialized WeatherNext datasets:

- Cyclone track forecasts
- Gridded forecast fields with overlay controls

Access via the link in [[`README.md`](https://github.com/google-deepmind/weathernext/blob/main/README.md)](https://github.com/google-deepmind/weathernext/blob/main/README.md) lines 21–22. This is ideal for quick verification and presentation-ready graphics without writing code.

---

## Utility Modules for Data Handling

The repository includes helper utilities in `weathernext/utils/` for working with WeatherNext datasets programmatically.

### [`utils/data_utils.py`](https://github.com/google-deepmind/weathernext/blob/main/utils/data_utils.py)

Contains `xarray` wrappers for NetCDF/Zarr I/O:

```python
from weathernext.utils import data_utils

# Load local or GCS-based NetCDF forecast

ds = data_utils.load_nc("gs://dm_graphcast/sample_forecast.nc")

```

### [`utils/model_utils.py`](https://github.com/google-deepmind/weathernext/blob/main/utils/model_utils.py)

Handles parameter loading and preprocessing pipelines.

### [`utils/data_modalities.py`](https://github.com/google-deepmind/weathernext/blob/main/utils/data_modalities.py)

Defines variable dictionaries for:

- **Atmospheric variables**: temperature, wind (u/v), geopotential, humidity
- **Surface variables**: 2m temperature, 10m wind, precipitation
- **Cyclone track outputs**: position, intensity, radius estimates

---

## End-to-End Demo: WeatherNext 2 Notebook

The repository provides a complete reference implementation in [`docs/weathernext2/wn2_demo.ipynb`](https://github.com/google-deepmind/weathernext/blob/main/docs/weathernext2/wn2_demo.ipynb). This Colab notebook demonstrates:

1. Authenticating with Google Cloud (optional for public data)
2. Loading model weights from `dm_graphcast`
3. Fetching initial conditions from ERA5
4. Running inference with the WeatherNext 2 architecture
5. Visualizing outputs

Use this as your starting template for custom experiments.

---

## Summary

- **Google Cloud Storage bucket `dm_graphcast`** provides unauthenticated access to weights and training data—fastest for research use.
- **BigQuery tables** under `weathernext.forecast` enable SQL-based operational forecast consumption.
- **OpenMeteo API** removes infrastructure requirements for application developers.
- **WeatherLab** offers no-code visualization of cyclone and field forecasts.
- **Helper utilities** in `weathernext/utils/` standardize data loading across all sources.

---

## Frequently Asked Questions

### Do I need a Google Cloud account to access WeatherNext datasets?

No. The `dm_graphcast` bucket and OpenMeteo API require no authentication. BigQuery, Earth Engine, and Vertex AI access require a Google Cloud project with billing enabled.

### What is the difference between WeatherNext 1 and WeatherNext 2 datasets?

According to the repository, WeatherNext 2 (2025) represents the operational model with updated weights in `dm_graphcast/WeatherNext2_2025_model1.npz`. Legacy GraphCast weights remain available for reproducibility.

### Can I use WeatherNext forecasts for commercial applications?

The code repository is Apache 2.0 licensed. Forecast data terms depend on the access method—OpenMeteo and public GCS data are generally unrestricted, while Google Cloud service terms apply for BigQuery and Vertex AI usage.

### How large are the ERA5 training datasets?

The WeatherBench2 ERA5 Zarr store contains multiple terabytes of data. For development, use the `consolidated=True` flag with `xarray` to enable lazy loading without downloading full archives.