Tool 12 · Map · CHELSA + ERA5

Outdoor Hours Map — How Many Hours a Year It's Comfortable to Sit Outside

The Outdoor Hours Index (OHI v1) counts the hours per year — and per month — when it's comfortable to sit outside: not too hot, cold, wet, or windy. Apparent temperature is modeled at every half-hour of daylight from CHELSA temperature and ERA5 humidity and wind, then discounted for rain and sustained wind. Lisbon tops the published example set at 3,464 h/yr; Singapore, beaten by heat and humidity, manages 1,186 — 458th of the 478 cities in GeoRank's public dataset.

Most comfortable (example set)
3,464 h/yr
Lisbon, Portugal
Least comfortable (example set)
1,012 h/yr
Reykjavik — cold
Map scale
0–4,500 h/yr
Legend range · CHELSA + ERA5 1981–2010

How the Outdoor Hours Index is computed

Most "best climate for outdoor living" content online is a ranked listicle built on annual mean temperature alone — it says nothing about rain, wind, or how hot the hottest hours actually feel. OHI is built half-hour by half-hour instead. CHELSA 1981–2010 provides daily maximum and minimum temperature as a climatology at ~1 km resolution; OHI reconstructs a diurnal cycle from those two values using a sinusoidal day curve peaking at 14:30 solar time, then evaluates apparent temperature at every half-hour of daylight — sunrise to sunset, computed from latitude and time of year.

Each half-hourly reading becomes an apparent temperature: on the warm side, the Steadman apparent-temperature formula, which adds humidity (from ERA5 dewpoint) and subtracts wind; on the cold side, the NWS wind chill formula. The comfort band is 10–29°C apparent, treated probabilistically rather than as a hard cutoff — day-to-day variability of σ = 3.5°C means a reading right at the edge of the band counts as partially comfortable instead of flipping from fully counted to not counted at all. Hours lost to rain come from converting monthly rainfall totals to wet-hours at 1.5 mm/h, capped at 60% of any month's hours; hours lost to wind use the probability of hourly wind exceeding 30 km/h, modelled as a Weibull distribution over ERA5 monthly mean wind whose shape parameter rises with mean speed, and bias-corrected against 624 NOAA ISD hourly stations — a fixed Rayleigh shape, used until September 2026, under-charged calm cities roughly tenfold and over-charged windy ones.

🌳
Outdoor Hours — comfort index (OHI v1)
Modeled composite
●●●○
SourceCHELSA (temp) + ERA5 (humidity, wind)
Climatology1981–2010
Comfort band10–29°C apparent, probabilistic (σ=3.5°C)
Resolution~1 km temp · ~25 km humidity/wind
Rain discount1.5 mm/h wet-hour rate · capped 60%/month
Wind discountWeibull P(wind > 30 km/h), ERA5 monthly mean, ISD-calibrated
Humidity and wind are ERA5 regional modifiers layered on top of a hyper-local CHELSA temperature base, so OHI is not uniformly hyper-local: nearby locations with different microclimates can share the same rain/wind discount even where temperature differs. The index draws on the Tourism Climate Index (Mieczkowski, 1985), the WMO-endorsed Universal Thermal Climate Index (UTCI), and Kelly Norton's Pleasant Days map (2014) as pedigree — GeoRank does not run the reference TCI or UTCI models, this is a simplified half-hourly "UTCI-lite" built for the map.
Full methodology →

Even a Mediterranean island loses hundreds of hours to cold

This is the Outdoor Hours layer over northern Sardinia, near Olbia and Arzachena, in relative mode — the green ramp is stretched to the current viewport rather than the fixed global scale, which is what makes local contrast pop. The pin reads 3,083 h/yr, rated "Excellent."

GeoRank app map over northern Sardinia showing the Outdoor Hours layer in relative mode with a green color ramp and a pin reading 3,083 hours per year rated Excellent, with a breakdown of hours lost to heat, cold, rain, and wind

GeoRank app, Outdoor Hours layer, relative color mode — northern Sardinia (Olbia/Arzachena area). Pin breakdown: lost to heat 158 h · cold 717 h · rain 137 h · wind 366 h.

Read the breakdown chip on that pin and cold is the single largest loss category — 717 hours, more than four times the 158 hours lost to heat. That's the value of decomposing the number instead of publishing one score: a warm-climate island still has winter mornings and evenings below the 10°C apparent-temperature floor, and the daylight hours in December and January outnumber the handful of July afternoons hot enough to fail the upper bound.

How to read an Outdoor Hours pin

Every pin shows an annual hours figure plus a four-way breakdown: hours lost to heat, cold, rain, and wind. Add the comfortable count back to the four loss categories and you get roughly the total daylight hours the model evaluates across the year — in the Sardinia example, 3,083 + 158 + 717 + 137 + 366 = 4,461, which lines up with the map's 0–4,500 h/yr legend range. The rating labels are fixed thresholds on that scale — Exceptional from 3,400 h/yr, Excellent from 2,800, Good from 2,200, Moderate from 1,600, Limited from 1,000, Very limited below that — so the Sardinia pin's 3,083 lands squarely in the Excellent band.

01
Absolute vs. relative color mode
Absolute mode fixes the color ramp to the global 0–4,500 h/yr scale, so any two pins anywhere on Earth are directly comparable. Relative mode stretches the ramp to whatever's currently on screen — better for spotting which corner of a single region is better than its neighbors, as in the Sardinia screenshot above.
02
Month scrubber
The annual figure is a sum of twelve monthly values. Drag the app's month scrubber to see which months carry the comfortable hours and which are eaten by heat, cold, rain, or wind — a Mediterranean island's loss is concentrated in winter; a Gulf city's loss concentrates in summer.
03
The four-way breakdown
Click any pin for hours lost to heat, cold, rain, and wind separately. Two locations with the same annual total can fail for completely different reasons — one loses hours to a hot, dry summer; another loses the same number of hours to a mild but wet and windy winter.
04
Legend note, always visible
The layer legend reads "Hours/yr comfortable to sit outside · CHELSA + ERA5 1981–2010" on every view — the source and reference period travel with the map instead of living only on this page.

Outdoor Hours worldwide: seven example cities

Computed from the 1981–2010 CHELSA + ERA5 climatology. Dubai fails the comfort band on heat; Singapore fails on heat combined with humidity; Reykjavik fails on cold — three different climates, three different failure modes, one comparable number. Singapore and Reykjavik land within 174 hours of each other from opposite ends of the thermometer. Figures are the sum of the twelve monthly out values in the 2026-09-06 build of cities-tools.json.

🌳 Outdoor Hours — example cities (annual, calibrated climatology)
  • 1Lisbon, Portugal3,464 h/yr
  • 2Sydney, Australia3,387 h/yr
  • 3Vancouver, Canada2,351 h/yr
  • 4Manchester, UK1,991 h/yr
  • 5Dubai, UAE1,704 h/yr
  • 6Singapore1,186 h/yr
  • 7Reykjavik, Iceland1,012 h/yr

Sunshine hours barely predict outdoor comfort (r = 0.24, n = 478)

Across all 478 cities in GeoRank's public city dataset, annual sunshine hours and annual comfortable outdoor hours correlate at r = 0.24 (95% CI 0.15–0.32) — sunshine accounts for roughly 6% of the variance in how many hours a year it is actually comfortable to be outside. The extremes make the point on their own. Lima, Peru is the least sunny city in the dataset at 1,165 sunshine hours a year — fewer than any of the other 477 — and it ranks first for outdoor comfort at 4,029 hours. Phoenix is the sunniest at 3,871 hours and ranks 209th. Bangkok gets 2.4× Lima's sunshine and one sixth of its comfortable hours.

City Sunshine h/yr Sun rank Comfortable h/yr Comfort rank
Lima, Peru1,1654784,0291
San Diego, USA3,008553,9452
Nairobi, Kenya2,5321573,8713
Málaga, Spain2,936693,49021
Cuenca, Ecuador1,9713003,35838
Las Vegas, USA3,83422,679113
Phoenix, USA3,87112,372209
Kuala Lumpur, Malaysia2,392197721472
Bangkok, Thailand2,79197654474

The reason sits in the loss breakdown. Outdoor Hours is scored on apparent temperature — the Steadman formula adds humidity and subtracts wind — so a place fails on how the air feels, not on how much sun reaches the ground. Bangkok's hottest month averages a daily high of 34.9°C against Phoenix's 42.3°C, yet Bangkok loses 3,722 hours a year to heat where Phoenix loses 1,682. Humid heat pushes apparent temperature past the 29°C ceiling for most of the daylight year even where the thermometer reads 7°C lower. Cloud cover is not what separates the top of that table from the bottom.

What the correlation does not say:

Not "sunshine doesn't matter." This is a correlation across cities, not a verdict on sunshine. Sunshine hours still drive solar yield, daylight exposure, mood, and how fast the washing dries, and they are measured far more directly than any comfort index. The narrow claim is only this: sunshine is a weak proxy for how many hours a year you can comfortably sit outside, so ranking places by sunshine alone answers a different question than most people think they are asking.

The weak global figure is geography, not noise. Split the same 478 cities by latitude and the relationship reappears where you would expect it: outside the tropics (|latitude| > 23.5°, n = 403) sunshine and outdoor hours correlate at r = 0.41, while inside the tropics (n = 75) the correlation is slightly negative at r = −0.11. Sunny-and-comfortable is a real pairing at temperate latitudes. It breaks down wherever the sun arrives with heat and humidity.

Both columns are modeled climatologies, from a city set that isn't a random sample. Sunshine is ERA5 corrected against WMO reference stations; Outdoor Hours is GeoRank's own OHI v1, a simplified half-hourly comfort model rather than a run of UTCI or TCI. Both rest on the 1981–2010 reference period. The 478 cities are large and relocation-relevant, not a random sample of the Earth's surface, so the coefficient describes this city set — it is not an estimate for every point on the map.

Reproduce it: download cities-tools.json, take sun and sum(out) for each of the 478 cities, and run a Pearson correlation over the two vectors — r = 0.238, R² = 0.057. Figures on this page were computed from the 2026-09-06 build of that file.

How to use the Outdoor Hours map

The interactive GeoRank map renders Outdoor Hours as a green gradient — the darker the swatch, the more hours per year are comfortable outside. Pan, zoom, and click any pin for the annual figure, the monthly profile, and the heat/cold/rain/wind breakdown. The same view stacks temperature, sunshine, rainfall, cost, and safety, which is closer to the real relocation question: not just "where's comfortable outside" but "where's comfortable outside and affordable and visa-accessible."

01
Open the Outdoor Hours layer
Deep-link straight into the layer at /?layer=outdoor. The green gradient is the annual comfortable-hours field. Click any city pin to inspect the monthly profile and loss breakdown.
02
Pin your home as baseline
Set "home" once and every other pin shows the delta from where you live now — Outdoor Hours, temperature, sunshine, cost, all on the same chip strip. See exactly how many more (or fewer) sit-outside hours a destination buys you.
03
Stack sunshine, temperature, and rainfall
Outdoor Hours is one of GeoRank's data layers. Stack it against sunshine hours, temperature, and rainfall to see why a place lands where it does on the comfort scale.
04
Save, share, decide
Save shortlists, share a pinned URL with a partner, or open the result in Compare for the full side-by-side. Free; no signup; the formulas above are public.

What the Outdoor Hours Index isn't

A climatology, not a forecast. Every value is computed from the 1981–2010 CHELSA reference period, not this year's actual weather. It answers "what's typical here" over three decades, not "what will next Tuesday feel like."

Personal comfort varies. The 10–29°C apparent-temperature band is a population-level model, not a measurement of any individual's tolerance. Acclimatization, clothing, shade, activity level, and personal preference all shift where your own comfort band actually sits.

Mixed resolution, disclosed. Temperature is hyper-local (~1 km, CHELSA); humidity and wind are regional modifiers (~25 km, ERA5). Two nearby locations with genuinely different microclimates can end up sharing the same rain and wind discount even where their temperature — and therefore their heat/cold split — differs.

Not the reference UTCI or TCI model. OHI is inspired by the Tourism Climate Index, the WMO's Universal Thermal Climate Index, and Kelly Norton's Pleasant Days work, but it is GeoRank's own simplified half-hourly implementation — a "UTCI-lite," not a run of any of those published models.

Related GeoRank tools & data

Frequently asked questions

What counts as "comfortable" in the Outdoor Hours Index?
Apparent temperature between 10–29°C, evaluated at every half-hour of daylight. On the warm side apparent temperature adds humidity via the Steadman formula (ERA5 dewpoint) and subtracts wind; on the cold side it's the NWS wind chill formula. The 10–29°C band is treated probabilistically — day-to-day variability of σ = 3.5°C means a reading at the edge of the band counts as partially comfortable rather than flipping from fully counted to zero. Hours are then further discounted for rain and sustained wind.
Why does a Mediterranean island like Sardinia still lose hundreds of hours to cold?
Because the comfort band is evaluated across the full daylight year, not just summer afternoons. Winter mornings, evenings, and overcast days routinely sit below 10°C apparent temperature even at 41°N on the coast. In the GeoRank example for northern Sardinia, a pin rated 3,083 h/yr "Excellent" still shows 717 hours lost to cold against 158 lost to heat — cold is the larger loss category even in a warm-climate location, because winter daylight hours outnumber the handful of days hot enough to fail the upper bound.
How is Outdoor Hours different from average temperature or sunshine hours?
Average temperature and sunshine hours are each a single raw variable. Outdoor Hours combines apparent temperature (heat and cold), rainfall, and wind into one comfort number, so it answers a different question — not "how sunny" or "how warm on average" but "how many hours could you actually sit outside." A location can have high sunshine hours and a mild annual mean temperature and still lose a lot of Outdoor Hours to wind or rain, which the other two layers don't capture.
What data does the Outdoor Hours Index use, and how current is it?
Temperature comes from CHELSA at ~1 km native resolution; humidity and wind come from ERA5 reanalysis at ~25 km. Both use the 1981–2010 climatology — the reference period CHELSA publishes on. The app's month scrubber lets you step through the twelve monthly breakdowns, and the layer can be viewed in absolute mode (fixed 0–4,500 h/yr scale, comparable across the globe) or relative mode (stretched to the current viewport, for spotting local contrast).
Do sunnier cities have more comfortable outdoor hours?
Barely. Across all 478 cities in GeoRank's public city dataset, annual sunshine hours and annual comfortable outdoor hours correlate at r = 0.24 (95% CI 0.15–0.32) — sunshine accounts for roughly 6% of the variance. Lima is the least sunny city in the dataset at 1,165 sunshine hours a year and ranks first for outdoor comfort at 4,029 hours; Phoenix is the sunniest at 3,871 hours and ranks 209th of 478. The relationship does hold outside the tropics (r = 0.41 across the 403 cities beyond 23.5° latitude) and turns slightly negative inside them (r = −0.11, n = 75), because outdoor comfort is decided by apparent temperature — heat plus humidity — rather than by cloud cover. See the full finding →

Find where you can actually sit outside.

The map combines Outdoor Hours with temperature, sunshine, rainfall, cost, and safety on every pin. Set your home as the baseline and see every destination as a delta from where you live now.

About the data: GeoRank's Outdoor Hours Index (OHI v1) uses CHELSA 1981–2010 daily max/min temperature at ~1 km, reconstructed into a half-hourly diurnal cycle, converted to apparent temperature (Steadman on the warm side, NWS wind chill on the cold side) against a probabilistic 10–29°C comfort band, then discounted for rain (1.5 mm/h wet-hour rate, capped at 60% of any month) and wind (Weibull probability of exceeding 30 km/h from ERA5 monthly means, shape rising with mean speed, calibrated against 624 NOAA ISD hourly stations). See the methodology for the full derivation and pedigree.

Sources: CHELSA v2.1 1981–2010 climatology (temperature) · ERA5 reanalysis, Copernicus Climate Data Store (humidity, wind) · Steadman apparent temperature formula · NWS wind chill formula · Tourism Climate Index (Mieczkowski, 1985) and WMO Universal Thermal Climate Index (UTCI) cited as pedigree. Methodology and worked examples at methodology.