How calibrated sunshine, temperature, rainfall, tax, cost of living, air quality, and safety data are sourced, calibrated, and delivered. Transparent enough to cite.
Sunshine hours
ERA5 is ECMWF's flagship reanalysis dataset — the most comprehensive global atmospheric record available. However, ERA5's raw sunshine duration values overestimate actual sunshine hours by a systematic margin that varies by cloudiness regime:
This means raw ERA5 makes Bergen, Glasgow, and Reykjavik appear substantially sunnier than they are in practice. Without correction, rankings of "cloudy" cities are meaningless.
GeoRank applies a linear correction derived from comparing ERA5 values against WMO ground-station observations at 56 reference locations worldwide:
R² = 0.82 · n = 56 stations · Residual RMSE ≈ 180 hr/yr
The formula reduces ERA5's systematic overestimation in cloudy regions while preserving relative differences between sunny and cloudy climates. At 0.5° resolution this produces calibrated values that track observed sunshine hours within ±8% for most locations.
After applying the correction formula globally, residual errors at non-station locations are reduced using Inverse Distance Weighting (IDW) — a spatial interpolation technique that weights nearby station corrections more heavily than distant ones. The IDW radius is tuned to 500 km, balancing spatial resolution against over-correction in data-sparse regions.
Reference stations
The full GeoRank reference set is 182 WMO, KNMI, ECA&D, and national-met-service stations spanning all climate regimes. The linear correction formula above was fit on a globally-distributed subset of 56 high-quality stations (R² = 0.82, RMSE ≈ 180 hr/yr); the remaining 126 serve as cross-validation. All 182 are listed below — observed sunshine hours per year are the multi-decade mean for each station.
| Station | Lat | Lon | Elev (m) | Obs hr/yr |
|---|---|---|---|---|
| Reykjavik | 64.1 | -21.9 | 18 | 1268 |
| Oslo | 59.9 | 10.8 | 23 | 1668 |
| Stockholm | 59.3 | 18.1 | 28 | 1821 |
| Helsinki | 60.2 | 25.0 | 26 | 1859 |
| Copenhagen | 55.7 | 12.6 | 15 | 1779 |
| Bergen | 60.4 | 5.3 | 42 | 1413 |
| Stavanger | 58.88 | 5.64 | 8 | 1996 |
| Edinburgh | 55.9 | -3.2 | 52 | 1430 |
| Dublin | 53.3 | -6.3 | 21 | 1420 |
| Valentia | 51.9 | -10.3 | 9 | 1560 |
| Aberdeen | 57.1 | -2.1 | 65 | 1451 |
| London | 51.5 | -0.1 | 11 | 1481 |
| Amsterdam | 52.4 | 4.9 | 2 | 1662 |
| Brussels | 50.9 | 4.4 | 56 | 1546 |
| Paris | 48.9 | 2.3 | 35 | 1630 |
| Berlin | 52.5 | 13.4 | 34 | 1625 |
| Hamburg | 53.6 | 10.0 | 14 | 1630 |
| Warsaw | 52.2 | 21.0 | 107 | 1600 |
| Prague | 50.1 | 14.4 | 202 | 1668 |
| Vienna | 48.2 | 16.4 | 171 | 1884 |
| Munich | 48.1 | 11.6 | 519 | 1738 |
| Zurich | 47.4 | 8.5 | 408 | 1693 |
| Geneva | 46.2 | 6.1 | 375 | 1887 |
| Zermatt | 46.02 | 7.75 | 1620 | 2101 |
| Interlaken | 46.69 | 7.87 | 572 | 1975 |
| Budapest | 47.5 | 19.0 | 103 | 1948 |
| Bratislava | 48.1 | 17.1 | 133 | 1938 |
| Zagreb | 45.8 | 16.0 | 158 | 1903 |
| Ljubljana | 46.1 | 14.5 | 293 | 1730 |
| Belgrade | 44.8 | 20.5 | 99 | 2112 |
| Bucharest | 44.4 | 26.1 | 82 | 2098 |
| Sofia | 42.7 | 23.3 | 595 | 2162 |
| Podgorica | 42.4 | 19.3 | 49 | 2498 |
| Sarajevo | 43.8 | 18.4 | 630 | 1893 |
| Moscow | 55.8 | 37.6 | 156 | 1731 |
| St. Petersburg | 59.9 | 30.3 | 4 | 1515 |
| Kyiv | 50.4 | 30.5 | 179 | 1843 |
| Bordeaux | 44.8 | -0.6 | 16 | 2050 |
| Lyon | 45.7 | 4.8 | 162 | 2029 |
| Nice | 43.7 | 7.3 | 5 | 2724 |
| Marseille | 43.3 | 5.4 | 3 | 2724 |
| Rome | 41.9 | 12.5 | 37 | 2510 |
| Milan | 45.5 | 9.2 | 122 | 2300 |
| Palermo | 38.1 | 13.4 | 14 | 2529 |
| Athens | 37.9 | 23.7 | 94 | 2864 |
| Thessaloniki | 40.6 | 23.0 | 5 | 2420 |
| Heraklion | 35.3 | 25.1 | 39 | 3084 |
| Lisbon | 38.7 | -9.1 | 77 | 2806 |
| Madrid | 40.4 | -3.7 | 582 | 2769 |
| Barcelona | 41.4 | 2.2 | 12 | 2524 |
| Valencia | 39.5 | -0.4 | 16 | 2855 |
| Seville | 37.4 | -6.0 | 9 | 2990 |
| Malaga | 36.7 | -4.4 | 5 | 2950 |
| Palma | 39.6 | 2.6 | 11 | 2769 |
| Las Palmas | 28.1 | -15.4 | 25 | 2940 |
| Tenerife | 28.5 | -16.3 | 30 | 3067 |
| Nicosia | 35.2 | 33.4 | 162 | 3279 |
| Algiers | 36.7 | 3.0 | 25 | 2713 |
| Tunis | 36.8 | 10.2 | 4 | 3058 |
| Tripoli | 32.9 | 13.2 | 81 | 3171 |
| Casablanca | 33.6 | -7.6 | 56 | 3000 |
| Rabat | 34.0 | -6.8 | 75 | 3000 |
| Marrakesh | 31.6 | -8.0 | 466 | 3208 |
| Cairo | 30.1 | 31.2 | 23 | 3571 |
| Aswan | 24.1 | 32.9 | 113 | 4000 |
| Wadi Halfa | 21.8 | 31.3 | 226 | 4063 |
| Al-Kufra | 24.2 | 23.3 | 435 | 3825 |
| Khartoum | 15.6 | 32.5 | 382 | 3777 |
| Tel Aviv | 32.1 | 34.8 | 5 | 3302 |
| Jerusalem | 31.8 | 35.2 | 754 | 3309 |
| Tehran | 35.7 | 51.4 | 1191 | 2832 |
| Kabul | 34.5 | 69.2 | 1791 | 3276 |
| Riyadh | 24.7 | 46.7 | 612 | 3600 |
| Kuwait City | 29.4 | 48.0 | 5 | 3645 |
| Doha | 25.3 | 51.5 | 10 | 3522 |
| Dubai | 25.2 | 55.3 | 5 | 3509 |
| Muscat | 23.6 | 58.6 | 5 | 3448 |
| Tashkent | 41.3 | 69.3 | 478 | 3000 |
| Almaty | 43.3 | 76.9 | 847 | 2782 |
| Ulaanbaatar | 47.9 | 106.9 | 1350 | 2700 |
| Novosibirsk | 55.0 | 82.9 | 150 | 2038 |
| Karachi | 24.9 | 67.1 | 22 | 2953 |
| Mumbai | 19.1 | 72.9 | 11 | 2831 |
| Delhi | 28.6 | 77.2 | 233 | 2743 |
| Kathmandu | 27.7 | 85.3 | 1355 | 2007 |
| Dhaka | 23.7 | 90.4 | 4 | 2149 |
| Lhasa | 29.7 | 91.1 | 3656 | 3021 |
| Chengdu | 30.7 | 104.1 | 506 | 1239 |
| Beijing | 39.9 | 116.4 | 55 | 2661 |
| Shanghai | 31.2 | 121.5 | 4 | 1964 |
| Hong Kong | 22.3 | 114.2 | 33 | 1840 |
| Taipei | 25.0 | 121.5 | 9 | 1765 |
| Seoul | 37.6 | 127.0 | 38 | 2066 |
| Tokyo | 35.7 | 139.7 | 40 | 1876 |
| Bangkok | 13.8 | 100.5 | 5 | 2796 |
| Colombo | 6.9 | 79.9 | 7 | 2378 |
| Kuala Lumpur | 3.1 | 101.7 | 66 | 2404 |
| Singapore | 1.3 | 103.8 | 15 | 1878 |
| Dakar | 14.7 | -17.4 | 24 | 3043 |
| Bamako | 12.6 | -8.0 | 381 | 3063 |
| Niamey | 13.5 | 2.1 | 218 | 3226 |
| Lagos | 6.5 | 3.4 | 41 | 1900 |
| Abidjan | 5.4 | -4.0 | 22 | 1896 |
| Accra | 5.6 | -0.2 | 61 | 2002 |
| Nairobi | -1.3 | 36.8 | 1795 | 2860 |
| Addis Ababa | 9.0 | 38.7 | 2355 | 3027 |
| Dar es Salaam | -6.8 | 39.3 | 55 | 2853 |
| Lusaka | -15.4 | 28.3 | 1154 | 2756 |
| Harare | -17.8 | 31.0 | 1483 | 2809 |
| Johannesburg | -26.2 | 28.0 | 1753 | 3021 |
| Windhoek | -22.6 | 17.1 | 1661 | 3700 |
| Maputo | -25.9 | 32.6 | 47 | 2768 |
| Antananarivo | -18.9 | 47.5 | 1276 | 2557 |
| Cape Town | -33.9 | 18.4 | 42 | 3094 |
| Darwin | -12.5 | 130.8 | 30 | 3281 |
| Alice Springs | -23.7 | 133.9 | 546 | 3500 |
| Brisbane | -27.5 | 153.0 | 27 | 2873 |
| Adelaide | -34.9 | 138.6 | 48 | 2784 |
| Canberra | -35.3 | 149.1 | 578 | 2729 |
| Sydney | -33.9 | 151.2 | 39 | 2628 |
| Melbourne | -37.8 | 145.0 | 31 | 2208 |
| Perth | -31.9 | 115.9 | 20 | 3200 |
| Auckland | -36.9 | 174.8 | 26 | 2003 |
| Christchurch | -43.5 | 172.6 | 32 | 2101 |
| Suva | -18.1 | 178.4 | 18 | 2517 |
| Honolulu | 21.3 | -157.8 | 5 | 3000 |
| Anchorage | 61.2 | -150.0 | 40 | 2061 |
| Fairbanks | 64.8 | -147.7 | 136 | 1906 |
| PrinceRupert | 54.3 | -130.3 | 52 | 1229 |
| Vancouver | 49.2 | -123.1 | 70 | 1919 |
| Seattle | 47.6 | -122.3 | 122 | 2170 |
| Portland | 45.5 | -122.7 | 15 | 2341 |
| Calgary | 51.1 | -114.1 | 1045 | 2396 |
| Edmonton | 53.5 | -113.5 | 668 | 2299 |
| Winnipeg | 49.9 | -97.1 | 232 | 2337 |
| Toronto | 43.7 | -79.4 | 173 | 2066 |
| Montreal | 45.5 | -73.6 | 57 | 2051 |
| San Francisco | 37.8 | -122.4 | 16 | 3066 |
| Los Angeles | 34.1 | -118.2 | 71 | 3254 |
| Las Vegas | 36.2 | -115.2 | 620 | 3825 |
| Phoenix | 33.4 | -112.1 | 331 | 4015 |
| Yuma | 32.7 | -114.6 | 43 | 4174 |
| Death Valley | 36.5 | -116.9 | 0 | 4093 |
| Albuquerque | 35.1 | -106.7 | 1510 | 3415 |
| Salt Lake City | 40.8 | -111.9 | 1288 | 3222 |
| Denver | 39.7 | -104.9 | 1609 | 3110 |
| Dallas | 32.8 | -96.8 | 145 | 2850 |
| Houston | 29.8 | -95.4 | 15 | 2552 |
| Atlanta | 33.6 | -84.4 | 315 | 2601 |
| Miami | 25.8 | -80.2 | 2 | 3154 |
| Chicago | 41.8 | -87.7 | 182 | 2507 |
| New York | 40.7 | -74.0 | 10 | 2535 |
| Mexico City | 19.4 | -99.1 | 2240 | 2552 |
| Havana | 23.1 | -82.4 | 59 | 3300 |
| Guatemala City | 14.6 | -90.5 | 1502 | 2352 |
| Panama City | 9.0 | -79.5 | 5 | 1912 |
| Bogota | 4.7 | -74.1 | 2547 | 1328 |
| Quito | -0.2 | -78.5 | 2850 | 1979 |
| Caracas | 10.5 | -66.9 | 900 | 2700 |
| Lima | -12.1 | -77.0 | 154 | 1230 |
| Antofagasta | -23.7 | -70.4 | 94 | 3478 |
| La Paz | -16.5 | -68.1 | 3640 | 2952 |
| Cusco | -13.5 | -71.9 | 3399 | 2700 |
| Manaus | -3.1 | -60.0 | 59 | 2015 |
| Fortaleza | -3.7 | -38.5 | 21 | 2900 |
| Recife | -8.0 | -34.9 | 4 | 2713 |
| Brasilia | -15.8 | -47.9 | 1172 | 2511 |
| Sao Paulo | -23.5 | -46.6 | 760 | 2221 |
| Rio de Janeiro | -22.9 | -43.2 | 10 | 2130 |
| Buenos Aires | -34.6 | -58.4 | 25 | 2528 |
| Montevideo | -34.9 | -56.2 | 43 | 2430 |
| Santiago | -33.5 | -70.7 | 520 | 2873 |
| Mendoza | -32.9 | -68.8 | 750 | 3086 |
| Ullensvang | 60.318 | 6.654 | 12 | 933 |
| Bjørkehaug | 61.659 | 7.276 | 305 | 1064 |
| Fiskabygd | 62.103 | 5.582 | 41 | 1020 |
| Hierro | 27.819 | -17.889 | 32 | 2491 |
| La Gomera | 28.032 | -17.211 | 219 | 3169 |
| Tenerife Sur | 28.047 | -16.561 | 64 | 2872 |
| La Palma | 28.633 | -17.755 | 33 | 2153 |
| Fuerteventura | 28.444 | -13.863 | 25 | 2898 |
| Lanzarote | 28.952 | -13.600 | 14 | 3014 |
182 reference stations · sourced from WMO normals, ECA&D, KNMI, and national met-service archives. Scroll the table to browse the full set.
Resolution architecture
| Tier | Resolution | Cell size | Base data | Formula | Loads at map zoom |
|---|---|---|---|---|---|
| Global | 2.0° | ~220 km | NASA POWER (ALLSKY_SFC_SW_DWN) | Ångström–Prescott | 0–4 |
| Regional | 1.0° | ~110 km | NASA POWER interpolated | Ångström–Prescott + ERA5 blend | 5–7 |
| Local | 0.5° | ~55 km | ERA5 reanalysis | IDW calibration against 56 WMO stations | 8+ |
Sunshine hours are derived from solar irradiance data using the Ångström–Prescott formula, which estimates bright sunshine duration from diffuse and direct radiation ratios:
Where S = actual sunshine hours, S₀ = maximum possible sunshine hours (astronomical daylength), n/N = cloudiness fraction, a and b are empirical constants calibrated per climate zone.
Tax data
Tax rates are sourced from official government publications and cross-referenced against OECD tax database and PwC Worldwide Tax Summaries. Rates reflect top marginal rates for each tax category as of the date shown below.
| Tax type | Primary source | Last updated | Known gaps |
|---|---|---|---|
| Income tax (top marginal) | OECD Tax Database; national revenue authority sites | Jan 2026 | Subnational rates not included |
| Capital gains tax | PwC Worldwide Tax Summaries; KPMG CGT guides | Jan 2026 | Asset-type variation simplified to single rate |
| Crypto capital gains | National tax authority guidance; Coincub database | Q1 2026 | Regulatory changes may not be reflected immediately |
| Tax burden (% of GDP) | OECD Revenue Statistics; IMF Fiscal Monitor | 2024 data | 2-year lag typical for GDP-based metrics |
Tax methodology
Tax rates on GeoRank represent marginal income tax at €50,000 equivalent annual income for a single individual, and headline statutory capital gains rates. These are not effective rates — what most people actually pay is lower once thresholds, allowances, and credits apply.
| Source | Used for | Review cadence |
|---|---|---|
| OECD Tax Database | Income tax, social contributions, tax burden | Annual (Q1) |
| PwC Worldwide Tax Summaries | Income tax, capital gains, special regimes | Quarterly review |
| KPMG Individual Income Tax Rates | Cross-reference and gap-fill | Annual |
| Government publications | Non-OECD countries; crypto treatment | As published; flagged within 30 days of major change |
Cost of living methodology
The monthly cost estimate represents a single-person baseline: 1-bedroom apartment in a city-centre or near-centre neighbourhood, standard utilities, weekly groceries, local public transport, and dining out approximately three times per week. It is not a minimum-cost figure and not a luxury figure.
| Source | Weight | Notes |
|---|---|---|
| Numbeo crowd-sourced data | Primary | Pulled quarterly; cities with <50 respondents flagged as low-confidence |
| ECA International hardship data | Secondary | Used where Numbeo sample size is thin (<30 respondents) |
| GeoRank spot-checks | Supplement | Manual verification for cities with known Numbeo bias |
Accuracy & caveats
GeoRank provides calibrated estimates of annual sunshine hours derived from reanalysis datasets and ground-station correction. Accuracy characteristics:
Cost of living estimates are illustrative only. They represent a reasonable ballpark for a single person renting a one-bedroom apartment in a mid-tier neighbourhood, eating out 3–4 times per week, and maintaining a moderate lifestyle. Actual costs depend heavily on lifestyle, neighbourhood, and individual spending.
Tax rates are top marginal rates. Effective rates (what most people actually pay) are typically lower. Tax treaties, special regimes, and tax-free thresholds are not included in the headline figures unless explicitly noted.
Layer · Temperature
Monthly mean 2-metre air temperature is derived from ERA5 reanalysis (Copernicus Climate Data Store, dataset reanalysis-era5-single-levels-monthly-means) on a 0.25° native grid, aggregated to a 0.5° resolution for the global map and to a 30-year climatology (1991–2020).
SourceERA5 · Copernicus CDS
Climatology1991–2020 · monthly means
Layer · Rainfall
Total precipitation comes from ERA5 monthly means, corrected against rain-gauge observations where available. Annual rainy days are estimated from the daily-mean precipitation rate via a Gamma-distributed wet-day model:
SourceERA5 + rain-gauge calibration
Resolution0.25° native · 0.5° aggregated
Layer · Air quality
Annual-mean surface PM2.5 concentration (µg/m³) is sourced from the Copernicus Atmosphere Monitoring Service (CAMS) global reanalysis EAC4 on a ~10 km grid. Tier colors map to WHO air-quality guideline thresholds:
CAMS reanalysis is a global model assimilating satellite retrievals and surface measurements; it represents the regional grid cell, not a specific street-level monitor. Expect higher real-world values near busy roads, industrial sites, or seasonal biomass-burning events.
SourceCopernicus CAMS · EAC4 reanalysis
Threshold referenceWHO 2021 AQ guidelines
Layer · Geopolitical safety
Country safety scores come from the Global Peace Index 2025, published by the Institute for Economics & Peace. The index covers 163 countries and scores each across 23 indicators grouped into three domains:
The composite GPI score is normalised to a 1.0 (most peaceful) to 5.0 (least peaceful) scale, and updated annually. It is an assessment of current-year state, not a predictive model — countries can shift quickly in response to political events, and short-term incidents may not yet be reflected.
SourceGlobal Peace Index 2025 · IEP
Coverage163 countries · 23 indicators
Citation
To reference GeoRank data in academic, professional, or editorial contexts:
Primary upstream data sources:
License & attribution
GeoRank methodology and the calibrated sunshine, temperature, and rainfall datasets are licensed under Creative Commons Attribution 4.0 International (CC-BY-4.0). You may use, share, and adapt with attribution — see Cite this data for the recommended citation format.
Tax, cost-of-living, air-quality, and safety data are derived from third-party sources (OECD, PwC, KPMG, Numbeo, Copernicus Atmosphere Monitoring Service, Institute for Economics & Peace) and are subject to their respective licenses. Consult each source for redistribution rights.