The principle in one sentence
This distinction matters. When you check the weather 5 days out, you get a real forecast from numerical atmospheric models. When you check a date 4 months away, you get a statistical estimate based on what happened at the same dates in previous years, adjusted by current seasonal model trends.
Our data sources
All our weather data comes from Open-Meteo, an open-source API that aggregates ERA5 reanalyses from the European Centre for Medium-Range Weather Forecasts (ECMWF), as well as operational models from Météo-France (ARPEGE/AROME), Germany's DWD and NOAA in the United States.
Why ERA5?
ERA5 is the world's reference reanalysis: it reconstructs the state of the atmosphere hour by hour since 1940, at a 31 km resolution, by assimilating all available observations (satellites, radiosondes, ground stations). It's the dataset used by climate researchers to establish norms.
Our analysis window covers the last 10 years. This is deliberate: including older data would introduce a growing cooling bias due to climate change, making estimates less representative of current conditions.
Three levels by time horizon
The reliability of a weather estimate decreases with time distance. We indicate this explicitly in the interface via a horizon badge. Here's what each level actually means.
How does the score work?
The score out of 10 summarises weather conditions based on your activity. It's not universal: good weather for a beach day isn't the same as for skiing. Four criteria are weighted differently depending on the selected profile.
Relative importance by profile
The four factors are weighted according to a calibration specific to each profile, reflecting the relative importance of each criterion for that activity. Here's an indicative overview of the priorities:
| Criterion | 🌤 General | 🏖️ Beach | ⛷️ Ski |
|---|---|---|---|
| Precipitation | ●●● | ●●● | ●● |
| Temperature | ●●●● | ●●●●● | ●●●● |
| Wind | ●● | ● | ● |
| Sunshine | ●● | ●● | ●●● |
● = low priority · ●●●●● = dominant priority. Exact weights come from internal calibration and are not disclosed.
Ideal temperature ranges
Each profile defines an optimal temperature range. Outside this range, the temperature sub-score decreases progressively.
Verdicts
The final score maps to one of three qualitative levels:
These classes are comparable across all destinations — a score of 7.5 in Lisbon and Bangkok represents the same absolute climate quality for a traveller.
Personal comfort profiles
On monthly ranking pages, four comfort profiles let you refine the ranking based on your personal temperature and humidity preferences. These profiles are independent of activity profiles (General/Beach/Ski).
The four profiles
Extreme dryness penalty
A specific adjustment applies to very dry climates: when calculated relative humidity is below 30% and maximum temperature exceeds 77°F (typical cases: Marrakech in summer, Las Vegas in July), a penalty is applied to the score. Extremely dry air at high temperatures can be uncomfortable for most travelers despite near-zero precipitation.
Annual reference score by destination
For destinations in the catalogue (climate guides), each month of the year has a reference score distinct from the app score. This score reflects the month's intrinsic climate attractiveness, independent of any activity profile.
Three season levels
Each month is first classified by its overall seasonal character: recommended, intermediate or to avoid. This classification considers local reality beyond the numbers alone — for example, a tropical destination during monsoon season is different from a Nordic destination in winter.
Multi-criteria calibration
Within each level, months are differentiated by a combined analysis of thermal comfort, precipitation and sunshine, calibrated on 10 years of ERA5 data. The weighting of these criteria and the comfort functions used come from internal calibration.
Local climate specifics
Some climate regimes require adapted treatment. Destinations with strong monsoon seasonality (Southeast Asia, East Africa) are subject to adjustment: the wet season, although statistically unfavourable, often remains suitable for travel thanks to short, intense rainfall. This context is built into the seasonal classification for these destinations.
Humidity & dew point
Score weighting
Within each level, months are ranked by a combined analysis of three factors:
- 40% — Thermal comfort
t_ideal(tmax): optimum 72–82°F, progressive penalty beyond - 35% — Corrected precipitation (tropical short showers ≠ blocking rain)
- 25% — Sunshine (capped at 15 h/day)
A humidity penalty is subtracted when Tmax > 79°F and dew point > 61°F (up to −0.20 raw points).
Automatic hot-humid downgrade
A month classified as "Best period" may be automatically downgraded if physical data contradicts it:
- Tmax ≥ 100°F → Challenging conditions
- Tmax ≥ 93°F → Decent period (intense dry heat)
- Tmax ≥ 86°F + dew point ≥ 61°F → Decent period
- Tmax ≥ 79°F + dew point ≥ 72°F → Decent period (tropical humid heat — V3, March 2026)
The last rule prevents months like January in French Guiana (82°F, dew 73°F) from being classified "Best period" when the felt experience is clearly oppressive.
Rain type: tropical showers vs. blocking rain
Weather icons distinguish two rain patterns via a burstiness index (daily precipitation ÷ rain frequency): ⛈️ heavy blocking, 🌧️ blocking rain, and 🌦️ tropical showers — where high rain frequency coexists with ample sunshine and a largely exploitable day.
Air Quality Penalty
An air quality penalty is subtracted from the final reference score when the monthly AQI average exceeds 60 (European AQI scale). The penalty is progressive, capped at −0.8 points: no penalty at AQI ≤ 60, linear increase to −0.8 pts at AQI ≥ 120. Data from Open-Meteo Air Quality API (2024, european_aqi). 131 destinations affected. Examples: Delhi January (8.0 → 7.2), Beijing December (5.2 → 4.4), Dubai June (3.9 → 3.5), Paris July (unchanged).
Thermal comfort badge
Each month in the climate table displays a comfort badge based on maximum temperature and dew point. Six levels:
| Level | Condition | Meaning |
|---|---|---|
| 🔵 Fresh | Dew < 16°C + Tmax < 20°C | Dry and cool, very comfortable |
| 🟢 Comfortable | Dew < 18°C + Tmax ≤ 32°C | Pleasant conditions for most activities |
| 🟠 Oppressive | Dew ≤ 22°C + Tmax ≤ 38°C | Noticeable heat or humidity |
| 🔴 Humid heat | Dew > 22°C | Hot and humid — typical of tropical zones (French Guiana, Singapore…) |
| 🔴 Very hot | Dew ≤ 22°C + Tmax > 38°C | Extreme dry heat (deserts, Middle East in summer) |
| 🟣 Cold | Tmax < 0°C | Sub-zero temperatures |
If ≥ 9/12 months share the same level, the badge appears once in the table header rather than on every row.
Contextual Indicators
In addition to the score, each monthly page displays contextual indicators that enrich weather interpretation without affecting the main score.
UV Index
The monthly average UV index comes from the Open-Meteo Historical Forecast API (uv_index). Displayed as an informational badge when UV ≥ 3. Four levels: Moderate (3–5), High (6–7), Very High (8–10), Extreme (≥ 11). UV is a health risk indicator — it does not affect the climate score.
Rain Type
Precipitation is characterised using ERA5 rain_pct (frequency) and precip_mm (intensity). A burst index (mm/day ÷ frequency) distinguishes: Short showers (high burst, good sunshine — typical tropical rains), Persistent rain (high frequency, little sun, moderate intensity), Heavy rain (very high frequency, little sun, high intensity).
Weather Stability
A badge indicates whether the month is Variable or Changeable based on the combination of rain frequency, sunshine hours and burst index. Dry or stable months show no badge.
Sea Conditions (coastal destinations)
For 322 coastal destinations, significant wave height (wave_height_max) and swell period (swell_wave_period_max) come from the Open-Meteo Marine API. Four levels: Calm sea (< 0.5m), Gentle sea (0.5–0.9m), Surf conditions (≥ 1.0m + period ≥ 8s), Rough sea (≥ 1.8m).
Air Quality Badge
Beyond the score penalty, a contextual badge appears on monthly pages when monthly average AQI exceeds 60: Moderate air (61–80), High pollution (81–100), Very poor air (> 100).
Practical information per destination
Safety
The safety level (1–4) comes from the Auswärtiges Amt (German Federal Foreign Office) official public API, fetched in real time and cached for 6 hours. Always verify your government's travel advice before departure (GOV.UK Travel, State.gov).
Budget
The budget index (1–5) is derived from the Numbeo Cost of Living Index 2026, calibrated on 14 benchmark destinations. Eight documented exceptions and 21 regional proxies cover the full 158-country catalogue. This index is indicative — it reflects local cost of living, not real-time tourist prices.
ECMWF seasonal correction
When the time horizon falls between D+8 and D+210, the historical climatology is adjusted by anomaly signals from the ECMWF seasonal model. This mechanism progressively merges historical data with projected trends, treating temperature, precipitation and wind differently according to their respective predictability at medium range.
The goal is to detect significant deviations from the norm — an abnormally wet season, a milder winter than average — without claiming the precision of a short-term forecast.
Indicative model accuracy
What our tool does not do
We prefer to be clear about limitations rather than downplay them.
- No microclimates. ERA5's spatial resolution is 31 km — local variations (valleys, coasts, altitude) are not captured. A seaside resort can differ by 9°F from the neighbouring town.
- No climate change modelling. Our 10-year window partially captures recent warming, but doesn't extrapolate future trends. Projections beyond 2030 are outside our scope.
- No ECMWF seasonal correction beyond 7 months. Beyond D+210, the ECMWF seasonal model no longer provides significant predictive value. We then display a pure historical climate profile based on 10 years of data — still useful for long-term planning, but without seasonal trend adjustment.
- Extreme events are not predictable. Cyclones, exceptional storms, historic heatwaves — these rare events are not represented in average statistics.
- No hourly data beyond D+7. For future dates, we display an indicative daily hourly profile, not hour-by-hour forecasts.
Frequently asked questions
Where does the sea temperature data come from?
Sea surface temperature comes from Open-Meteo's Marine API for nearby dates (D+0 to D+7) and from a historical climatological database by coastal city for more distant dates.
Why are sunrise and sunset times calculated rather than forecasted?
Sunrise and sunset are deterministic: they depend solely on latitude, longitude and date. They are computed by astronomical algorithm and don't vary from year to year (to within a few seconds).
What's the difference between the "pessimistic" and "optimistic" scenarios?
The scenarios are built from the P10 and P90 percentiles of the historical distribution. The pessimistic scenario corresponds to the 10% most unfavourable days observed over the period (maximum rain, extreme temperatures, high wind). The optimistic to the 10% most favourable days.
How can I compare two dates or two destinations?
Use the "12-month view" to compare scores month by month for a destination. To compare two cities, run two separate searches and compare the scores for the same period.
Is the data updated?
Historical data (climate baseline) is fixed — it corresponds to the last 10 years. Real-time forecasts (D+0 to D+7) are fetched live from Open-Meteo APIs on every consultation, with an update latency of 1 hour.