One score each day
We use the daily maximum temperature and daily precipitation estimated for the same date. Each day starts at 10: subtract 0.5 per degree outside your range, subtract the rain penalty and, if enabled, the sunshine penalty. Then apply a minimum of zero. The map averages those daily scores.
Days, annualized
We divide qualifying days by available paired records, then scale to the calendar period: 365.3 days per year for 2020–2025, or 365/366 for an individual year. With complete records, this equals the actual count divided by the number of years. With missing records, it is an estimate.
Real data, real borders
ERA5 hourly data aggregated into UTC days: daily maximum temperature and total precipitation. The source grid is 0.25°; this map samples every 0.5° (about 55 km north–south). This describes broad areas, not neighborhoods. Each month must have at least 90% matched records for the enabled rules. Areas below that requirement remain gray. Detailed Natural Earth geometry provides coastlines and borders. Zoom improves cartographic detail, not climate resolution.
World, Europe and USA use exactly the same source, grid, coverage checks and rules. A cell has the same values in every tab.
Data and calculation details
Temperature and precipitation: Copernicus ERA5 / ECMWF, distributed through Open-Meteo AWS Open Data. We use ERA5 only, with no model mixing or elevation downscaling. A day runs from 00:00 to 24:00 UTC. Temperature is the maximum of 24 hourly 2 m temperatures; precipitation is their hourly total, including rain and snow water equivalent. These are model estimates informed by observations, not measurements at the named city. Coastal cells can differ from nearby land stations. Rainfall is daily precipitation, not hours of rain. Sunshine duration is estimated from ERA5 direct radiation using Open-Meteo’s solar method around the WMO 120 W/m² threshold, with sunrise and sunset limits. It is not daylight duration or a station sunshine recording. The optional rule starts off: when enabled, it subtracts 0.5 point per hour below your selected minimum and requires that minimum for comfortable days. The daily zero floor applies after all three penalties. The temperature score does not measure humidity, wind, or temperature at every hour.
When sunshine is enabled, sunshine records must also be present on the same days. A point is shown only when records for every enabled rule cover at least 90% of the days in every month of the selected period. This includes all 72 months in the six-year view. We do not invent missing daily values. Scores average the available matched daily records; comfortable-day frequencies are annualized. A few missing days can still affect estimates. Click a point to see the number of available records. Rain limits can be adjusted in 0.1 mm steps and use the precision of the source data. Temperature limits use whole degrees; daily temperatures retain their original precision. Coastline colors extend nearby grid values by at most 0.75° for display; a location readout identifies the climate cell. Place names come from the GeoNames cities1000 catalog (cities over 1,000 inhabitants and selected administrative seats). The readout shows the nearest listed city, that city’s state/region and the distance from your click. This is not a claim that the click is inside that city or state.
Colors use fixed scales: 0–10 for score and 0–150+ days per year. Values outside a scale retain the end color; the readout shows the actual value. These are personal preference rules, not a scientific comfort index.