Skip to main content

PeakWeather: MeteoSwiss Weather Station Measurements for Spatiotemporal Deep Learning.

Project description

PeakWeather Logo

PeakWeather

MeteoSwiss Weather Station Measurements for Spatiotemporal Deep Learning.

Dataset on HF

PyPI PyPI - Python Version Documentation Status Total Downloads

📚 Documentation — 💻 Demo notebook — 🤗 Data — 📄 Paper


PeakWeather is a high-resolution, benchmark-ready dataset for spatiotemporal weather modeling. This repository provides the Python library to load and preprocess the dataset. For full documentation, visit peakweather.readthedocs.io.

Key Features

  • High-resolution observations — 10-minute interval data spanning 2017–2025 over 302 SwissMetNet stations across Switzerland
  • Multiple variables — Temperature, pressure, humidity, wind, radiation, precipitation and more
  • Topographic descriptors — Elevation, slope, aspect, and surface roughness to describe the Swiss complex terrain
  • NWP baselines — Ensemble forecasts from ICON-CH1-EPS, the state-of-the-art numerical prediction model operational at MeteoSwiss
  • Ideal for — Time series forecasting, missing data imputation, virtual sensing, graph structure learning, and more
Stations

The dataset is hosted on Hugging Face and introduced in the paper:

PeakWeather: MeteoSwiss Weather Station Measurements for Spatiotemporal Deep Learning
Daniele Zambon, Michele Cattaneo, Ivan Marisca, Jonas Bhend, Daniele Nerini, Cesare Alippi. Preprint 2025.

Quickstart

Install

Install PeakWeather from PyPI:

pip install peakweather

This installs the base package with support for station measurements. To also access the topographical descriptors and the NWP data, install the extra dependencies:

pip install peakweather[extended]

Alternatively, install directly from GitHub to stay up to date with the latest developments:

pip install git+https://github.com/MeteoSwiss/PeakWeather.git 
pip install "peakweather[extended] @ git+https://github.com/MeteoSwiss/PeakWeather"  # With extras

Load the dataset

On first use, data is automatically downloaded from Hugging Face:

from peakweather.dataset import PeakWeatherDataset

ds = PeakWeatherDataset(root=None)            # Download to the current directory
ds = PeakWeatherDataset(root="path/to/data")  # Or to the specified path

If data is already present at the given path, it is loaded directly.

Get observations

# Single station, all parameters
ds.get_observations(stations='KLO') 
# Multiple stations, specific parameters
ds.get_observations(stations=['KLO', 'GRO'], parameters=['pressure', 'temperature']) 
datetime ('KLO', 'pressure') ('KLO', 'temperature')
2017-01-01 00:00:00+00:00 977.8 -3.3
2017-01-01 00:10:00+00:00 977.7 -3.5
2017-01-01 00:20:00+00:00 977.6 -3.5
... ... ...

For detailed usage, see the full documentation, the provided example, and the demo notebook.

Citation

If you use PeakWeather in your research, please cite:

@misc{zambon2025peakweather,
  title={PeakWeather: MeteoSwiss Weather Station Measurements for Spatiotemporal Deep Learning}, 
  author={Zambon, Daniele and Cattaneo, Michele and Marisca, Ivan and Bhend, Jonas and Nerini, Daniele and Alippi, Cesare},
  year={2025},
  eprint={2506.13652},
  archivePrefix={arXiv},
  primaryClass={cs.LG},
  url={https://arxiv.org/abs/2506.13652}, 
}

Authors

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

peakweather-0.2.2.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

peakweather-0.2.2-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file peakweather-0.2.2.tar.gz.

File metadata

  • Download URL: peakweather-0.2.2.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for peakweather-0.2.2.tar.gz
Algorithm Hash digest
SHA256 d13f6658cd8b81eeb6b5f6b88093d96323ffb81df157a450c2ba5c7a3cc699f6
MD5 4c099d05544245a9cd641eb41f442282
BLAKE2b-256 47d020f257631e26272755ac62ef578b05e9bc7643997108ec31712f86bd6e51

See more details on using hashes here.

Provenance

The following attestation bundles were made for peakweather-0.2.2.tar.gz:

Publisher: CI_publish.yaml on MeteoSwiss/PeakWeather

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peakweather-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: peakweather-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for peakweather-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 13c80fadca838485a1c2f7ed10b5f284ec4c74db222a3859691af2c9a2024f9e
MD5 a125f9692018bdcb2f79fb0a7805f481
BLAKE2b-256 f30cacd87564cc8eba1c7af6baffae1468e932480aed8fb5b8b1bba5097064cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for peakweather-0.2.2-py3-none-any.whl:

Publisher: CI_publish.yaml on MeteoSwiss/PeakWeather

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page