{"title":"Lisbon and Porto: how monthly averages can hide hot days","version":"1.0","published_at":"2026-09-14","checked_at":"2026-09-14","temporal_coverage":"1991-01-01/2020-12-31","provider":"Instituto Português do Mar e da Atmosfera (IPMA)","methodology_url":"https://www.ipma.pt/en/oclima/normais.clima/1991-2020/","method":{"series":"Hybrid named-station normals: observed station data and locally modeled WRF data, homogenized; potential quality-control revisions.","inclusion":"Both complete IPMA Portugal station records with the 1991–2020 period and document version 1.0/2024 in the planning cohort.","excluded":[{"city":"Faro","reason":"NASA POWER regional gridded data for 2001–2020; different provider and period."}],"formulas":{"seasonalSpan":"max(mean) - min(mean)","monthsAbove20":"count(mean > 20)","monthsAbove30":"count(mean > 30)","summerHotDays":"sum(daysAtLeast30[5:8])"},"units":{"monthly_mean":"°C","seasonal_span":"°C","threshold_months":"calendar months","hot_days":"long-term average number of days"},"rounding":"Temperature spans and summed counts rounded to one decimal. Sums use published rounded monthly values, not exact provider annual statistics."},"limitations":["Two named stations, not a representative national sample or every neighborhood of either city.","Climate normals, not current weather or a forecast; monthly means do not measure daytime highs.","No inference of heatwave frequency, humidity, indoor comfort, future climate or relocation suitability.","Porto rounded monthly hot-day counts sum to 12.9; the provider annual column is 13.0. This study does not calculate annual counts."],"reuse":"XPATUS calculation and presentation of attributed IPMA data, not new observations. No new license is asserted for the underlying provider data; attribute IPMA and consult its reuse terms.","stations":[{"city":"Porto","station":"Porto / Pedras Rubras","source_url":"https://www.ipma.pt/bin/file.data/climate-normal/cn_91-20_PORTO_PEDRAS_RUBRAS.pdf","source_name":"IPMA","period":"1991–2020","source_version":"1.0/2024","checked_at":"2026-09-14","monthly":[{"month":1,"mean_celsius":10.2,"days_daily_max_at_least_30_celsius":0},{"month":2,"mean_celsius":10.9,"days_daily_max_at_least_30_celsius":0},{"month":3,"mean_celsius":12.9,"days_daily_max_at_least_30_celsius":0},{"month":4,"mean_celsius":14.1,"days_daily_max_at_least_30_celsius":0.1},{"month":5,"mean_celsius":16.3,"days_daily_max_at_least_30_celsius":1.1},{"month":6,"mean_celsius":18.6,"days_daily_max_at_least_30_celsius":2.5},{"month":7,"mean_celsius":19.9,"days_daily_max_at_least_30_celsius":3.1},{"month":8,"mean_celsius":20.2,"days_daily_max_at_least_30_celsius":3.5},{"month":9,"mean_celsius":19.2,"days_daily_max_at_least_30_celsius":2.2},{"month":10,"mean_celsius":16.8,"days_daily_max_at_least_30_celsius":0.4},{"month":11,"mean_celsius":13.1,"days_daily_max_at_least_30_celsius":0},{"month":12,"mean_celsius":11.1,"days_daily_max_at_least_30_celsius":0}],"metrics":{"lowestMonthlyMean":10.2,"highestMonthlyMean":20.2,"seasonalSpan":10,"monthsAbove20":1,"monthsAbove30":0,"summerHotDays":9.1}},{"city":"Lisbon","station":"Lisboa / Instituto Geofísico","source_url":"https://www.ipma.pt/bin/file.data/climate-normal/cn_91-20_LISBOA_GEOFISICO.pdf","source_name":"IPMA","period":"1991–2020","source_version":"1.0/2024","checked_at":"2026-09-14","monthly":[{"month":1,"mean_celsius":11.8,"days_daily_max_at_least_30_celsius":0},{"month":2,"mean_celsius":12.8,"days_daily_max_at_least_30_celsius":0},{"month":3,"mean_celsius":14.9,"days_daily_max_at_least_30_celsius":0},{"month":4,"mean_celsius":16.3,"days_daily_max_at_least_30_celsius":0.1},{"month":5,"mean_celsius":18.8,"days_daily_max_at_least_30_celsius":2.1},{"month":6,"mean_celsius":21.5,"days_daily_max_at_least_30_celsius":5.7},{"month":7,"mean_celsius":23.2,"days_daily_max_at_least_30_celsius":8.5},{"month":8,"mean_celsius":23.8,"days_daily_max_at_least_30_celsius":10.2},{"month":9,"mean_celsius":22.1,"days_daily_max_at_least_30_celsius":5.7},{"month":10,"mean_celsius":19.1,"days_daily_max_at_least_30_celsius":0.9},{"month":11,"mean_celsius":15,"days_daily_max_at_least_30_celsius":0},{"month":12,"mean_celsius":12.4,"days_daily_max_at_least_30_celsius":0}],"metrics":{"lowestMonthlyMean":11.8,"highestMonthlyMean":23.8,"seasonalSpan":12,"monthsAbove20":4,"monthsAbove30":0,"summerHotDays":24.4}}],"summer_hot_day_difference":15.3}