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
Metadata
Release files for peakweather 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| peakweather-0.2.2.tar.gz | 22.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| peakweather-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 44.8 kB
Release files / peakweather-0.2.2.tar.gz
| Download URL | peakweather-0.2.2.tar.gz |
|---|---|
| Size | 22.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d13f6658cd8b81eeb6b5f6b88093d96323ffb81df157a450c2ba5c7a3cc699f6
|
|
BLAKE2b-256 checksum How to use checksums |
47d020f257631e26272755ac62ef578b05e9bc7643997108ec31712f86bd6e51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.
Transparency logRelease files / peakweather-0.2.2-py3-none-any.whl
| Download URL | peakweather-0.2.2-py3-none-any.whl |
|---|---|
| Size | 22.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
13c80fadca838485a1c2f7ed10b5f284ec4c74db222a3859691af2c9a2024f9e
|
|
BLAKE2b-256 checksum How to use checksums |
f30cacd87564cc8eba1c7af6baffae1468e932480aed8fb5b8b1bba5097064cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.
Transparency log