PeakWeather: MeteoSwiss Weather Station Measurements for Spatiotemporal Deep Learning.
Project description
PeakWeather
MeteoSwiss Weather Station Measurements for Spatiotemporal Deep Learning.
📚 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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d13f6658cd8b81eeb6b5f6b88093d96323ffb81df157a450c2ba5c7a3cc699f6
|
|
| MD5 |
4c099d05544245a9cd641eb41f442282
|
|
| BLAKE2b-256 |
47d020f257631e26272755ac62ef578b05e9bc7643997108ec31712f86bd6e51
|
Provenance
The following attestation bundles were made for peakweather-0.2.2.tar.gz:
Publisher:
CI_publish.yaml on MeteoSwiss/PeakWeather
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
peakweather-0.2.2.tar.gz -
Subject digest:
d13f6658cd8b81eeb6b5f6b88093d96323ffb81df157a450c2ba5c7a3cc699f6 - Sigstore transparency entry: 1155502512
- Sigstore integration time:
-
Permalink:
MeteoSwiss/PeakWeather@65db3aab3dd8ca399de451577f4740a5f2f5c7ac -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/MeteoSwiss
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
CI_publish.yaml@65db3aab3dd8ca399de451577f4740a5f2f5c7ac -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13c80fadca838485a1c2f7ed10b5f284ec4c74db222a3859691af2c9a2024f9e
|
|
| MD5 |
a125f9692018bdcb2f79fb0a7805f481
|
|
| BLAKE2b-256 |
f30cacd87564cc8eba1c7af6baffae1468e932480aed8fb5b8b1bba5097064cf
|
Provenance
The following attestation bundles were made for peakweather-0.2.2-py3-none-any.whl:
Publisher:
CI_publish.yaml on MeteoSwiss/PeakWeather
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
peakweather-0.2.2-py3-none-any.whl -
Subject digest:
13c80fadca838485a1c2f7ed10b5f284ec4c74db222a3859691af2c9a2024f9e - Sigstore transparency entry: 1155502519
- Sigstore integration time:
-
Permalink:
MeteoSwiss/PeakWeather@65db3aab3dd8ca399de451577f4740a5f2f5c7ac -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/MeteoSwiss
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
CI_publish.yaml@65db3aab3dd8ca399de451577f4740a5f2f5c7ac -
Trigger Event:
release
-
Statement type: