Materials to reproduce the results of the article "Revisiting urban heat indices in Switzerland using low-cost measurement networks" (arXiv:2606.09364).
Pre-trained bias correction model weights are available on the Hugging Face Hub.
Install pixi. All other dependencies are managed automatically by pixi.
The workflow is managed with Snakemake and executes Jupyter notebooks via papermill.
Note: Before running the pipeline, download the URS dataset zip from BORIS and place it in
data/raw/. Snakemake will extract it automatically.
To reproduce all results:
pixi run snakemake results --cores 1Here is a schematic overview of the pipeline:
flowchart LR
raw_lcd(["LCD raw data\n(per network)"])
raw_parallel(["Intercomparison\nmeasurements"])
extents(["Spatial extents\n(per city)"])
subgraph meteo ["1. Meteorological data"]
get_aws["get-aws-data\n(per city)"]
get_lcd["get-lcd-data\n(per network)"]
end
subgraph bias ["2. Bias correction"]
agreement["agreement-metrics"]
train["train-bias-correction"]
apply["apply-bias-correction\n(per network)"]
end
subgraph indices ["3. Heat indices"]
heat["heat-indices"]
end
raw_lcd --> get_lcd
raw_parallel --> agreement
raw_parallel --> train
extents --> get_aws
extents --> get_lcd
get_aws --> apply
get_lcd --> apply
train --> apply
get_aws --> heat
get_lcd --> heat
apply --> heat
heat --> results(["Results"])
train --> results
agreement --> results
@misc{bosch2026revisiting,
title={Revisiting urban heat indices in Switzerland using low-cost measurement networks},
author={Martí Bosch and Moritz Burger},
year={2026},
eprint={2606.09364},
archivePrefix={arXiv},
primaryClass={physics.ao-ph},
url={https://arxiv.org/abs/2606.09364},
}- Based on the cookiecutter-data-snake 🐍 template for reproducible data science.
