UHI-Bench: Benchmarking Dual-Source Urban Heat Island Modeling Across Cities in Diverse Climate Regimes
Organizations: Department of Operations and Technology Technical University of Munich Heilbronn, Germany · Hong Kong Institute of Science & Innovation, Chinese Academy of Sciences Hong Kong SAR, China · Faculty of Computer Science RWTH Aachen University Aachen, Germany · Hainan Bielefeld University of Applied Sciences Hainan, China · Department of Operations and Technology, Heilbronn Data Science Center, Munich Data Science Institute Technical University of Munich Munich, Germany
Abstract
Urban heat islands (UHIs) are intensifying under climate change, exacerbating thermal exposure risks. Their two primary observations, land surface temperature UHI (LST-UHI) and near-surface air temperature UHI (AirT-UHI), capture physically distinct aspects of urban heat. However, most studies rely on a single source, and substituting one for the other can substantially bias the magnitude and spatial variability of human heat exposure. Accurate UHI modeling also requires dynamic meteorological drivers and static urban morphology features, but spatiotemporal incompatibilities hinder their alignment. Cloud gaps in LST observations and sparse AirT station networks further limit dual-source UHI modeling, motivating cross-city transfer across diverse climates. To bridge these gaps, we introduce UHI-Bench, the first UHI benchmark for dual-source UHI modeling that integrates dynamic and static environmental context. Following a unified signal, mechanism, and transfer framework, it evaluates over 20 baselines from four model families on five tasks across 20 cities and nine Köppen climate classes. Results show that no model is uniformly best, although foundation models remain consistently competitive and stable. Environmental covariates generally improve performance, but their utility varies across sources and tasks. Cross-city transferability is better explained by overlap in UHI regimes than by climate-zone similarity. With the dataset and standardized pipeline, our work provides practical guidance for urban heat modeling, promotes climate data equity, and supports future advances in climate research.
Figures & tables
| Dataset | Spatial coverage | Year span | UHI data available? | UHI source | Temporal resolution | Spatial resolution | Paired meteorological drivers | Paired static environmental data | Public access |
|---|---|---|---|---|---|---|---|---|---|
| UrbClim ( Lauwaet et al., 2024 ) | 100 cities | 2008–2017 | ✗ | Simulated AirT | Hourly | 100 m | ✗ a | ✗ | ✓ |
| Global UHII ( Yang et al., 2024 ) | 10,000+ cities | 2003–2020 | ✓ | LST-UHI+AirT-UHI | Monthly | 1 km | ✗ | ✗ | ✓ |
| Global HW Exposure ( Yu et al., 2026 ) | Global | 2003–2020 | ✗ | LST | Daily | 1 km | ✗ | ✗ | ✓ |
| IBM Johannesburg ( IBM Research, 2023 ) | 1 city | 10 years (not clearly specified) | ✗ | AirT | Daily | 1 km | ✗ | ✗ | ✗ |
| US SUHI Database ( Chakraborty et al., 2020 ) | 497 US urbanized areas | 2013–2017 | ✓ | LST | Seasonal | 1 km / census tract | ✗ | ✗ b | ✗ e |
| SeoulTemp / DeepUHI ( Zou et al., 2025b ) | 1 city: Seoul | 2021–2024 | ✗ | AirT | Hourly | Street-level; 947 stations | ✗ | ✗ c | ✓ |
| F1 (AirT-UHI|LST-UHI) | |||||
| Group | Model | Lagos (Aw) | Johannesburg (Cwb) | Cologne (Cfb) | Riyadh (BWh) |
| Stat/Geo | Percentile | 0.654|0.248 | 0.760|0.621 | 0.875|0.268 | 0.786|0.329 |
| Stat/Geo | SeasonalNaive | 0.371|0.249 | 0.508|0.540 | 0.496|0.231 | 0.462|0.187 |
| ML | RF | 0.740|0.378 | 0.739|0.663 | 0.939 |0.261 | 0.870|0.481 |
| ML | XGBoost | 0.726|0.361 | 0.713|0.633 | 0.938|0.226 | 0.876 |0.460 |
| ML | RF+m | 0.752|0.396 | 0.753|0.659 | 0.923|0.294 | 0.872| 0.506 |
| MAE | |||||||||||||
| Cairo (BWh, 20.0%) | Bucharest (Cfb, 57.2%) | Lagos (Aw, 75.6%) | |||||||||||
| Group | Method | 0–25% | 25–50% | 50–75% | >75% | 0–25% | 25–50% | 50–75% | >75% | 0–25% | 25–50% | 50–75% | >75% |
| Stat/Geo | IDW | 1.405 | 1.568 | 2.082 | 2.258 | 0.989 | 1.379 | 1.285 | 1.440 | 1.500 | 1.656 | 2.005 | 2.521 |
| Stat/Geo | OrdKrig | 1.440 | 1.623 | 2.172 | 2.311 | 1.007 | 1.414 | 1.346 | 1.471 | 1.767 | 1.838 | 2.161 | 2.599 |
| Stat/Geo | RegKrig+s | 1.255 | 1.216 | 1.534 | 1.746 | 0.969 | 1.262 | 1.205 | 1.350 | 1.052 | 1.125 | 1.244 | 1.397 |
| DL | SAITS | 1.077 | 1.124 | 1.071 | 1.099 | 1.843 | 1.844 | 1.797 | 1.818 | 1.223 | 1.302 | 1.355 | 1.337 |
| MAE, by station missing-% bin | |||||||||||||
| Lagos (Aw) | Cologne (Cfb) | Riyadh (BWh) | |||||||||||
| Group | Method | 0–25% | 25–50% | 50–75% | >75% | 0–25% | 25–50% | 50–75% | >75% | 0–25% | 25–50% | 50–75% | >75% |
| ML | RF | 0.052 | 0.053 | 0.054 | 0.068 | 0.1104 | 0.1188 | 0.1310 | 0.1602 | 0.0776 | 0.0772 | 0.0792 | 0.0933 |
| ML | XGBoost | 0.053 | 0.054 | 0.055 | 0.068 | 0.1061 | 0.1147 | 0.1287 | 0.1595 | 0.0784 | 0.0781 | 0.0796 | 0.0952 |
| ML | RF+s | 0.030 | 0.030 | 0.031 | 0.038 | 0.0951 | 0.0995 | 0.1066 | 0.1200 | 0.0525 | 0.0524 | 0.0527 | 0.0644 |
| ML | XGBoost+s | 0.027 | 0.027 | 0.027 | 0.034 | 0.0863 | 0.0924 | 0.1017 | 0.1191 | 0.0484 | 0.0483 | 0.0488 | 0.0590 |
| Avg MAE AirT-UHI | Avg MAE LST-UHI | ||||||||
| Group | Method | Lagos | Johannesburg | Cologne | Riyadh | Lagos | Johannesburg | Cologne | Riyadh |
| ML | XGBoost | 0.072 | 0.135 | 0.144 | 0.097 | 0.789 | 0.836 | 0.638 | 0.808 |
| ML | XGBoost+m | 0.064 | 0.086 | 0.104 | 0.063 | 0.741 | 0.784 | 0.615 | 0.772 |
| ML | XGBoost+s | 0.073 | 0.123 | 0.144 | 0.097 | 0.789 | 0.834 | 0.638 | 0.808 |
| ML | XGBoost+s+m | 0.064 | 0.083 | 0.102 | 0.061 | 0.737 | 0.767 | 0.610 | 0.763 |
| DL | LSTM | 0.099 | 0.193 | 0.189 | 0.158 | 1.012 | 1.118 | 0.684 | 1.276 |
| MAE (RMSE) | ||||
| Group | Method / source | +1h | +6h | +24h |
| ML | XGBoost / Cfb-4 (+m) | 3.390 (4.66) | 4.482 (5.77) | 3.879 (5.13) |
| ML | XGBoost / Cfb-7 (+m) | 3.185 (4.42) | 4.050 (5.28) | 3.461 (4.65) |
| ML | XGBoost / Diverse-4 | 0.813 (1.23) | 1.174 (1.68) | 0.983 (1.44) |
| ML | XGBoost / Diverse-4 (+m) | 0.810 (1.22) | 1.148 (1.63) | 0.988 (1.44) |
| ML | XGBoost / Diverse-7 | 0.797 (1.20) | 1.159 (1.65) | 0.981 (1.43) |
Appendix figures & tables12 assets
Supplementary material from the paper’s appendix.
Appendix
| Data | Domain | Spatial | Number of | Temporal | # Temporal | Missing |
|---|---|---|---|---|---|---|
| Format | Type | Region | Grids/ Stations | Range | Step | Rate |
| Grid | Air Temperature UHI a | Berlin, DE | 2,817 | 2015/01/01 – 2025/12/31 | 96,432 | 0.00% |
| Hamburg, DE | 2,216 | 2015/01/01 – 2025/12/31 | 96,432 | 0.00% | ||
| Munich, DE | 4,203 | 2015/01/01 – 2025/12/31 | 96,432 | 0.00% | ||
| Cologne, DE | 1,148 | 2015/01/01 – 2025/12/31 | 96,432 | 0.00% | ||
| Dortmund, DE | 864 | 2015/01/01 – 2025/12/31 | 96,432 | 0.00% |
| Feature | Aggregation Method | Formula | Output Unit |
|---|---|---|---|
| NDVI | Area-weighted mean (NDVI 0) | , where . If , . | – |
| BCR | Area ratio | – | |
| Building Height | Area-weighted mean | m | |
| Water Surface Ratio | Area ratio | – | |
| Waterbody Proximity | Minimum distance | m | |
| Road Density | Length density | km/km 2 |
| Feature | Definition |
|---|---|
| Building coverage ratio (BCR) | the proportion of grid area covered by building footprints. |
| Mean building height | the area-weighted average height of all buildings intersecting a grid cell, giving greater influence to larger structures. |
| Normalized Difference Vegetation Index (NDVI) | seasonal mean greenness calculated from Sentinel-2 imagery and aggregated using area-weighted averaging across all intersecting pixels. MODIS LST is used separately for cross-validation of the downscaled LST product (Section 3 ) and is not the source of the NDVI feature. |
| Water coverage ratio | the proportion of grid area covered by water surface polygons, calculated as the intersection area between waterbody polygons and the grid cell divided by the total grid area. |
| Distance to nearest waterbody | Euclidean distance from the grid centroid to the nearest lake/pond (and coastal) water polygon. |
| POI density | number of Points of Interest per square kilometer, used as a proxy for human activity intensity and land-use mix. |
| Group | Baselines | Main role | Input configurations |
|---|---|---|---|
| Statistical / geostatistical | Persistence, climatology, percentile rule, seasonal naive, inverse-distance weighting, ordinary kriging, universal kriging, regression kriging | Simple temporal and spatial references for forecasting, event detection, and imputation | base; +s where applicable |
| Classical machine learning | RF, XGBoost, Isolation Forest, One-Class SVM, linear models, regularized regressions | Covariate-aware imputation, detection, attribution, forecasting, and transfer analysis | base, +m, +s, +s+m when supported |
| Deep spatiotemporal models | SAITS, GNN/IGNNK-style models, GraphWaveNet, LSTM, PatchTST-style models, DLinear | Temporal, spatial, and graph-based inductive biases for imputation and forecasting | base, +m, +s, +s+m depending on model interface |
| Time-series foundation models | TimesFM, Chronos-2, MOIRAI-2, ChronosAdapter | Zero-shot or low-adaptation sequence modeling under missingness, sparse observations, forecasting, and cross-city transfer | TimesFM: base only; Chronos-2, MOIRAI-2, and ChronosAdapter: base, +m, +s, +s+m where supported |
| Task | Evaluation protocol | Cities / source-target sets | Metrics |
|---|---|---|---|
| Analysis 1a: Cross-source consistency | Quantify LST-UHI/AirT-UHI consistency via temporal, spatial-pattern, and lagged correlation, plus cross-source imputation gains. | 16 dual-source cities | Pearson ( ); MAE |
| Analysis 1b: Heat-risk timing diagnostics | Identify source-specific extreme periods in city-mean hourly UHI using training-period P95 thresholds (min. 3 consecutive hours). | Berlin, Munich, Hamburg, Cairo, Lagos, Johannesburg, Riyadh | Local-hour share; night fraction; peak hour |
| Task 1: Extreme-event detection | Detect source-specific extreme events under base, +m, +s, and +s+m inputs. | Berlin, Munich, Hamburg, Cairo, Lagos, Johannesburg, Riyadh | F1 (main); FAR |
| Task 2a: LST cloud-gap imputation | Reconstruct LST-UHI using near-clear references and real cloud masks; errors computed over cloud-covered pixels across four coverage bins (0–25/25–50/50–75/ 75%). Evaluate base, +m, +s, +s+m where supported. | Cairo, Bucharest, Lagos | MAE (main); RMSE (supp.) |
| Task 2b: AirT sparse imputation | Reconstruct AirT-UHI from simulated station-like masks under the same four missing-rate bins. Evaluate base, +m, +s, +s+m where supported. | Lagos, Cologne, Riyadh, Munich, Cairo | MAE (main); RMSE (supp.) |
| Task 2c: Dual-source UHI forecasting | Forecast both UHI sources at 1/6/12/24/48/96 h horizons, comparing base, +m, +s, and +s+m inputs. | Munich, Berlin, Cologne, Lagos, Johannesburg, Riyadh | MAE (main); RMSE (supp.) |
| F1 | |||||||||||||||
| Berlin (Cfb) | Munich (Cfb) | Hamburg (Cfb) | Cairo (BWh) | Lagos (Aw) | Johannesburg (Cwb) | Riyadh (BWh) | |||||||||
| Group | Model | AirT-UHI | LST-UHI | AirT-UHI | LST-UHI | AirT-UHI | LST-UHI | AirT-UHI | LST-UHI | AirT-UHI | LST-UHI | AirT-UHI | LST-UHI | AirT-UHI | LST-UHI |
| Stat/Geo | Percentile | 0.894 | 0.197 | 0.883 | 0.020 | 0.891 | 0.054 | 0.774 | 0.511 | 0.654 | 0.248 | 0.760 | 0.621 | 0.786 | 0.329 |
| Stat/Geo | SeasonalNaive | 0.548 | 0.182 | 0.538 | 0.019 | 0.575 | 0.049 | 0.406 | 0.224 | 0.371 | 0.249 | 0.508 | 0.540 | 0.462 | 0.187 |
| ML | RF | 0.956 | 0.322 | 0.949 | 0.017 | 0.951 | 0.032 | 0.850 | 0.579 | 0.740 | 0.378 | 0.739 | 0.663 | 0.870 | 0.481 |
| ML | RF+m | 0.941 | 0.313 | 0.941 | 0.000 | 0.932 | 0.127 | 0.869 | 0.581 | 0.752 | 0.396 | 0.753 | 0.659 | 0.872 | 0.506 |
| MAE | |||||||||||||
| Cairo | Bucharest | Lagos | |||||||||||
| Group | Model | 0–25% | 25–50% | 50–75% | 75% | 0–25% | 25–50% | 50–75% | 75% | 0–25% | 25–50% | 50–75% | 75% |
| Stat/Geo | UnivKrig | 1.318 | 1.435 | 1.829 | 2.343 | 1.283 | 1.539 | 1.650 | 2.101 | 1.616 | 1.626 | 1.919 | 2.185 |
| Stat/Geo | IDW_static | 1.405 | 1.568 | 2.082 | 2.258 | 0.989 | 1.379 | 1.285 | 1.440 | 1.500 | 1.656 | 2.005 | 2.521 |
| ML | RF | 1.639 | 1.682 | 2.390 | 2.527 | 0.964 | 1.403 | 1.344 | 1.514 | 1.554 | 1.779 | 2.079 | 2.511 |
| ML | XGBoost | 1.691 | 1.710 | 2.227 | 2.588 | 1.006 | 1.391 | 1.330 | 1.503 | 1.571 | 1.805 | 2.133 | 2.579 |
| MAE, by station missing-% bin | |||||||||||||
| Lagos (Aw) | Cologne (Cfb) | Riyadh (BWh) | |||||||||||
| Group | Method | 0–25% | 25–50% | 50–75% | 75% | 0–25% | 25–50% | 50–75% | 75% | 0–25% | 25–50% | 50–75% | 75% |
| Stat/Geo | IDW | 0.040 | 0.043 | 0.048 | 0.059 | 0.0992 | 0.1055 | 0.1141 | 0.1370 | 0.0585 | 0.0617 | 0.0671 | 0.0817 |
| Stat/Geo | OrdKrig | 0.055 | 0.064 | 0.081 | 0.125 | 0.1772 | 0.1975 | 0.2266 | 0.2559 | 0.0708 | 0.0794 | 0.0958 | 0.1525 |
| Stat/Geo | UnivKrig | 0.069 | 0.072 | 0.071 | 0.081 | 0.1288 | 0.1313 | 0.1399 | 0.1729 | 0.1042 | 0.1060 | 0.1051 | 0.1126 |
| Stat/Geo | RegKrig+s | 0.037 | 0.038 | 0.037 | 0.042 | 0.1020 | 0.1068 | 0.1112 | 0.1260 | 0.0666 | 0.0668 | 0.0638 | 0.0719 |
| Metric | MAE, AirT-UHI/LST-UHI | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| City | Group | Method | 1h | 6h | 12h | 24h | 48h | 96h | Avg |
| Munich | Stat/Geo | Persistence | 0.006 /0.547 | 0.027/1.089 | 0.120/1.298 | 0.080/0.768 | 0.100/0.896 | 0.109/0.910 | 0.074/0.918 |
| Munich | Stat/Geo | Climatology | 0.096/0.972 | 0.085/0.940 | 0.016 /0.932 | 0.096/0.978 | 0.096/0.986 | 0.096/0.961 | 0.081/0.962 |
| Munich | ML | XGBoost | 0.011/0.499 | 0.042/0.792 | 0.056/0.642 | 0.052/0.606 | 0.061/0.621 | 0.064/0.666 | 0.048/0.637 |
| Munich | ML | XGBoost+m | 0.009 /0.474 | 0.025 /0.668 | 0.033/0.616 | 0.039 /0.628 | 0.045 /0.658 | 0.049 /0.655 | 0.033 /0.617 |
| Munich | ML | XGBoost+s | 0.010/0.498 | 0.034/0.780 | 0.045/0.636 | 0.049/0.605 | 0.056/ 0.612 | 0.061/0.672 | 0.042/0.634 |