Climate and environment
Rainy days per year
Mean number of days per year with measurable precipitation, over the stated climate normal period. The precipitation threshold is recorded on each observation.
- Cities compared
- 36
- Median
- 141.4 d/yr
- Lowest · Valencia
- 62.1 d/yr
- Highest · Salzburg
- 202.7 d/yr
The reference is the median of the 36 cities published here, not a European average. Eurostat's EU aggregates are not collected yet, and deriving one from these cities would invent a figure no source publishes.
Ordered lowest to highest
This measure states no direction, because readers of this site want opposite things from it. The order is lowest to highest and nothing here says which end is better — that is yours to decide.
Every value is published at the same geographic level: Point. Period 1991-2020. Confidence confidence grade B throughout.
- Position1ValenciaSpain
62.1 d/yr
Valencia city point · [1] - Position2LisbonPortugal
82.0 d/yr
Lisbon city point · [2] - Position3BarcelonaSpain
91.9 d/yr
Barcelona city point · [3] - Position4BolognaItaly
108.6 d/yr
Bologna city point · [4] - Position5PortoPortugal
118.7 d/yr
Porto city point · [5] - Position6BratislavaSlovakia
120.1 d/yr
Bratislava city point · [6] - Position7MilanItaly
123.3 d/yr
Milan city point · [7] - Position8ViennaAustria
125.1 d/yr
Vienna city point · [8] - Position9ZagrebCroatia
127.2 d/yr
Zagreb city point · [9] - Position10SplitCroatia
127.3 d/yr
Split city point · [10] - Position11StockholmSweden
128.3 d/yr
Stockholm city point · [11] - Position12BerlinGermany
135.6 d/yr
Berlin city point · [12] - Position13PragueCzechia
136.6 d/yr
Prague city point · [13] - Position14ParisFrance
137.5 d/yr
Paris city point · [14] - Position15WarsawPoland
138.5 d/yr
Warsaw city point · [15] - Position16GrazAustria
138.8 d/yr
Graz city point · [16] - Position17WrocławPoland
139.6 d/yr
Wrocław city point · [17] - Position18TampereFinland
139.9 d/yr
Tampere city point · [18] - Position19OsloNorway
142.9 d/yr
Oslo city point · [19] - Position20GdańskPoland
143.6 d/yr
Gdańsk city point · [20] - Position21HelsinkiFinland
144.0 d/yr
Helsinki city point · [21] - Position22CopenhagenDenmark
144.3 d/yr
Copenhagen city point · [22] - Position23TallinnEstonia
145.2 d/yr
Tallinn city point · [23] - Position24LjubljanaSlovenia
146.0 d/yr
Ljubljana city point · [24] - Position25LyonFrance
146.8 d/yr
Lyon city point · [25] - Position26VilniusLithuania
151.5 d/yr
Vilnius city point · [26] - Position27Luxembourg CityLuxembourg
151.8 d/yr
Luxembourg City city point · [27] - Position28HamburgGermany
152.9 d/yr
Hamburg city point · [28] - Position29BrusselsBelgium
155.7 d/yr
Brussels city point · [29] - Position30UtrechtNetherlands
159.2 d/yr
Utrecht city point · [30] - Position31AmsterdamNetherlands
160.8 d/yr
Amsterdam city point · [31] - Position32ZurichSwitzerland
163.4 d/yr
Zurich city point · [32] - Position33The HagueNetherlands
167.6 d/yr
The Hague city point · [33] - Position34MunichGermany
169.4 d/yr
Munich city point · [34] - Position35DublinIreland
169.9 d/yr
Dublin city point · [35] - Position36SalzburgAustria
202.7 d/yr
Salzburg city point · [36]
Each bar grows from the median towards the side its value falls on. The two halves are scaled independently, so the lowest and highest values reach their ends even when the spread is uneven: a bar's length is comparable with others on the same side of the median, not across it.
How this measure is built
- Definition
- Mean number of days per year with measurable precipitation, over the stated climate normal period. The precipitation threshold is recorded on each observation.
- Calculation
- count of local days with total precipitation of at least 1 mm, averaged across the 30 complete years in 1991-2020
- Position
- The median, the gap and the rank are arithmetic over the values in this table and can be recomputed from it. They are not a score, carry no weighting, and combine with nothing else on the site.Read the method
36 referencesEvery figure's exact source query
Copernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, valencia. Valencia city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 39.4700,-0.3800; nearest grid point 39.5000,-0.4000; variables 2m_temperature, total_precipitation; local days in Europe/MadridCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, lisbon. Lisbon city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 38.7200,-9.1400; nearest grid point 38.7000,-9.1000; variables 2m_temperature, total_precipitation; local days in Europe/LisbonCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, barcelona. Barcelona city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 41.3900,2.1700; nearest grid point 41.4000,2.1000; variables 2m_temperature, total_precipitation; local days in Europe/MadridCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, bologna. Bologna city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 44.4900,11.3400; nearest grid point 44.5000,11.3000; variables 2m_temperature, total_precipitation; local days in Europe/RomeCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, porto. Porto city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 41.1600,-8.6300; nearest grid point 41.2000,-8.6000; variables 2m_temperature, total_precipitation; local days in Europe/LisbonCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, bratislava. Bratislava city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 48.1500,17.1100; nearest grid point 48.1000,17.1000; variables 2m_temperature, total_precipitation; local days in Europe/BratislavaCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, milan. Milan city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 45.4700,9.1800; nearest grid point 45.5000,9.2000; variables 2m_temperature, total_precipitation; local days in Europe/RomeCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, vienna. Vienna city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 48.2100,16.3700; nearest grid point 48.2000,16.4000; variables 2m_temperature, total_precipitation; local days in Europe/ViennaCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, zagreb. Zagreb city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 45.8200,15.9800; nearest grid point 45.8000,16.0000; variables 2m_temperature, total_precipitation; local days in Europe/ZagrebCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, split. Split city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 43.5100,16.4400; nearest grid point 43.6000,16.5000; variables 2m_temperature, total_precipitation; local days in Europe/ZagrebCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, stockholm. Stockholm city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 59.3300,18.0700; nearest grid point 59.3000,18.1000; variables 2m_temperature, total_precipitation; local days in Europe/StockholmCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, berlin. Berlin city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 52.5200,13.4000; nearest grid point 52.5000,13.4000; variables 2m_temperature, total_precipitation; local days in Europe/BerlinCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, prague. Prague city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 50.0800,14.4400; nearest grid point 50.1000,14.4000; variables 2m_temperature, total_precipitation; local days in Europe/PragueCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, paris. Paris city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 48.8600,2.3500; nearest grid point 48.9000,2.3000; variables 2m_temperature, total_precipitation; local days in Europe/ParisCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, warsaw. Warsaw city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 52.2300,21.0100; nearest grid point 52.2000,21.0000; variables 2m_temperature, total_precipitation; local days in Europe/WarsawCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, graz. Graz city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 47.0700,15.4400; nearest grid point 47.1000,15.4000; variables 2m_temperature, total_precipitation; local days in Europe/ViennaCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, wroclaw. Wrocław city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 51.1100,17.0400; nearest grid point 51.1000,17.0000; variables 2m_temperature, total_precipitation; local days in Europe/WarsawCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, tampere. Tampere city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 61.5000,23.7500; nearest grid point 61.5000,23.7000; variables 2m_temperature, total_precipitation; local days in Europe/HelsinkiCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, oslo. Oslo city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 59.9100,10.7300; nearest grid point 59.9000,10.7000; variables 2m_temperature, total_precipitation; local days in Europe/OsloCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, gdansk. Gdańsk city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 54.3500,18.6500; nearest grid point 54.3000,18.7000; variables 2m_temperature, total_precipitation; local days in Europe/WarsawCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, helsinki. Helsinki city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 60.1700,24.9400; nearest grid point 60.2000,24.9000; variables 2m_temperature, total_precipitation; local days in Europe/HelsinkiCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, copenhagen. Copenhagen city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 55.6800,12.5700; nearest grid point 55.7000,12.5000; variables 2m_temperature, total_precipitation; local days in Europe/CopenhagenCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, tallinn. Tallinn city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 59.4400,24.7500; nearest grid point 59.4000,24.7000; variables 2m_temperature, total_precipitation; local days in Europe/TallinnCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, ljubljana. Ljubljana city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 46.0600,14.5100; nearest grid point 46.1000,14.5000; variables 2m_temperature, total_precipitation; local days in Europe/LjubljanaCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, lyon. Lyon city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 45.7600,4.8400; nearest grid point 45.8000,4.8000; variables 2m_temperature, total_precipitation; local days in Europe/ParisCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, vilnius. Vilnius city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 54.6900,25.2800; nearest grid point 54.7000,25.3000; variables 2m_temperature, total_precipitation; local days in Europe/VilniusCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, luxembourg_city. Luxembourg City city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 49.6100,6.1300; nearest grid point 49.6000,6.1000; variables 2m_temperature, total_precipitation; local days in Europe/LuxembourgCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, hamburg. Hamburg city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 53.5500,9.9900; nearest grid point 53.5000,10.0000; variables 2m_temperature, total_precipitation; local days in Europe/BerlinCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, brussels. Brussels city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 50.8500,4.3600; nearest grid point 50.8000,4.4000; variables 2m_temperature, total_precipitation; local days in Europe/BrusselsCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, utrecht. Utrecht city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 52.0900,5.1200; nearest grid point 52.1000,5.1000; variables 2m_temperature, total_precipitation; local days in Europe/AmsterdamCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, amsterdam. Amsterdam city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 52.3700,4.9000; nearest grid point 52.4000,4.9000; variables 2m_temperature, total_precipitation; local days in Europe/AmsterdamCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, zurich. Zurich city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 47.3800,8.5400; nearest grid point 47.4000,8.5000; variables 2m_temperature, total_precipitation; local days in Europe/ZurichCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, the_hague. The Hague city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 52.0700,4.3000; nearest grid point 52.1000,4.3000; variables 2m_temperature, total_precipitation; local days in Europe/AmsterdamCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, munich. Munich city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 48.1400,11.5800; nearest grid point 48.1000,11.6000; variables 2m_temperature, total_precipitation; local days in Europe/BerlinCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, dublin. Dublin city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 53.3500,-6.2600; nearest grid point 53.3000,-6.3000; variables 2m_temperature, total_precipitation; local days in Europe/DublinCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, salzburg. Salzburg city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 47.8000,13.0400; nearest grid point 47.8000,13.0000; variables 2m_temperature, total_precipitation; local days in Europe/Vienna