Windsplit · Replay
Upload a session and see what wind, hills, heat and sun cost km by km, and what the pace is equivalent to in still air on flat ground. The same model as Windsplit, but backwards: the weather is fetched for the time and place you actually ran.
Load per session = hours × (avg HR / max HR)² × 100. Without heart rate, pace against your easy pace is used. CTL is a 42-day and ATL a 7-day moving average, TSB = CTL − ATL. Every session with heart rate counts, cycling and other sports too. Types are set from your own numbers: max HR, median easy pace and median distance. Tap the type badge to change the type. The correction is kept on this device.
or upload a file
Everything happens in your browser. The file is not uploaded anywhere and is not stored. The only thing sent out is three rounded positions and the date, to Open-Meteo, to fetch the weather. Want to share the report? Download it as an HTML file at the bottom.
Positive = headwind, negative = tailwind, along the running direction. Grey within ±1.5 m/s costs nothing.
Bars grow from the bottom: the faster the kilometre, the taller the bar. A red cap above a bar is what the conditions cost (wind, hills, heat); a green part of the bar is what they gave. Red line is heart rate. Hover or touch to read off; everything that shows position in the report follows.
The line is coloured by wind: red into headwind, green with tailwind. The dot follows the map slider.
Small facts from the track: fastest stretches, halves, evenness, cadence, load and where the wind and heat bit hardest. HR zones: Z1 < 60 %, Z2 60–70, Z3 70–80, Z4 80–90, Z5 ≥ 90 % of max HR. Load = hours × (avg HR / max HR)² × 100; set your max HR under the Strava overview, otherwise the session's highest heart rate is used.
The plan you made in Windsplit on this device, against what you actually ran.
Swipe sideways to see every column.
| Km | Timepassing | Pacevs average | Adjusted | HR% of max | Cadencespm | Costwind · hills · heat | Elevationup / down | Headwindm/s |
|---|
Time shows the split and the passing time. The pace deviation is against the session average. Adjusted = pace minus wind, elevation and temperature cost. Cost is the seconds the conditions cost (+) or gave (−) on the split. Headwind is the mean wind along the running direction at 10 m.
The session is split into 100 m segments with heading, gradient, speed and time from the file. Moving time is time where you ran faster than 0.5 m/s, and pauses over 30 seconds are subtracted. Elevation is smoothed over about 100 m before gradient is calculated.
Weather: Open-Meteo gives hourly values for wind (10 m), gusts, direction, temperature, humidity, cloud cover and shortwave radiation at three points along the route (start, furthest away, midway between), from the forecast model (last three months) or the ERA5 archive (older sessions). The values are interpolated in time to when you passed and in space between the three points.
Wind: cost = K × [(v + w)² − v²] s/km with K = 0.28 (Davies 1980), where v is your speed on the segment and w is the headwind at runner height (10 m wind × 0.6). Tailwind is credited at 60 %. Drafting subtracts a share of the cost (50/70/90 %) on headwind segments only.
Temperature: effective temperature = air + radiation/150 + 0.6 °C per m/s less airflow than in still air (tailwind feels warmer, headwind cooler). 5–15 °C is free, 15–22 °C costs 1.2 s/km per degree, 22–28 °C 2.0 s/km per degree, below 5 °C 0.15 s/km per degree, humidity counts above 18 °C. The slope is calibrated against Chicago 2026 and Ely & Cheuvront 2007 / El Helou 2012. Heat sensitivity multiplies the cost by 0.7 or 1.4, and weight scales it by (weight/70)^0.3.
Climb: the Minetti cost curve per segment, so downhill gives a negative cost; the curve is scaled to 65 % uphill and 40 % downhill, calibrated against heart-rate-based models, Daniels and real race splits. Adjusted pace per km = actual pace minus the sum of the three costs; it is the pace you would have held in still air, flat, 12 °C with the same effort. HR drift is heart rate/speed in the second half vs the first, a rough indicator of heat and fatigue.
Caveats: 10 m wind from a 2–10 km model says little about shelter behind houses and trees, and the watch's elevation can wander in wind and rain. The numbers are an estimate of what the conditions cost, not a definitive answer.