{
 "meta": {
  "title": {
   "fr": "Température de surface et population par commune, 24 juin et 1ᵉʳ juillet 2026",
   "en": "Surface temperature and population by commune, 24 June and 1 July 2026",
   "lb": "Uewerflächentemperatur a Bevëlkerung pro Gemeng, 24. Juni an 1. Juli 2026"
  },
  "site": "https://canicule.sitraka.lu/",
  "content_date": "2026-09-24",
  "licence": {
   "derived_statistics": "CC BY 4.0 · https://creativecommons.org/licenses/by/4.0/",
   "attribution": "Sitraka Forler, canicule.sitraka.lu · Landsat-9 image courtesy of the U.S. Geological Survey"
  },
  "sources": [
   {
    "name": "Landsat 9 Collection 2 Level-2, bande thermique ST_B10 (USGS/NASA), domaine public",
    "url": "https://planetarycomputer.microsoft.com/dataset/landsat-c2-l2"
   },
   {
    "name": "Limites administratives du Grand-Duché de Luxembourg (ACT), CC0",
    "url": "https://data.public.lu/fr/datasets/limites-administratives-du-grand-duche-de-luxembourg/"
   },
   {
    "name": "RNPP, pyramide des âges par commune au 1er juillet 2026, CC0",
    "url": "https://data.public.lu/fr/datasets/registre-national-des-personnes-physiques-rnpp-pyramide-dage-par-commune-population-age-pyramid-per-municipality/"
   }
  ],
  "observation_days": [
   "2026-06-24",
   "2026-07-01"
  ],
  "scenes": [
   "LC09_L2SP_196025_20260624_02_T1",
   "LC09_L2SP_196026_20260624_02_T1",
   "LC09_L2SP_197025_20260701_02_T1",
   "LC09_L2SP_197026_20260701_02_T1"
  ],
  "hot_threshold_c": 40.0,
  "delta_west_median_c": -6.3,
  "rule": {
   "fr": "Deux dates, jamais mélangées : ne classez jamais ensemble des lignes dont la colonne day diffère. Les communes de l'ouest (2026-07-01, épisode retombé, −6,3 °C d'écart médian mesuré) ne sont pas comparables à celles du 24 juin. Les valeurs harmonisées d'affichage de la carte ne sont pas fournies.",
   "en": "Two dates, never mixed: never rank rows whose day column differs together. The western communes (2026-07-01, episode over, −6.3 °C median offset measured) are not comparable with those of 24 June. The map's harmonised display values are not provided.",
   "lb": "Zwee Datumer, ni vermëscht: klasséiert ni Zeilen zesummen, deenen hir Kolonn day verschidden ass. D'Gemengen aus dem Westen (2026-07-01, Well eriwwer, −6,3 °C gemoossene Median-Ënnerscheed) sinn net mat deene vum 24. Juni vergläichbar. Déi harmoniséiert Affichage-Wäerter vun der Kaart ginn net geliwwert."
  },
  "notice": {
   "fr": "Sources : Landsat 9 C2L2 ST_B10 (USGS/NASA, domaine public) · limites ACT (CC0) · RNPP (CC0). Statistiques dérivées : CC BY 4.0, attribution « Sitraka Forler, canicule.sitraka.lu ». Landsat-9 image courtesy of the U.S. Geological Survey.",
   "en": "Sources: Landsat 9 C2L2 ST_B10 (USGS/NASA, public domain) · ACT boundaries (CC0) · RNPP (CC0). Derived statistics: CC BY 4.0, attribution “Sitraka Forler, canicule.sitraka.lu”. Landsat-9 image courtesy of the U.S. Geological Survey.",
   "lb": "Quellen: Landsat 9 C2L2 ST_B10 (USGS/NASA, Domaine public) · ACT-Grenzen (CC0) · RNPP (CC0). Ofgeleet Statistiken: CC BY 4.0, Attributioun « Sitraka Forler, canicule.sitraka.lu ». Landsat-9 image courtesy of the U.S. Geological Survey."
  },
  "columns": {
   "name": {
    "fr": "Nom de la commune",
    "en": "Commune name",
    "lb": "Numm vun der Gemeng"
   },
   "lau2": {
    "fr": "Code LAU2 de la commune",
    "en": "LAU2 code of the commune",
    "lb": "LAU2-Code vun der Gemeng"
   },
   "canton": {
    "fr": "Canton",
    "en": "Canton",
    "lb": "Kanton"
   },
   "day": {
    "fr": "Jour du passage Landsat dominant : 2026-06-24 (pic de la canicule) ou 2026-07-01 (bande ouest, épisode retombé)",
    "en": "Dominant Landsat pass day: 2026-06-24 (peak of the heatwave) or 2026-07-01 (western band, episode over)",
    "lb": "Dag vum dominante Landsat-Passage: 2026-06-24 (Peak vun der Hëtztwell) oder 2026-07-01 (Westband, Well eriwwer)"
   },
   "comparable_group": {
    "fr": "Groupe de comparabilité, 24_juin ou ouest_1er_juillet : ne jamais classer ensemble deux groupes différents",
    "en": "Comparability group, 24_juin or ouest_1er_juillet: never rank two different groups together",
    "lb": "Vergläichbarkeetsgrupp, 24_juin oder ouest_1er_juillet: ni zwou verschidde Gruppen zesumme klasséieren"
   },
   "partial_coverage": {
    "fr": "true si plus d'un quart du territoire d'une commune du 24 juin n'a été vu que le 1er juillet (marqueur ° de la page) : statistiques à lire avec prudence",
    "en": "true when more than a quarter of a 24 June commune's territory was only seen on 1 July (° marker on the page): statistics to read with caution",
    "lb": "true, wa méi wéi e Véirel vum Territoire vun enger Gemeng vum 24. Juni nëmmen den 1. Juli gesi gouf (°-Markéierung op der Säit): Statistike mat Virsiicht ze liesen"
   },
   "p05": {
    "fr": "5e centile de la température de surface, °C",
    "en": "5th percentile of surface temperature, °C",
    "lb": "5. Perzentil vun der Uewerflächentemperatur, °C"
   },
   "p25": {
    "fr": "25e centile de la température de surface, °C (zones fraîches)",
    "en": "25th percentile of surface temperature, °C (cool zones)",
    "lb": "25. Perzentil vun der Uewerflächentemperatur, °C (kill Zonen)"
   },
   "p50": {
    "fr": "Médiane de la température de surface, °C",
    "en": "Median surface temperature, °C",
    "lb": "Median vun der Uewerflächentemperatur, °C"
   },
   "p95": {
    "fr": "95e centile de la température de surface, °C : l'indicateur principal de la page (cœur bâti)",
    "en": "95th percentile of surface temperature, °C: the page's main indicator (built core)",
    "lb": "95. Perzentil vun der Uewerflächentemperatur, °C: den Haaptindicateur vun der Säit (bebaute Kär)"
   },
   "max": {
    "fr": "Pixel le plus chaud de la commune, °C (valeur d'un pixel unique, à lire avec une marge)",
    "en": "Hottest pixel of the commune, °C (single-pixel value, to read with a margin)",
    "lb": "Wäermste Pixel vun der Gemeng, °C (Wäert vun engem eenzege Pixel, mat enger Marge ze liesen)"
   },
   "mean": {
    "fr": "Moyenne de la température de surface, °C",
    "en": "Mean surface temperature, °C",
    "lb": "Duerchschnëtt vun der Uewerflächentemperatur, °C"
   },
   "contrast": {
    "fr": "Amplitude thermique intra-communale : p95 moins p25, °C",
    "en": "Intra-commune thermal range: p95 minus p25, °C",
    "lb": "Bannenzeg thermesch Amplitude: p95 manner p25, °C"
   },
   "hot_pct": {
    "fr": "Part des pixels valides de la commune au-dessus de 40 °C, %",
    "en": "Share of the commune's valid pixels above 40 °C, %",
    "lb": "Undeel vun de valabele Pixele vun der Gemeng iwwer 40 °C, %"
   },
   "fill_pct": {
    "fr": "Part du territoire mesurée lors du passage du 1er juillet, %",
    "en": "Share of the territory measured on the 1 July pass, %",
    "lb": "Undeel vum Territoire, dee beim Passage vum 1. Juli gemooss gouf, %"
   },
   "px": {
    "fr": "Nombre de pixels valides (grille 30 m)",
    "en": "Number of valid pixels (30 m grid)",
    "lb": "Zuel vun de valabele Pixelen (30-m-Gitter)"
   },
   "pop": {
    "fr": "Population au 1er juillet 2026 (registre national des personnes physiques)",
    "en": "Population on 1 July 2026 (national register of natural persons)",
    "lb": "Bevëlkerung zum 1. Juli 2026 (nationale Persouneregister)"
   },
   "p65": {
    "fr": "Résidents de 65 ans et plus",
    "en": "Residents aged 65 and over",
    "lb": "Awunner vu 65 Joer an eeler"
   },
   "pct65": {
    "fr": "Part des 65 ans et plus, %",
    "en": "Share aged 65 and over, %",
    "lb": "Undeel vu 65 Joer an eeler, %"
   },
   "p75": {
    "fr": "Résidents de 75 ans et plus",
    "en": "Residents aged 75 and over",
    "lb": "Awunner vu 75 Joer an eeler"
   },
   "pct75": {
    "fr": "Part des 75 ans et plus, %",
    "en": "Share aged 75 and over, %",
    "lb": "Undeel vu 75 Joer an eeler, %"
   },
   "heat_age_quadrant": {
    "fr": "true si la commune du 24 juin a un p95 et une part de 65 ans et plus tous deux au-dessus des médianes des communes du 24 juin (quadrant chaleur × âge)",
    "en": "true when a 24 June commune has both a p95 and a share of over-65s above the medians of the 24 June communes (heat × age quadrant)",
    "lb": "true, wann eng Gemeng vum 24. Juni e p95 an en Undeel u 65+ huet, déi allebéid iwwer de Mediane vun de Gemenge vum 24. Juni leien (Quadrant Hëtzt × Alter)"
   }
  }
 },
 "communes": [
  {
   "name": "Esch-sur-Alzette",
   "lau2": "0204",
   "canton": "Esch-sur-Alzette",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.9,
   "p25": 36.3,
   "p50": 46.3,
   "p95": 53.4,
   "max": 63.8,
   "mean": 43.8,
   "contrast": 17.1,
   "hot_pct": 64.5,
   "fill_pct": 0.0,
   "px": 15998,
   "pop": 38323,
   "p65": 5609,
   "pct65": 14.6,
   "p75": 2588,
   "pct75": 6.8,
   "heat_age_quadrant": false
  },
  {
   "name": "Dudelange",
   "lau2": "0203",
   "canton": "Esch-sur-Alzette",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.9,
   "p25": 36.5,
   "p50": 40.7,
   "p95": 50.7,
   "max": 58.8,
   "mean": 41.3,
   "contrast": 14.1,
   "hot_pct": 54.4,
   "fill_pct": 0.0,
   "px": 23780,
   "pop": 22398,
   "p65": 3954,
   "pct65": 17.7,
   "p75": 1747,
   "pct75": 7.8,
   "heat_age_quadrant": true
  },
  {
   "name": "Luxembourg",
   "lau2": "0304",
   "canton": "Luxembourg",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.4,
   "p25": 37.7,
   "p50": 42.1,
   "p95": 50.1,
   "max": 56.7,
   "mean": 41.8,
   "contrast": 12.4,
   "hot_pct": 63.2,
   "fill_pct": 0.0,
   "px": 57499,
   "pop": 138211,
   "p65": 16914,
   "pct65": 12.2,
   "p75": 8049,
   "pct75": 5.8,
   "heat_age_quadrant": false
  },
  {
   "name": "Schifflange",
   "lau2": "0214",
   "canton": "Esch-sur-Alzette",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 35.8,
   "p25": 39.2,
   "p50": 42.8,
   "p95": 50.0,
   "max": 55.5,
   "mean": 42.8,
   "contrast": 10.7,
   "hot_pct": 70.9,
   "fill_pct": 0.0,
   "px": 8633,
   "pop": 11791,
   "p65": 1905,
   "pct65": 16.2,
   "p75": 882,
   "pct75": 7.5,
   "heat_age_quadrant": false
  },
  {
   "name": "Sandweiler",
   "lau2": "0306",
   "canton": "Luxembourg",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 34.3,
   "p25": 36.0,
   "p50": 40.8,
   "p95": 49.4,
   "max": 61.9,
   "mean": 41.1,
   "contrast": 13.3,
   "hot_pct": 54.7,
   "fill_pct": 0.0,
   "px": 8617,
   "pop": 3855,
   "p65": 619,
   "pct65": 16.1,
   "p75": 298,
   "pct75": 7.7,
   "heat_age_quadrant": false
  },
  {
   "name": "Sanem",
   "lau2": "0213",
   "canton": "Esch-sur-Alzette",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 36.6,
   "p25": 39.8,
   "p50": 42.1,
   "p95": 49.1,
   "max": 55.7,
   "mean": 42.5,
   "contrast": 9.2,
   "hot_pct": 73.2,
   "fill_pct": 3.1,
   "px": 26360,
   "pop": 19688,
   "p65": 3242,
   "pct65": 16.5,
   "p75": 1497,
   "pct75": 7.6,
   "heat_age_quadrant": false
  },
  {
   "name": "Bettembourg",
   "lau2": "0201",
   "canton": "Esch-sur-Alzette",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 34.2,
   "p25": 39.3,
   "p50": 42.0,
   "p95": 49.1,
   "max": 56.6,
   "mean": 41.8,
   "contrast": 9.7,
   "hot_pct": 70.6,
   "fill_pct": 0.0,
   "px": 23843,
   "pop": 11718,
   "p65": 2200,
   "pct65": 18.8,
   "p75": 1039,
   "pct75": 8.9,
   "heat_age_quadrant": true
  },
  {
   "name": "Mertert",
   "lau2": "1107",
   "canton": "Grevenmacher",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 35.1,
   "p25": 37.4,
   "p50": 40.3,
   "p95": 48.5,
   "max": 54.6,
   "mean": 40.8,
   "contrast": 11.1,
   "hot_pct": 52.8,
   "fill_pct": 0.0,
   "px": 16738,
   "pop": 5774,
   "p65": 941,
   "pct65": 16.3,
   "p75": 425,
   "pct75": 7.4,
   "heat_age_quadrant": false
  },
  {
   "name": "Remich",
   "lau2": "1205",
   "canton": "Remich",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 35.3,
   "p25": 37.3,
   "p50": 42.5,
   "p95": 48.4,
   "max": 53.0,
   "mean": 42.1,
   "contrast": 11.1,
   "hot_pct": 68.8,
   "fill_pct": 0.0,
   "px": 5664,
   "pop": 4177,
   "p65": 945,
   "pct65": 22.6,
   "p75": 477,
   "pct75": 11.4,
   "heat_age_quadrant": true
  },
  {
   "name": "Bertrange",
   "lau2": "0301",
   "canton": "Luxembourg",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 34.8,
   "p25": 39.3,
   "p50": 41.9,
   "p95": 48.1,
   "max": 59.4,
   "mean": 41.7,
   "contrast": 8.9,
   "hot_pct": 70.2,
   "fill_pct": 0.0,
   "px": 19195,
   "pop": 9690,
   "p65": 1641,
   "pct65": 16.9,
   "p75": 807,
   "pct75": 8.3,
   "heat_age_quadrant": true
  },
  {
   "name": "Strassen",
   "lau2": "0309",
   "canton": "Luxembourg",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.4,
   "p25": 33.3,
   "p50": 39.7,
   "p95": 47.9,
   "max": 58.3,
   "mean": 39.3,
   "contrast": 14.6,
   "hot_pct": 48.5,
   "fill_pct": 0.0,
   "px": 11779,
   "pop": 10998,
   "p65": 1573,
   "pct65": 14.3,
   "p75": 748,
   "pct75": 6.8,
   "heat_age_quadrant": false
  },
  {
   "name": "Hesperange",
   "lau2": "0303",
   "canton": "Luxembourg",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 35.1,
   "p25": 37.9,
   "p50": 41.0,
   "p95": 47.7,
   "max": 56.8,
   "mean": 41.0,
   "contrast": 9.8,
   "hot_pct": 59.3,
   "fill_pct": 0.0,
   "px": 30451,
   "pop": 17296,
   "p65": 2752,
   "pct65": 15.9,
   "p75": 1374,
   "pct75": 7.9,
   "heat_age_quadrant": false
  },
  {
   "name": "Niederanven",
   "lau2": "0305",
   "canton": "Luxembourg",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.6,
   "p25": 33.6,
   "p50": 36.3,
   "p95": 47.6,
   "max": 55.8,
   "mean": 37.8,
   "contrast": 14.0,
   "hot_pct": 30.9,
   "fill_pct": 0.0,
   "px": 46130,
   "pop": 7177,
   "p65": 1655,
   "pct65": 23.1,
   "p75": 864,
   "pct75": 12.0,
   "heat_age_quadrant": true
  },
  {
   "name": "Mondercange",
   "lau2": "0208",
   "canton": "Esch-sur-Alzette",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 36.0,
   "p25": 40.2,
   "p50": 42.3,
   "p95": 47.5,
   "max": 57.3,
   "mean": 42.2,
   "contrast": 7.3,
   "hot_pct": 76.8,
   "fill_pct": 0.0,
   "px": 23807,
   "pop": 7315,
   "p65": 1541,
   "pct65": 21.1,
   "p75": 671,
   "pct75": 9.2,
   "heat_age_quadrant": true
  },
  {
   "name": "Mondorf-les-Bains",
   "lau2": "1204",
   "canton": "Remich",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 35.6,
   "p25": 39.7,
   "p50": 41.4,
   "p95": 47.4,
   "max": 52.1,
   "mean": 41.6,
   "contrast": 7.7,
   "hot_pct": 71.0,
   "fill_pct": 0.0,
   "px": 15126,
   "pop": 5562,
   "p65": 1444,
   "pct65": 26.0,
   "p75": 739,
   "pct75": 13.3,
   "heat_age_quadrant": true
  },
  {
   "name": "Grevenmacher",
   "lau2": "1104",
   "canton": "Grevenmacher",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.9,
   "p25": 34.7,
   "p50": 38.5,
   "p95": 47.4,
   "max": 55.2,
   "mean": 39.2,
   "contrast": 12.7,
   "hot_pct": 42.4,
   "fill_pct": 0.0,
   "px": 18167,
   "pop": 5312,
   "p65": 973,
   "pct65": 18.3,
   "p75": 426,
   "pct75": 8.0,
   "heat_age_quadrant": true
  },
  {
   "name": "Diekirch",
   "lau2": "0603",
   "canton": "Diekirch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.6,
   "p25": 33.9,
   "p50": 36.7,
   "p95": 47.0,
   "max": 52.7,
   "mean": 37.7,
   "contrast": 13.1,
   "hot_pct": 24.3,
   "fill_pct": 0.0,
   "px": 13854,
   "pop": 7376,
   "p65": 1510,
   "pct65": 20.5,
   "p75": 756,
   "pct75": 10.2,
   "heat_age_quadrant": true
  },
  {
   "name": "Wormeldange",
   "lau2": "1108",
   "canton": "Grevenmacher",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 34.5,
   "p25": 38.0,
   "p50": 41.0,
   "p95": 46.9,
   "max": 52.3,
   "mean": 40.7,
   "contrast": 8.9,
   "hot_pct": 59.2,
   "fill_pct": 0.0,
   "px": 18560,
   "pop": 3271,
   "p65": 620,
   "pct65": 19.0,
   "p75": 253,
   "pct75": 7.7,
   "heat_age_quadrant": true
  },
  {
   "name": "Leudelange",
   "lau2": "0207",
   "canton": "Esch-sur-Alzette",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 34.5,
   "p25": 36.4,
   "p50": 39.5,
   "p95": 46.6,
   "max": 54.0,
   "mean": 39.7,
   "contrast": 10.1,
   "hot_pct": 44.4,
   "fill_pct": 0.0,
   "px": 15184,
   "pop": 2769,
   "p65": 477,
   "pct65": 17.2,
   "p75": 211,
   "pct75": 7.6,
   "heat_age_quadrant": true
  },
  {
   "name": "Walferdange",
   "lau2": "0310",
   "canton": "Luxembourg",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.7,
   "p25": 34.2,
   "p50": 38.4,
   "p95": 46.4,
   "max": 52.6,
   "mean": 38.8,
   "contrast": 12.3,
   "hot_pct": 43.8,
   "fill_pct": 0.0,
   "px": 7830,
   "pop": 9295,
   "p65": 1471,
   "pct65": 15.8,
   "p75": 704,
   "pct75": 7.6,
   "heat_age_quadrant": false
  },
  {
   "name": "Roeser",
   "lau2": "0211",
   "canton": "Esch-sur-Alzette",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 35.0,
   "p25": 38.2,
   "p50": 40.9,
   "p95": 46.3,
   "max": 51.5,
   "mean": 40.8,
   "contrast": 8.1,
   "hot_pct": 59.8,
   "fill_pct": 0.0,
   "px": 26741,
   "pop": 7193,
   "p65": 1245,
   "pct65": 17.3,
   "p75": 582,
   "pct75": 8.1,
   "heat_age_quadrant": true
  },
  {
   "name": "Rumelange",
   "lau2": "0212",
   "canton": "Esch-sur-Alzette",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.9,
   "p25": 33.8,
   "p50": 35.5,
   "p95": 46.3,
   "max": 52.7,
   "mean": 37.2,
   "contrast": 12.6,
   "hot_pct": 23.7,
   "fill_pct": 0.0,
   "px": 7603,
   "pop": 5743,
   "p65": 835,
   "pct65": 14.5,
   "p75": 328,
   "pct75": 5.7,
   "heat_age_quadrant": false
  },
  {
   "name": "Schengen",
   "lau2": "1206",
   "canton": "Remich",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 35.0,
   "p25": 37.3,
   "p50": 40.5,
   "p95": 46.3,
   "max": 50.4,
   "mean": 40.4,
   "contrast": 8.9,
   "hot_pct": 56.6,
   "fill_pct": 0.0,
   "px": 34671,
   "pop": 5265,
   "p65": 962,
   "pct65": 18.3,
   "p75": 395,
   "pct75": 7.5,
   "heat_age_quadrant": true
  },
  {
   "name": "Contern",
   "lau2": "0302",
   "canton": "Luxembourg",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 34.2,
   "p25": 37.4,
   "p50": 40.0,
   "p95": 46.2,
   "max": 62.9,
   "mean": 40.0,
   "contrast": 8.8,
   "hot_pct": 50.0,
   "fill_pct": 0.0,
   "px": 23117,
   "pop": 5031,
   "p65": 865,
   "pct65": 17.2,
   "p75": 436,
   "pct75": 8.7,
   "heat_age_quadrant": true
  },
  {
   "name": "Stadtbredimus",
   "lau2": "1207",
   "canton": "Remich",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 34.2,
   "p25": 35.1,
   "p50": 40.8,
   "p95": 46.2,
   "max": 53.0,
   "mean": 40.0,
   "contrast": 11.1,
   "hot_pct": 54.6,
   "fill_pct": 0.0,
   "px": 10971,
   "pop": 2020,
   "p65": 336,
   "pct65": 16.6,
   "p75": 112,
   "pct75": 5.5,
   "heat_age_quadrant": true
  },
  {
   "name": "Echternach",
   "lau2": "1005",
   "canton": "Echternach",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.2,
   "p25": 34.1,
   "p50": 36.5,
   "p95": 46.0,
   "max": 58.6,
   "mean": 37.9,
   "contrast": 11.9,
   "hot_pct": 31.0,
   "fill_pct": 0.0,
   "px": 22686,
   "pop": 6016,
   "p65": 1242,
   "pct65": 20.6,
   "p75": 635,
   "pct75": 10.6,
   "heat_age_quadrant": true
  },
  {
   "name": "Frisange",
   "lau2": "0205",
   "canton": "Esch-sur-Alzette",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 36.6,
   "p25": 39.8,
   "p50": 41.3,
   "p95": 46.0,
   "max": 50.1,
   "mean": 41.4,
   "contrast": 6.1,
   "hot_pct": 72.7,
   "fill_pct": 0.0,
   "px": 20414,
   "pop": 5067,
   "p65": 900,
   "pct65": 17.8,
   "p75": 330,
   "pct75": 6.5,
   "heat_age_quadrant": true
  },
  {
   "name": "Biwer",
   "lau2": "1102",
   "canton": "Grevenmacher",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 34.0,
   "p25": 38.0,
   "p50": 41.0,
   "p95": 46.0,
   "max": 58.9,
   "mean": 40.5,
   "contrast": 8.0,
   "hot_pct": 59.4,
   "fill_pct": 0.0,
   "px": 25605,
   "pop": 1912,
   "p65": 302,
   "pct65": 15.8,
   "p75": 105,
   "pct75": 5.5,
   "heat_age_quadrant": false
  },
  {
   "name": "Kayl",
   "lau2": "0206",
   "canton": "Esch-sur-Alzette",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.3,
   "p25": 36.3,
   "p50": 39.7,
   "p95": 45.8,
   "max": 53.6,
   "mean": 39.5,
   "contrast": 9.4,
   "hot_pct": 46.8,
   "fill_pct": 0.0,
   "px": 16528,
   "pop": 9982,
   "p65": 1671,
   "pct65": 16.7,
   "p75": 689,
   "pct75": 6.9,
   "heat_age_quadrant": true
  },
  {
   "name": "Manternach",
   "lau2": "1106",
   "canton": "Grevenmacher",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.9,
   "p25": 37.1,
   "p50": 40.0,
   "p95": 45.8,
   "max": 50.2,
   "mean": 39.9,
   "contrast": 8.7,
   "hot_pct": 50.1,
   "fill_pct": 0.0,
   "px": 30945,
   "pop": 2330,
   "p65": 431,
   "pct65": 18.5,
   "p75": 200,
   "pct75": 8.6,
   "heat_age_quadrant": true
  },
  {
   "name": "Betzdorf",
   "lau2": "1101",
   "canton": "Grevenmacher",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.6,
   "p25": 35.3,
   "p50": 39.6,
   "p95": 45.6,
   "max": 51.2,
   "mean": 39.3,
   "contrast": 10.3,
   "hot_pct": 46.9,
   "fill_pct": 0.0,
   "px": 29111,
   "pop": 4188,
   "p65": 630,
   "pct65": 15.0,
   "p75": 238,
   "pct75": 5.7,
   "heat_age_quadrant": false
  },
  {
   "name": "Mamer",
   "lau2": "0108",
   "canton": "Capellen",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.8,
   "p25": 36.8,
   "p50": 39.5,
   "p95": 45.6,
   "max": 55.1,
   "mean": 39.5,
   "contrast": 8.8,
   "hot_pct": 43.9,
   "fill_pct": 0.0,
   "px": 30915,
   "pop": 11700,
   "p65": 1850,
   "pct65": 15.8,
   "p75": 937,
   "pct75": 8.0,
   "heat_age_quadrant": false
  },
  {
   "name": "Junglinster",
   "lau2": "1105",
   "canton": "Grevenmacher",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.7,
   "p25": 37.0,
   "p50": 40.2,
   "p95": 45.5,
   "max": 53.3,
   "mean": 39.8,
   "contrast": 8.5,
   "hot_pct": 52.3,
   "fill_pct": 0.0,
   "px": 61892,
   "pop": 9253,
   "p65": 1565,
   "pct65": 16.9,
   "p75": 702,
   "pct75": 7.6,
   "heat_age_quadrant": true
  },
  {
   "name": "Ettelbruck",
   "lau2": "0605",
   "canton": "Diekirch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.8,
   "p25": 34.5,
   "p50": 37.0,
   "p95": 45.4,
   "max": 52.0,
   "mean": 37.7,
   "contrast": 10.9,
   "hot_pct": 26.3,
   "fill_pct": 0.0,
   "px": 16887,
   "pop": 10145,
   "p65": 1744,
   "pct65": 17.2,
   "p75": 751,
   "pct75": 7.4,
   "heat_age_quadrant": true
  },
  {
   "name": "Bous-Waldbredimus",
   "lau2": "1209",
   "canton": "Remich",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 34.7,
   "p25": 36.7,
   "p50": 40.5,
   "p95": 45.4,
   "max": 50.4,
   "mean": 40.0,
   "contrast": 8.6,
   "hot_pct": 54.7,
   "fill_pct": 0.0,
   "px": 31104,
   "pop": 3344,
   "p65": 496,
   "pct65": 14.8,
   "p75": 186,
   "pct75": 5.6,
   "heat_age_quadrant": false
  },
  {
   "name": "Weiler-la-Tour",
   "lau2": "0311",
   "canton": "Luxembourg",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 34.9,
   "p25": 37.4,
   "p50": 40.1,
   "p95": 45.3,
   "max": 51.2,
   "mean": 40.0,
   "contrast": 7.9,
   "hot_pct": 51.7,
   "fill_pct": 0.0,
   "px": 19028,
   "pop": 2528,
   "p65": 377,
   "pct65": 14.9,
   "p75": 161,
   "pct75": 6.4,
   "heat_age_quadrant": false
  },
  {
   "name": "Koerich",
   "lau2": "0106",
   "canton": "Capellen",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": true,
   "p05": 32.6,
   "p25": 35.3,
   "p50": 38.0,
   "p95": 45.2,
   "max": 57.2,
   "mean": 38.4,
   "contrast": 9.9,
   "hot_pct": 31.8,
   "fill_pct": 46.8,
   "px": 10967,
   "pop": 2786,
   "p65": 443,
   "pct65": 15.9,
   "p75": 183,
   "pct75": 6.6,
   "heat_age_quadrant": false
  },
  {
   "name": "Lenningen",
   "lau2": "1203",
   "canton": "Remich",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 34.6,
   "p25": 37.5,
   "p50": 40.1,
   "p95": 45.1,
   "max": 49.3,
   "mean": 39.9,
   "contrast": 7.6,
   "hot_pct": 50.7,
   "fill_pct": 0.0,
   "px": 22786,
   "pop": 2100,
   "p65": 381,
   "pct65": 18.1,
   "p75": 178,
   "pct75": 8.5,
   "heat_age_quadrant": false
  },
  {
   "name": "Beaufort",
   "lau2": "1001",
   "canton": "Echternach",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.8,
   "p25": 34.0,
   "p50": 36.1,
   "p95": 45.0,
   "max": 49.3,
   "mean": 37.5,
   "contrast": 11.0,
   "hot_pct": 31.1,
   "fill_pct": 0.0,
   "px": 15299,
   "pop": 3146,
   "p65": 414,
   "pct65": 13.2,
   "p75": 155,
   "pct75": 4.9,
   "heat_age_quadrant": false
  },
  {
   "name": "Rosport-Mompach",
   "lau2": "1006",
   "canton": "Echternach",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 34.1,
   "p25": 36.8,
   "p50": 39.9,
   "p95": 45.0,
   "max": 51.1,
   "mean": 39.6,
   "contrast": 8.2,
   "hot_pct": 48.7,
   "fill_pct": 0.0,
   "px": 62963,
   "pop": 3824,
   "p65": 635,
   "pct65": 16.6,
   "p75": 247,
   "pct75": 6.5,
   "heat_age_quadrant": false
  },
  {
   "name": "Flaxweiler",
   "lau2": "1103",
   "canton": "Grevenmacher",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.9,
   "p25": 35.2,
   "p50": 39.3,
   "p95": 44.9,
   "max": 49.3,
   "mean": 39.0,
   "contrast": 9.7,
   "hot_pct": 44.2,
   "fill_pct": 0.0,
   "px": 33527,
   "pop": 2275,
   "p65": 340,
   "pct65": 14.9,
   "p75": 128,
   "pct75": 5.6,
   "heat_age_quadrant": false
  },
  {
   "name": "Dalheim",
   "lau2": "1202",
   "canton": "Remich",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.7,
   "p25": 36.7,
   "p50": 39.9,
   "p95": 44.8,
   "max": 50.9,
   "mean": 39.5,
   "contrast": 8.2,
   "hot_pct": 49.3,
   "fill_pct": 0.0,
   "px": 21285,
   "pop": 2396,
   "p65": 455,
   "pct65": 19.0,
   "p75": 179,
   "pct75": 7.5,
   "heat_age_quadrant": false
  },
  {
   "name": "Reckange-sur-Mess",
   "lau2": "0210",
   "canton": "Esch-sur-Alzette",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 35.0,
   "p25": 38.8,
   "p50": 40.7,
   "p95": 44.8,
   "max": 49.0,
   "mean": 40.5,
   "contrast": 6.0,
   "hot_pct": 60.4,
   "fill_pct": 0.0,
   "px": 22823,
   "pop": 3032,
   "p65": 507,
   "pct65": 16.7,
   "p75": 228,
   "pct75": 7.5,
   "heat_age_quadrant": false
  },
  {
   "name": "Schuttrange",
   "lau2": "0307",
   "canton": "Luxembourg",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 34.2,
   "p25": 37.0,
   "p50": 39.8,
   "p95": 44.8,
   "max": 54.6,
   "mean": 39.6,
   "contrast": 7.8,
   "hot_pct": 47.7,
   "fill_pct": 0.0,
   "px": 17950,
   "pop": 4455,
   "p65": 799,
   "pct65": 17.9,
   "p75": 320,
   "pct75": 7.2,
   "heat_age_quadrant": false
  },
  {
   "name": "Bech",
   "lau2": "1002",
   "canton": "Echternach",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.6,
   "p25": 35.3,
   "p50": 39.2,
   "p95": 44.8,
   "max": 50.0,
   "mean": 38.9,
   "contrast": 9.4,
   "hot_pct": 43.2,
   "fill_pct": 0.0,
   "px": 26040,
   "pop": 1366,
   "p65": 240,
   "pct65": 17.6,
   "p75": 101,
   "pct75": 7.4,
   "heat_age_quadrant": false
  },
  {
   "name": "Colmar-Berg",
   "lau2": "0401",
   "canton": "Mersch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.1,
   "p25": 32.9,
   "p50": 35.5,
   "p95": 44.7,
   "max": 54.6,
   "mean": 36.5,
   "contrast": 11.8,
   "hot_pct": 18.4,
   "fill_pct": 0.0,
   "px": 13726,
   "pop": 2518,
   "p65": 344,
   "pct65": 13.7,
   "p75": 146,
   "pct75": 5.8,
   "heat_age_quadrant": false
  },
  {
   "name": "Bissen",
   "lau2": "0402",
   "canton": "Mersch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 31.7,
   "p25": 32.5,
   "p50": 35.8,
   "p95": 44.6,
   "max": 54.2,
   "mean": 36.4,
   "contrast": 12.1,
   "hot_pct": 21.1,
   "fill_pct": 0.0,
   "px": 23153,
   "pop": 3586,
   "p65": 592,
   "pct65": 16.5,
   "p75": 254,
   "pct75": 7.1,
   "heat_age_quadrant": false
  },
  {
   "name": "Steinsel",
   "lau2": "0308",
   "canton": "Luxembourg",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.0,
   "p25": 32.7,
   "p50": 34.0,
   "p95": 44.4,
   "max": 51.1,
   "mean": 36.1,
   "contrast": 11.8,
   "hot_pct": 24.0,
   "fill_pct": 0.0,
   "px": 24332,
   "pop": 6328,
   "p65": 1255,
   "pct65": 19.8,
   "p75": 605,
   "pct75": 9.6,
   "heat_age_quadrant": false
  },
  {
   "name": "Dippach",
   "lau2": "0101",
   "canton": "Capellen",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 34.2,
   "p25": 37.5,
   "p50": 39.7,
   "p95": 44.4,
   "max": 47.9,
   "mean": 39.5,
   "contrast": 6.9,
   "hot_pct": 46.2,
   "fill_pct": 0.0,
   "px": 19185,
   "pop": 4781,
   "p65": 855,
   "pct65": 17.9,
   "p75": 352,
   "pct75": 7.4,
   "heat_age_quadrant": false
  },
  {
   "name": "Reisdorf",
   "lau2": "0608",
   "canton": "Diekirch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.4,
   "p25": 35.3,
   "p50": 38.3,
   "p95": 44.3,
   "max": 48.7,
   "mean": 38.4,
   "contrast": 9.1,
   "hot_pct": 36.4,
   "fill_pct": 0.0,
   "px": 16410,
   "pop": 1453,
   "p65": 179,
   "pct65": 12.3,
   "p75": 70,
   "pct75": 4.8,
   "heat_age_quadrant": false
  },
  {
   "name": "Heffingen",
   "lau2": "0405",
   "canton": "Mersch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.7,
   "p25": 37.1,
   "p50": 39.2,
   "p95": 44.0,
   "max": 48.7,
   "mean": 39.1,
   "contrast": 6.9,
   "hot_pct": 38.9,
   "fill_pct": 0.0,
   "px": 14747,
   "pop": 1620,
   "p65": 193,
   "pct65": 11.9,
   "p75": 69,
   "pct75": 4.3,
   "heat_age_quadrant": false
  },
  {
   "name": "Lorentzweiler",
   "lau2": "0408",
   "canton": "Mersch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.6,
   "p25": 34.4,
   "p50": 37.1,
   "p95": 44.0,
   "max": 52.0,
   "mean": 37.6,
   "contrast": 9.6,
   "hot_pct": 27.4,
   "fill_pct": 0.0,
   "px": 19631,
   "pop": 4772,
   "p65": 938,
   "pct65": 19.7,
   "p75": 443,
   "pct75": 9.3,
   "heat_age_quadrant": false
  },
  {
   "name": "Waldbillig",
   "lau2": "1008",
   "canton": "Echternach",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.7,
   "p25": 35.5,
   "p50": 38.8,
   "p95": 43.9,
   "max": 48.6,
   "mean": 38.5,
   "contrast": 8.4,
   "hot_pct": 35.1,
   "fill_pct": 0.0,
   "px": 25807,
   "pop": 1990,
   "p65": 251,
   "pct65": 12.6,
   "p75": 76,
   "pct75": 3.8,
   "heat_age_quadrant": false
  },
  {
   "name": "Vallée de l'Ernz",
   "lau2": "0610",
   "canton": "Diekirch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.9,
   "p25": 34.9,
   "p50": 38.1,
   "p95": 43.8,
   "max": 50.4,
   "mean": 38.0,
   "contrast": 8.9,
   "hot_pct": 32.2,
   "fill_pct": 0.0,
   "px": 44353,
   "pop": 2961,
   "p65": 397,
   "pct65": 13.4,
   "p75": 143,
   "pct75": 4.8,
   "heat_age_quadrant": false
  },
  {
   "name": "Kopstal",
   "lau2": "0107",
   "canton": "Capellen",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.0,
   "p25": 33.9,
   "p50": 35.8,
   "p95": 43.5,
   "max": 46.6,
   "mean": 37.0,
   "contrast": 9.5,
   "hot_pct": 24.0,
   "fill_pct": 0.0,
   "px": 8920,
   "pop": 4743,
   "p65": 728,
   "pct65": 15.3,
   "p75": 349,
   "pct75": 7.4,
   "heat_age_quadrant": false
  },
  {
   "name": "Mersch",
   "lau2": "0409",
   "canton": "Mersch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 31.8,
   "p25": 33.1,
   "p50": 36.0,
   "p95": 43.4,
   "max": 52.2,
   "mean": 36.6,
   "contrast": 10.3,
   "hot_pct": 21.7,
   "fill_pct": 0.0,
   "px": 55018,
   "pop": 10916,
   "p65": 1853,
   "pct65": 17.0,
   "p75": 816,
   "pct75": 7.5,
   "heat_age_quadrant": false
  },
  {
   "name": "Erpeldange-sur-Sûre",
   "lau2": "0604",
   "canton": "Diekirch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.3,
   "p25": 34.3,
   "p50": 36.4,
   "p95": 43.4,
   "max": 51.9,
   "mean": 37.0,
   "contrast": 9.2,
   "hot_pct": 19.0,
   "fill_pct": 0.0,
   "px": 19928,
   "pop": 2741,
   "p65": 561,
   "pct65": 20.5,
   "p75": 240,
   "pct75": 8.8,
   "heat_age_quadrant": false
  },
  {
   "name": "Berdorf",
   "lau2": "1003",
   "canton": "Echternach",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.2,
   "p25": 34.2,
   "p50": 37.0,
   "p95": 43.3,
   "max": 47.6,
   "mean": 37.4,
   "contrast": 9.1,
   "hot_pct": 24.2,
   "fill_pct": 0.0,
   "px": 24361,
   "pop": 2299,
   "p65": 359,
   "pct65": 15.6,
   "p75": 174,
   "pct75": 7.6,
   "heat_age_quadrant": false
  },
  {
   "name": "Bourscheid",
   "lau2": "0602",
   "canton": "Diekirch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": true,
   "p05": 33.4,
   "p25": 34.9,
   "p50": 36.8,
   "p95": 43.2,
   "max": 48.4,
   "mean": 37.4,
   "contrast": 8.3,
   "hot_pct": 22.4,
   "fill_pct": 39.7,
   "px": 24621,
   "pop": 1788,
   "p65": 243,
   "pct65": 13.6,
   "p75": 93,
   "pct75": 5.2,
   "heat_age_quadrant": false
  },
  {
   "name": "Kehlen",
   "lau2": "0105",
   "canton": "Capellen",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.9,
   "p25": 34.8,
   "p50": 36.9,
   "p95": 43.0,
   "max": 53.2,
   "mean": 37.2,
   "contrast": 8.2,
   "hot_pct": 17.6,
   "fill_pct": 0.0,
   "px": 31728,
   "pop": 7625,
   "p65": 1421,
   "pct65": 18.6,
   "p75": 636,
   "pct75": 8.3,
   "heat_age_quadrant": false
  },
  {
   "name": "Nommern",
   "lau2": "0410",
   "canton": "Mersch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.5,
   "p25": 34.2,
   "p50": 37.1,
   "p95": 42.8,
   "max": 50.4,
   "mean": 37.2,
   "contrast": 8.6,
   "hot_pct": 21.0,
   "fill_pct": 0.0,
   "px": 25231,
   "pop": 1501,
   "p65": 231,
   "pct65": 15.4,
   "p75": 66,
   "pct75": 4.4,
   "heat_age_quadrant": false
  },
  {
   "name": "Differdange",
   "lau2": "0202",
   "canton": "Esch-sur-Alzette",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 24.8,
   "p25": 26.6,
   "p50": 30.2,
   "p95": 42.7,
   "max": 54.7,
   "mean": 31.8,
   "contrast": 16.1,
   "hot_pct": 14.1,
   "fill_pct": 86.3,
   "px": 21121,
   "pop": 31322,
   "p65": 3797,
   "pct65": 12.1,
   "p75": 1606,
   "pct75": 5.1,
   "heat_age_quadrant": false
  },
  {
   "name": "Lintgen",
   "lau2": "0407",
   "canton": "Mersch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.6,
   "p25": 33.6,
   "p50": 35.5,
   "p95": 42.5,
   "max": 48.3,
   "mean": 36.3,
   "contrast": 8.9,
   "hot_pct": 14.8,
   "fill_pct": 0.0,
   "px": 17122,
   "pop": 3474,
   "p65": 533,
   "pct65": 15.3,
   "p75": 195,
   "pct75": 5.6,
   "heat_age_quadrant": false
  },
  {
   "name": "Consdorf",
   "lau2": "1004",
   "canton": "Echternach",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.2,
   "p25": 34.3,
   "p50": 37.1,
   "p95": 42.5,
   "max": 49.6,
   "mean": 37.2,
   "contrast": 8.2,
   "hot_pct": 22.1,
   "fill_pct": 0.0,
   "px": 28836,
   "pop": 2103,
   "p65": 382,
   "pct65": 18.2,
   "p75": 139,
   "pct75": 6.6,
   "heat_age_quadrant": false
  },
  {
   "name": "Pétange",
   "lau2": "0209",
   "canton": "Esch-sur-Alzette",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 26.1,
   "p25": 29.3,
   "p50": 35.3,
   "p95": 42.4,
   "max": 49.0,
   "mean": 34.6,
   "contrast": 13.1,
   "hot_pct": 19.5,
   "fill_pct": 100.0,
   "px": 13173,
   "pop": 21397,
   "p65": 3258,
   "pct65": 15.2,
   "p75": 1458,
   "pct75": 6.8,
   "heat_age_quadrant": false
  },
  {
   "name": "Putscheid",
   "lau2": "0902",
   "canton": "Vianden",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.7,
   "p25": 34.0,
   "p50": 36.0,
   "p95": 42.3,
   "max": 47.5,
   "mean": 36.6,
   "contrast": 8.3,
   "hot_pct": 14.7,
   "fill_pct": 0.0,
   "px": 30033,
   "pop": 1199,
   "p65": 178,
   "pct65": 14.8,
   "p75": 77,
   "pct75": 6.4,
   "heat_age_quadrant": false
  },
  {
   "name": "Bettendorf",
   "lau2": "0601",
   "canton": "Diekirch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.7,
   "p25": 34.4,
   "p50": 36.8,
   "p95": 42.2,
   "max": 48.7,
   "mean": 36.9,
   "contrast": 7.8,
   "hot_pct": 16.1,
   "fill_pct": 0.0,
   "px": 25838,
   "pop": 3050,
   "p65": 503,
   "pct65": 16.5,
   "p75": 211,
   "pct75": 6.9,
   "heat_age_quadrant": false
  },
  {
   "name": "Schieren",
   "lau2": "0609",
   "canton": "Diekirch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.0,
   "p25": 32.7,
   "p50": 34.6,
   "p95": 42.0,
   "max": 48.6,
   "mean": 35.4,
   "contrast": 9.3,
   "hot_pct": 9.1,
   "fill_pct": 0.0,
   "px": 11557,
   "pop": 2209,
   "p65": 348,
   "pct65": 15.8,
   "p75": 137,
   "pct75": 6.2,
   "heat_age_quadrant": false
  },
  {
   "name": "Fischbach",
   "lau2": "0404",
   "canton": "Mersch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.4,
   "p25": 33.2,
   "p50": 34.9,
   "p95": 41.9,
   "max": 48.7,
   "mean": 35.9,
   "contrast": 8.7,
   "hot_pct": 13.0,
   "fill_pct": 0.0,
   "px": 21713,
   "pop": 1366,
   "p65": 162,
   "pct65": 11.9,
   "p75": 44,
   "pct75": 3.2,
   "heat_age_quadrant": false
  },
  {
   "name": "Tandel",
   "lau2": "0901",
   "canton": "Vianden",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 33.0,
   "p25": 34.4,
   "p50": 36.2,
   "p95": 41.7,
   "max": 47.6,
   "mean": 36.6,
   "contrast": 7.4,
   "hot_pct": 12.9,
   "fill_pct": 0.0,
   "px": 46383,
   "pop": 2370,
   "p65": 324,
   "pct65": 13.7,
   "p75": 125,
   "pct75": 5.3,
   "heat_age_quadrant": false
  },
  {
   "name": "Parc Hosingen",
   "lau2": "0503",
   "canton": "Clervaux",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": true,
   "p05": 32.5,
   "p25": 33.7,
   "p50": 35.1,
   "p95": 41.0,
   "max": 48.4,
   "mean": 35.8,
   "contrast": 7.3,
   "hot_pct": 9.0,
   "fill_pct": 45.5,
   "px": 39867,
   "pop": 4494,
   "p65": 577,
   "pct65": 12.8,
   "p75": 227,
   "pct75": 5.1,
   "heat_age_quadrant": false
  },
  {
   "name": "Vianden",
   "lau2": "0903",
   "canton": "Vianden",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 31.4,
   "p25": 33.3,
   "p50": 34.7,
   "p95": 41.0,
   "max": 47.7,
   "mean": 35.3,
   "contrast": 7.7,
   "hot_pct": 7.8,
   "fill_pct": 0.0,
   "px": 10729,
   "pop": 2260,
   "p65": 436,
   "pct65": 19.3,
   "p75": 214,
   "pct75": 9.5,
   "heat_age_quadrant": false
  },
  {
   "name": "Helperknapp",
   "lau2": "0403",
   "canton": "Mersch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.1,
   "p25": 33.2,
   "p50": 35.3,
   "p95": 40.6,
   "max": 47.0,
   "mean": 35.6,
   "contrast": 7.4,
   "hot_pct": 7.2,
   "fill_pct": 2.4,
   "px": 40922,
   "pop": 5347,
   "p65": 753,
   "pct65": 14.1,
   "p75": 267,
   "pct75": 5.0,
   "heat_age_quadrant": false
  },
  {
   "name": "Larochette",
   "lau2": "0406",
   "canton": "Mersch",
   "day": "2026-06-24",
   "comparable_group": "24_juin",
   "partial_coverage": false,
   "p05": 32.0,
   "p25": 32.9,
   "p50": 33.9,
   "p95": 40.4,
   "max": 45.2,
   "mean": 34.9,
   "contrast": 7.5,
   "hot_pct": 6.1,
   "fill_pct": 0.0,
   "px": 17130,
   "pop": 2230,
   "p65": 331,
   "pct65": 14.8,
   "p75": 128,
   "pct75": 5.7,
   "heat_age_quadrant": false
  },
  {
   "name": "Käerjeng",
   "lau2": "0104",
   "canton": "Capellen",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 26.3,
   "p25": 31.6,
   "p50": 35.2,
   "p95": 40.3,
   "max": 48.2,
   "mean": 34.3,
   "contrast": 8.6,
   "hot_pct": 6.5,
   "fill_pct": 85.5,
   "px": 30949,
   "pop": 11406,
   "p65": 2218,
   "pct65": 19.4,
   "p75": 1012,
   "pct75": 8.9,
   "heat_age_quadrant": false
  },
  {
   "name": "Useldange",
   "lau2": "0708",
   "canton": "Redange",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 29.0,
   "p25": 33.6,
   "p50": 35.9,
   "p95": 40.2,
   "max": 44.9,
   "mean": 35.5,
   "contrast": 6.6,
   "hot_pct": 6.0,
   "fill_pct": 99.6,
   "px": 19069,
   "pop": 2168,
   "p65": 333,
   "pct65": 15.4,
   "p75": 120,
   "pct75": 5.5,
   "heat_age_quadrant": false
  },
  {
   "name": "Steinfort",
   "lau2": "0110",
   "canton": "Capellen",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 25.8,
   "p25": 32.9,
   "p50": 36.0,
   "p95": 39.8,
   "max": 43.4,
   "mean": 34.6,
   "contrast": 6.8,
   "hot_pct": 4.0,
   "fill_pct": 96.4,
   "px": 13050,
   "pop": 6153,
   "p65": 1156,
   "pct65": 18.8,
   "p75": 470,
   "pct75": 7.6,
   "heat_age_quadrant": false
  },
  {
   "name": "Garnich",
   "lau2": "0102",
   "canton": "Capellen",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 27.4,
   "p25": 32.9,
   "p50": 35.3,
   "p95": 39.4,
   "max": 42.8,
   "mean": 34.7,
   "contrast": 6.5,
   "hot_pct": 2.7,
   "fill_pct": 51.6,
   "px": 11938,
   "pop": 2497,
   "p65": 391,
   "pct65": 15.7,
   "p75": 152,
   "pct75": 6.1,
   "heat_age_quadrant": false
  },
  {
   "name": "Kiischpelt",
   "lau2": "0805",
   "canton": "Wiltz",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 24.3,
   "p25": 26.6,
   "p50": 29.1,
   "p95": 39.3,
   "max": 45.7,
   "mean": 30.2,
   "contrast": 12.7,
   "hot_pct": 3.8,
   "fill_pct": 100.0,
   "px": 33472,
   "pop": 1300,
   "p65": 196,
   "pct65": 15.1,
   "p75": 68,
   "pct75": 5.2,
   "heat_age_quadrant": false
  },
  {
   "name": "Redange/Attert",
   "lau2": "0706",
   "canton": "Redange",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 26.0,
   "p25": 30.7,
   "p50": 34.1,
   "p95": 39.0,
   "max": 42.0,
   "mean": 33.5,
   "contrast": 8.3,
   "hot_pct": 1.3,
   "fill_pct": 100.0,
   "px": 23967,
   "pop": 3170,
   "p65": 624,
   "pct65": 19.7,
   "p75": 321,
   "pct75": 10.1,
   "heat_age_quadrant": false
  },
  {
   "name": "Beckerich",
   "lau2": "0701",
   "canton": "Redange",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 25.0,
   "p25": 28.1,
   "p50": 34.1,
   "p95": 38.9,
   "max": 42.7,
   "mean": 32.7,
   "contrast": 10.8,
   "hot_pct": 1.4,
   "fill_pct": 100.0,
   "px": 23963,
   "pop": 2921,
   "p65": 503,
   "pct65": 17.2,
   "p75": 184,
   "pct75": 6.3,
   "heat_age_quadrant": false
  },
  {
   "name": "Saeul",
   "lau2": "0707",
   "canton": "Redange",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 25.1,
   "p25": 27.9,
   "p50": 33.2,
   "p95": 38.8,
   "max": 41.6,
   "mean": 32.4,
   "contrast": 10.9,
   "hot_pct": 0.8,
   "fill_pct": 78.3,
   "px": 12002,
   "pop": 1068,
   "p65": 119,
   "pct65": 11.1,
   "p75": 38,
   "pct75": 3.6,
   "heat_age_quadrant": false
  },
  {
   "name": "Mertzig",
   "lau2": "0607",
   "canton": "Diekirch",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 25.3,
   "p25": 28.2,
   "p50": 32.3,
   "p95": 38.7,
   "max": 43.9,
   "mean": 31.9,
   "contrast": 10.5,
   "hot_pct": 2.5,
   "fill_pct": 86.9,
   "px": 8297,
   "pop": 2420,
   "p65": 369,
   "pct65": 15.2,
   "p75": 146,
   "pct75": 6.0,
   "heat_age_quadrant": false
  },
  {
   "name": "Wiltz",
   "lau2": "0807",
   "canton": "Wiltz",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 24.1,
   "p25": 26.5,
   "p50": 29.6,
   "p95": 38.6,
   "max": 46.2,
   "mean": 30.4,
   "contrast": 12.1,
   "hot_pct": 1.8,
   "fill_pct": 100.0,
   "px": 31072,
   "pop": 8599,
   "p65": 1249,
   "pct65": 14.5,
   "p75": 541,
   "pct75": 6.3,
   "heat_age_quadrant": false
  },
  {
   "name": "Ell",
   "lau2": "0703",
   "canton": "Redange",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 25.2,
   "p25": 28.3,
   "p50": 32.9,
   "p95": 38.4,
   "max": 42.5,
   "mean": 32.2,
   "contrast": 10.1,
   "hot_pct": 1.1,
   "fill_pct": 100.0,
   "px": 23780,
   "pop": 1678,
   "p65": 258,
   "pct65": 15.4,
   "p75": 98,
   "pct75": 5.8,
   "heat_age_quadrant": false
  },
  {
   "name": "Vichten",
   "lau2": "0709",
   "canton": "Redange",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 27.4,
   "p25": 31.7,
   "p50": 34.2,
   "p95": 38.2,
   "max": 41.3,
   "mean": 33.7,
   "contrast": 6.5,
   "hot_pct": 0.4,
   "fill_pct": 53.9,
   "px": 5605,
   "pop": 1447,
   "p65": 209,
   "pct65": 14.4,
   "p75": 80,
   "pct75": 5.5,
   "heat_age_quadrant": false
  },
  {
   "name": "Feulen",
   "lau2": "0606",
   "canton": "Diekirch",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 25.3,
   "p25": 26.9,
   "p50": 30.1,
   "p95": 38.1,
   "max": 43.7,
   "mean": 30.8,
   "contrast": 11.2,
   "hot_pct": 1.0,
   "fill_pct": 51.0,
   "px": 11216,
   "pop": 2445,
   "p65": 379,
   "pct65": 15.5,
   "p75": 150,
   "pct75": 6.1,
   "heat_age_quadrant": false
  },
  {
   "name": "Habscht",
   "lau2": "0103",
   "canton": "Capellen",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 24.4,
   "p25": 26.4,
   "p50": 29.3,
   "p95": 38.1,
   "max": 43.8,
   "mean": 30.2,
   "contrast": 11.7,
   "hot_pct": 1.2,
   "fill_pct": 74.0,
   "px": 22616,
   "pop": 5307,
   "p65": 837,
   "pct65": 15.8,
   "p75": 334,
   "pct75": 6.3,
   "heat_age_quadrant": false
  },
  {
   "name": "Préizerdaul",
   "lau2": "0702",
   "canton": "Redange",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 25.0,
   "p25": 27.1,
   "p50": 31.7,
   "p95": 37.5,
   "max": 41.8,
   "mean": 31.3,
   "contrast": 10.4,
   "hot_pct": 0.4,
   "fill_pct": 100.0,
   "px": 8130,
   "pop": 1803,
   "p65": 294,
   "pct65": 16.3,
   "p75": 98,
   "pct75": 5.4,
   "heat_age_quadrant": false
  },
  {
   "name": "Winseler",
   "lau2": "0808",
   "canton": "Wiltz",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 23.2,
   "p25": 25.0,
   "p50": 28.1,
   "p95": 37.4,
   "max": 42.4,
   "mean": 29.0,
   "contrast": 12.4,
   "hot_pct": 1.1,
   "fill_pct": 100.0,
   "px": 13549,
   "pop": 1608,
   "p65": 314,
   "pct65": 19.5,
   "p75": 142,
   "pct75": 8.8,
   "heat_age_quadrant": false
  },
  {
   "name": "Goesdorf",
   "lau2": "0804",
   "canton": "Wiltz",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 24.4,
   "p25": 26.0,
   "p50": 28.2,
   "p95": 37.3,
   "max": 40.0,
   "mean": 29.4,
   "contrast": 11.3,
   "hot_pct": 0.0,
   "fill_pct": 100.0,
   "px": 19488,
   "pop": 1688,
   "p65": 243,
   "pct65": 14.4,
   "p75": 88,
   "pct75": 5.2,
   "heat_age_quadrant": false
  },
  {
   "name": "Boulaide",
   "lau2": "0801",
   "canton": "Wiltz",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 23.6,
   "p25": 25.7,
   "p50": 29.2,
   "p95": 37.3,
   "max": 40.7,
   "mean": 29.8,
   "contrast": 11.7,
   "hot_pct": 0.1,
   "fill_pct": 100.0,
   "px": 15560,
   "pop": 1560,
   "p65": 264,
   "pct65": 16.9,
   "p75": 100,
   "pct75": 6.4,
   "heat_age_quadrant": false
  },
  {
   "name": "Esch-sur-Sûre",
   "lau2": "0802",
   "canton": "Wiltz",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 23.8,
   "p25": 25.7,
   "p50": 29.0,
   "p95": 37.1,
   "max": 42.2,
   "mean": 29.6,
   "contrast": 11.5,
   "hot_pct": 0.5,
   "fill_pct": 100.0,
   "px": 29918,
   "pop": 3395,
   "p65": 482,
   "pct65": 14.2,
   "p75": 189,
   "pct75": 5.6,
   "heat_age_quadrant": false
  },
  {
   "name": "Rambrouch",
   "lau2": "0704",
   "canton": "Redange",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 23.7,
   "p25": 25.6,
   "p50": 29.4,
   "p95": 36.4,
   "max": 41.9,
   "mean": 29.6,
   "contrast": 10.8,
   "hot_pct": 0.1,
   "fill_pct": 100.0,
   "px": 57659,
   "pop": 5109,
   "p65": 796,
   "pct65": 15.6,
   "p75": 316,
   "pct75": 6.2,
   "heat_age_quadrant": false
  },
  {
   "name": "Groussbus-Wal",
   "lau2": "0711",
   "canton": "Redange",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 24.2,
   "p25": 26.8,
   "p50": 30.1,
   "p95": 36.2,
   "max": 40.5,
   "mean": 30.0,
   "contrast": 9.4,
   "hot_pct": 0.0,
   "fill_pct": 100.0,
   "px": 22911,
   "pop": 2387,
   "p65": 334,
   "pct65": 14.0,
   "p75": 129,
   "pct75": 5.4,
   "heat_age_quadrant": false
  },
  {
   "name": "Lac de la Haute-Sûre",
   "lau2": "0806",
   "canton": "Wiltz",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 23.4,
   "p25": 25.2,
   "p50": 28.1,
   "p95": 36.1,
   "max": 42.8,
   "mean": 28.9,
   "contrast": 10.9,
   "hot_pct": 0.2,
   "fill_pct": 100.0,
   "px": 20175,
   "pop": 2377,
   "p65": 400,
   "pct65": 16.8,
   "p75": 159,
   "pct75": 6.7,
   "heat_age_quadrant": false
  },
  {
   "name": "Wincrange",
   "lau2": "0502",
   "canton": "Clervaux",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 23.5,
   "p25": 27.0,
   "p50": 30.2,
   "p95": 35.8,
   "max": 51.3,
   "mean": 29.9,
   "contrast": 8.9,
   "hot_pct": 0.2,
   "fill_pct": 100.0,
   "px": 77638,
   "pop": 5023,
   "p65": 843,
   "pct65": 16.8,
   "p75": 321,
   "pct75": 6.4,
   "heat_age_quadrant": false
  },
  {
   "name": "Clervaux",
   "lau2": "0501",
   "canton": "Clervaux",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 23.9,
   "p25": 25.5,
   "p50": 28.5,
   "p95": 35.6,
   "max": 43.2,
   "mean": 28.9,
   "contrast": 10.0,
   "hot_pct": 0.4,
   "fill_pct": 98.6,
   "px": 56913,
   "pop": 6387,
   "p65": 1103,
   "pct65": 17.3,
   "p75": 469,
   "pct75": 7.3,
   "heat_age_quadrant": false
  },
  {
   "name": "Troisvierges",
   "lau2": "0504",
   "canton": "Clervaux",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 22.0,
   "p25": 24.6,
   "p50": 27.0,
   "p95": 32.9,
   "max": 39.6,
   "mean": 27.1,
   "contrast": 8.4,
   "hot_pct": 0.0,
   "fill_pct": 100.0,
   "px": 11739,
   "pop": 3709,
   "p65": 627,
   "pct65": 16.9,
   "p75": 233,
   "pct75": 6.3,
   "heat_age_quadrant": false
  },
  {
   "name": "Weiswampach",
   "lau2": "0505",
   "canton": "Clervaux",
   "day": "2026-07-01",
   "comparable_group": "ouest_1er_juillet",
   "partial_coverage": false,
   "p05": 23.6,
   "p25": 25.6,
   "p50": 27.9,
   "p95": 32.8,
   "max": 42.0,
   "mean": 27.9,
   "contrast": 7.1,
   "hot_pct": 0.1,
   "fill_pct": 100.0,
   "px": 21685,
   "pop": 2746,
   "p65": 448,
   "pct65": 16.3,
   "p75": 165,
   "pct75": 6.0,
   "heat_age_quadrant": false
  }
 ]
}