Sunshine Map

How the Sunshine Score works

One number, 0–100, for how good a destination's sunshine is in a given month. I compute it the same way for every place on the atlas, from long-term climate normals — not forecasts.

The formula

For each destination and month I combine three ingredients:

Score = 100 × warmth × (0.5 + 0.5 × (0.55 × dryness + 0.45 × sunniness)). Warmth multiplies the whole score, so a freezing month scores zero no matter how clear the sky.

What's on the atlas

Every destination on Sunshine Map has its own airport — that is the selection rule. The atlas maps the world's 3,833 metro-primary airports (one per metropolitan area: London appears once, not five times), so every dot on the globe and every ranking entry is a place you can actually fly to. No viewpoints, no unreachable idylls — real, bookable destinations.

What the score is not

It isn't a weather forecast, and it's deliberately opinionated — my opinion, encoded: a 41 °C August scores low because standing in it is no fun, and a gloriously clear −5 °C ski morning scores zero because this is a sunshine atlas, not a snow one. If you'd weigh things differently, the raw data is free — score it your way.

Data sources

How accurate are the sunshine hours?

I check them against 410 cities where a national met service publishes a real, recorder-measured figure. Across those: correlation 0.92, mean absolute error 212 hours a year, and a bias of +24 hours — so on average the model neither over- nor under-reads, and a typical city lands within about 9% of its published figure.

The errors are not evenly spread, and it's worth knowing where they bite. A sunshine recorder only counts direct beam above about 120 W/m² and deliberately ignores scattered light; a satellite sees the scattered light too. So wherever a persistent low cloud deck or a dust haze sits under the satellite's view, the model reads high — Lima, whose famous garúa stratus it misses almost entirely, and Cape Verde, which is a hazy trade-wind archipelago rather than the clear desert its latitude suggests, are both roughly 35–40% over. In the permanently-overcast Sichuan basin it reads low. This is a well-documented limitation of satellite-derived sunshine rather than anything peculiar to this atlas (Kothe et al. 2017, Remote Sensing 9(5), 429).

Where I think the model is simply wrong: the continental Arctic. Above the Arctic Circle it returns a median of about 2,130 hours a year, which is more than it gives the 55–66° band beneath it and more than much of the mid-latitudes; 42 of the 73 destinations up there come out over 2,000 hours. That ordering is not physically plausible, and the split within it is the clue: the maritime sub-Arctic looks right (Iceland around 1,320, coastal Norway around 1,425) while the dry continental Arctic inflates badly (Canada around 2,280, Alaska around 2,060, Russia around 1,950). My working explanation is snow and sea-ice albedo defeating the clearness retrieval — bright ground read as clear sky — but that is a hypothesis, not something I have demonstrated. What I can demonstrate is that the check above barely reaches this group: exactly one of those 73 destinations has a published figure to compare against, and the two high-latitude cities that do have one both fail the same way and by almost the same amount (Tromsø 1,713 against a published 1,265; Iqaluit 1,936 against 1,477). So the 212-hour error above is measured almost entirely at mid-latitudes and does not describe the far north. Treat sunshine hours for inland places above roughly 60°N as unreliable and probably too high. Temperature, rainfall and the Sunshine Score's warmth term are unaffected; this is a sunshine-hours problem specifically.

The United States is the largest disagreement in the whole check, and it is one-sided. Against the 52 US cities that publish a recorder-measured figure the model runs 213 hours low (mean absolute error 230 hours), and 47 of the 52 — 90% — come out below their published number. The +24-hour headline bias above is a global average that hides this: outside the US the same model runs +69 hours. The size of the miss scales with moisture (correlation −0.56 with annual rainfall), so the arid West is close — Boise is 4 hours off, El Paso 13 — while the humid East is not: Milwaukee −534, Miami −501, Boston −477, Cleveland −460.

The obvious explanation is that a sunshine recorder counts the beam between fair-weather cumulus that a coarse satellite cell averages away. I no longer think that is the main cause, because the same climate bands outside the US barely show it: humid-subtropical cities are −249 hours in the US and −18 hours everywhere else, hot-summer-continental −357 against −78. Cloud physics does not stop at a border, so an asymmetry that large points at the reference data rather than at the model. The published US sunshine figures descend largely from NOAA's historical sunshine network, which was already down to roughly 160 stations by the early 1980s and is no longer maintained as a current product — so this may be a 2001–2020 satellite climatology being scored against a mostly pre-1980 recorder climatology, on instruments known to over-read. China (−175) and Japan (−133) are the next-largest one-sided disagreements, which is consistent with a reference-data story rather than a climate one. I have not resolved it. Until I do, treat US sunshine hours as carrying roughly a 200-hour uncertainty on top of everything else here, and prefer the station figure where one exists. Comparisons still hold up: rankings within the atlas use one consistent method throughout, and the Europe-versus-US gap survives being recomputed entirely from published station numbers.

Gridded normals also can't capture microclimates, and a single cell can average a coastline together with a mountain. Treat the scores as a comparison tool and the tables as long-term averages rather than guarantees.

Want the numbers themselves? Download the full dataset — every destination and month as CSV/JSON, free under CC BY 4.0.

Back to the sunshine globe →