How we calculate sunshine for every place in Switzerland
Swiss Sun gives the hours of direct sunshine at any Swiss address: by day, month and year. The numbers combine what MeteoSwiss measured over 30 years, clouds and fog included, with the terrain around every point, mountain shade included.
Clouds, fog and mountain shade, all included
Clouds and fog are in the measurements. MeteoSwiss maps sunshine on a 1 km grid from about 70 weather stations and satellite images of the clouds, so fog that sits in a valley all winter shows up as missing sun. In December Zurich, under the Swiss Plateau's fog, gets 1.4 hours of sun a day; Crans-Montana, above it, gets 3.8.
Mountain shade is what we add. A clear sky doesn't help if a mountain stands between you and the sun. Mountains around Zermatt block about 880 hours of sunshine a year, and around Engelberg about 520. Every sunshine figure on Swiss Sun has this shade taken off.
What we add to MeteoSwiss data
MeteoSwiss's 1 km sunshine map gives a share of the possible maximum: 45% of the time the sun could shine, for example. That share alone doesn't tell you how many hours you get, because the possible maximum depends on the mountains around each place, and one 1 km cell can span a sunny slope and a shaded valley floor.
So we calculate the possible maximum for every point in the country, 200 m apart. From swisstopo's terrain model we trace the horizon in 36 directions, out to 60 km, with the Earth's curvature. Then we follow the sun's path every 5 minutes of the year and count the time it is above that horizon. Hours of sunshine are MeteoSwiss's share times this possible maximum. The same horizon gives the times of day when direct sun reaches a place, month by month.
And we make it easy to look up. MeteoSwiss publishes its climate data as maps and data files; you can't type in an address and get its hours of sunshine. On Swiss Sun you search for any address, street or town, or tap the map, and get its sunshine hours by day, month and year, with the times of direct sun and the nearest weather station's measurements.
We looked for a map that gives real sunshine hours, with fog and mountain shade, for any Swiss address, and didn't find one. Weather services publish shares and station data, terrain maps show the mountains, but we found no one who had combined the two. That's why we built Swiss Sun.
What counts as sunshine
We use MeteoSwiss's definition: it's sunshine when the sun's direct beam delivers more than 200 watts per square metre. That's roughly 20000 lux of direct light, enough to cast sharp shadows. Full summer sun at midday is around 100000 lux. Thin haze still counts; a sun you can look at through cloud doesn't. (The World Meteorological Organization's international definition uses a lower bar, 120 watts per square metre.)
A low sun shines through more air, so just above the horizon its beam stays under the threshold. We count the sun from 4.2° above a flat horizon at sea level, and lower in the mountains, where the air is thinner (1.8° less per 1000 m). We fitted this on weather stations with an open view.
How accurate it is
We compared our hours with the sunshine measured at 65 MeteoSwiss weather stations: all those with at least 20 years of sunshine records between 1991 and 2020.
- The hours we calculate are on average 2.8% off the hours measured (median 2.1%). 52 stations are within 5%, and all but one within 10%.
- The possible maximum, the part we calculate ourselves, is on average within 1.4% of MeteoSwiss's own figure for each station.
- A 1 km map can't match every single point: MeteoSwiss's map itself differs from the stations' measurements by 2.5% on average. So we are close to the limit the data allows.
- Without mountain shade the error would be 13.6% on average, and up to 49% in deep valleys.
- The largest error is at the Great St Bernard Pass (11%), a narrow pass that 200 m terrain smooths out.
Two caveats: the stations also feed MeteoSwiss's map, and we fitted the low-sun threshold on some of them. Away from the stations the error is likely somewhat larger.
Sunshine first, not temperature
The ranking of the sunniest towns counts hours of sunshine and nothing else. Temperature and rain are on every town page, but they don't change the order. Crans-Montana, at 1503 m, averages 6.3 °C, 6.6 degrees colder than Lugano. It still ranks first, with about 2220 hours of sunshine a year against Lugano's 2090. In winter, mountain resorts above the fog often get more sun than the towns on the Swiss Plateau.
Renting or buying a home in Switzerland
Sunshine is hard to judge on a viewing. Two flats a few hundred metres apart can differ by hundreds of hours a year: one on the sunny side of the valley, one in the shade of a mountain or in a fog basin. Look up the address before you sign a lease or make an offer, and check when direct sun arrives in winter.
Limits
- Shade from buildings and trees isn't included.
- MeteoSwiss's data is monthly, so a valley side with morning fog and one with clear mornings look the same over a month.
- The numbers are 30-year averages, not a forecast. Single years vary.
Data sources
- MeteoSwiss: climate normals 1991–2020 on a 1 km grid (relative sunshine from stations and satellite data, temperature, precipitation), solar radiation 2004–2020, and station data from the SwissMetNet network.
- swisstopo: terrain model DHM25/200 m, national border (swissBOUNDARIES3D), grey national map, address search and elevations.
- Copernicus DEM GLO-90 for the terrain beyond the border: © DLR e.V. 2010–2014 and © Airbus Defence and Space GmbH 2014–2018, provided under COPERNICUS by the European Union and ESA; all rights reserved.