Roadbook
How race weather works
Where the forecast comes from, how we work out the weather you ride into, and what each number rests on.
How a plan is built
- The forecast comes from Open-Meteo, which picks the best weather model for each place, including high-resolution regional models over the Alps and much of Europe. We give it the course's elevation at each forecast point, so temperatures are corrected for altitude.
- When you are where: your start time plus the distance divided by your average speed. Climbs and descents are not modelled yet; race prediction will replace this with your predicted time at each point.
- Between the hours the forecast is interpolated: temperature and wind speed in a straight line, wind direction as a vector, so it turns the short way round. Rain is per hour, read from the hour you are in.
- Wind against the road: for every 200 m we take your direction of travel and the wind of the nearest forecast point at that time, and compare the two. The shares are by distance.
- Wind height: forecasts give the wind at 10 m above the ground. Near the road, among trees and buildings, it is usually weaker. We show the forecast as it is rather than guess how much weaker.
- The sun: sunrise, sunset and whether each stretch is ridden in the dark, from NOAA's solar equations.
- Beyond the forecast, until 16 days before race day: the weather on the days around race day's date in each of the last ten years, from the ERA5 reanalysis, each day ridden as race day at your times and summed up after. Pacing and fueling take its typical temperatures, in still air. It says what is typical, not what will happen.
The numbers and their sources
A number marked FondoLab default is our judgement, not a study's finding; we say so rather than borrow authority.
| Number | Value | Basis |
|---|---|---|
| Headwind, crosswind, tailwind | headwind within 45° of straight ahead, tailwind beyond 135°, crosswind in between | FondoLab default: the compass split into equal quarters around the direction you ride. A wind at 45° still pushes against you, but it pushes you sideways just as hard, which is why it counts as crosswind beyond that angle.
FondoLab default |
| Calm | below 5 km/h | FondoLab default. Below this the forecast wind is too light for its direction to matter on a bike.
FondoLab default |
| Forecast points | every 5 km, at most 40 per course | FondoLab default. The regional weather models have a grid of one to three kilometres, so points closer together would mostly repeat the same forecast. Each stretch of road takes the wind of its nearest point.
FondoLab default |
| Climbing | rises counted once the road is 5 m above its last low | FondoLab default, so small jumps in a GPS file's elevation are not counted as climbing.
FondoLab default |
| Sun position, sunrise and sunset | NOAA solar equations; sunrise and sunset at 0.833° below the horizon | The equations NOAA's solar calculator uses, from Meeus's Astronomical Algorithms, accurate to about a minute. A stretch of road counts as ridden in the dark when the sun is below the sunset angle there at that time. [1] |
| Beyond the forecast | the 7 days around race day's date in each of the last 10 years, from ERA5, each ridden as race day | FondoLab default. One date a year gives too few days to say how often it rains; a week around it keeps the season and gives seventy. Only days at least three months back are read, once ERA5's preliminary data has been replaced by the final one. Until 16 days before race day; then the forecast takes over. [2] |
| Typical race day | medians of temperature, wind and gusts; the wind direction, its relation to the road and the sky met on most days; the share of days with rain | FondoLab default. Each day is ridden first and summed up after, so a headwind one year and a tailwind the next do not cancel out to calm, and one downpour is not spread over every year as drizzle. Pacing and fueling take the typical temperatures in still air: a finish time built on one year's wind would mislead.
FondoLab default |
| A day with rain | at least 0.1 mm in the hour at a time check, as you pass it | FondoLab default, so that a passing shower counts. The archive records what fell rather than a chance of rain, so the share of days with rain stands in for the rain chance.
FondoLab default |
| Points for past years | every 10 km, at most 20 per course | FondoLab default. ERA5 works on a grid of about 30 km, so points closer together would mostly read the same cell. Each point still corrects the temperature for its own elevation. [2] |
References
-
NOAA Global Monitoring Laboratory (2026). Solar calculation details. NOAA Solar Calculator, gml.noaa.gov. Read it
Algorithm documentation, based on Meeus, Astronomical Algorithms · Any place on Earth. Accurate to about a minute between 72° north and south, within ten minutes beyond; the approximations are very good for 1800–2100. · Read by us: Full text
NOAA's sunrise, sunset and solar position calculators use equations from Jean Meeus's Astronomical Algorithms. We use the same equations for the sun's height at each point of a course and for sunrise and sunset at the start.
- Sunrise and sunset are taken with 0.833° of atmospheric refraction: the sun's centre is that far below the horizon when its top edge appears.
- The results are theoretical. Real sunrise and sunset can differ because the atmosphere varies, and errors grow further from the equator.
-
Hersbach H, Bell B, Berrisford P, Hirahara S, Horányi A, Muñoz-Sabater J, et al. (2020). The ERA5 global reanalysis. Quarterly Journal of the Royal Meteorological Society 146 (730): 1999–2049. Read it
Description of a reanalysis: a weather model run over the past, held to the observations of the time · The whole globe, every hour, from 1940 to a few days ago, on a grid of about 30 km (0.25°) · Read by us: Not read for this entry; written from ECMWF's and Copernicus's descriptions of ERA5. Read the paper (open access) before relying on more than the points below.
ERA5 is ECMWF's fifth reanalysis of the global weather, made for the Copernicus Climate Change Service: one model, run over every hour of the past and held to the observations available at the time, so every year and place is worked out the same way. Race weather reads it, through Open-Meteo, for races beyond the 16-day forecast.
- **Hourly, from 1940.** Every variable the forecast has, gusts included, so a past day can be ridden like a forecast one.
- **About 30 km grid.** Temperature at a point is corrected for the course's own elevation there; showers, gusts and valley winds smaller than the grid are smoothed out.
- **Preliminary, then final.** The latest days come as preliminary data (ERA5T) a few days behind, replaced by the final data two to three months later. Race weather only reads days at least three months back, so what it keeps never changes.