Dashboard intro
See the pace the weather allowed.
Compare your real Strava effort against the conditions, then see what the same run may have looked like in better weather.
Quick Snapshot
Your recent pace and weather story
Condition mix
Waiting for synced historyRecent weather-ready runs
A cleaner read on your latest enriched effortsStandout runs
Best, toughest, steepest, and costliest daysHistory Insights
Patterns across your past runs
Personal Insights
How you perform in different conditions
Athlete Profile
Your current weather and terrain profile
Condition Buckets
How different weather groups stack up
Athlete Baseline
What your own history says about you
Weather Trends
Grade and cost trends across your history
Grade distribution
How often you land in each weather tierMonthly averages
Weather grade and weather cost by monthRolling acclimation
Recent 30-day adaptation versus the prior 30 daysTolerance trend
How your heat and humidity profile is changingBackfill Queue
Weather enrichment progress
Queue Status
Waiting for syncNext Up
Pending imported runsLatest Report
No batch run yetRecent Activities
Choose a run to analyze
Activity Report
Select an activity
Pace Comparison
Choose an activity to see the main limiter.
Weather Cost Breakdown
Conditions
Weather Timeline
Comparisons
Compare this run against similar efforts
Admin
Users, subscriptions, and processing readiness
Users
All PaceWeather accounts
Webhook Queue
Recent Strava event intake
Strava Summary
Choose what gets posted
Strava Connection
Connect your account
Connect Strava to import activities and post PaceWeather summaries back to your description.
Preview
Posting Status
This activity has not been updated from PaceWeather yet.
Product Goal
Keep the public Strava description concise when you want, while preserving a deeper weather report inside PaceWeather.
FAQ
How PaceWeather calculates each stat
PaceWeather is meant to be transparent, not mysterious. These metrics are heuristic estimates built from historical weather, terrain context, and simple weighting rules. They are useful for comparing runs and understanding what the day likely cost you, but they are not lab-grade physiology measurements.
What does timeline stress mean?
The timeline stress bar is a 0-100 snapshot of how taxing the weather was at that moment. It rises when temperature, dew point, wind, and solar load rise.
Current formula:
stress = max(0, tempF - 52) * 1.4 + max(0, dewPointF - 50) * 2.1 + max(0, windMph - 6) * 1.3 + solarWm2 / 35 Then clamp to 0-100.
Dew point has the biggest effect because humid air makes it harder to cool yourself through sweat evaporation.
How is Weather Grade calculated?
Weather Grade is a 0-100 composite score showing how favorable the conditions were for endurance performance.
Weather Grade = Temperature score * 30% + Dew point score * 35% + Wind score * 15% + Solar score * 10% + Rain score * 10%
Higher is better. Cool, dry, calm conditions tend to grade highest.
How is Weather Score calculated?
Weather Score is a simplified 1-10 label derived from Weather Grade.
Weather Score = round(Weather Grade / 10) Clamp to 1-10
That score then maps to labels like Perfect, Good, Challenging, or Extreme.
PaceWeather also pairs each score with a face emoji so the effort reads at a glance, from π in ideal weather down to π΅ in the most punishing conditions.
This emoji scale is about overall feel. It reflects the 1-10 Weather Score, not the exact number of seconds lost.
How is Weather Cost calculated?
Weather Cost estimates seconds per mile lost due to environmental conditions.
Heat cost = max(0, tempF - 60) * 0.35 Humidity cost = max(0, dewPointF - 45) * 1.2 Wind cost = max(0, windMph - 8) * 0.45 Rain cost = max(0, rainMm - 0.2) * 2.5 Solar cost = max(0, solarWm2 - 250) / 60 Weather Cost = sum of the above
Right now this is a rules-based estimate, not a personalized athlete model.
Weather Cost uses a separate severity emoji scale from Weather Score because it represents pace loss, not overall feel: π’ 0-5, π‘ 6-15, π 16-30, π΄ 31-45, and π₯΅ 46+ seconds per mile.
How are Heat Tolerance and Humidity Tolerance calculated?
These are early personalized scores built from your own weather-ready history. They are not lab measurements. They simply ask: βHow far does your actual pace drift away from your own weather-normalized baseline when conditions turn hot or humid?β
baseline pace = average Perfect Weather Pace from cool/dry runs If there are not enough cool/dry runs: baseline pace = average Perfect Weather Pace from all weather-ready runs tolerance drag = average actual pace in hot or humid runs - baseline pace tolerance score = 100 - (tolerance drag * 1.3) Then clamp to 0-100.
Higher is better. A higher score means your hot or humid runs stay closer to your own weather-normalized baseline. A lower score means your pace fades farther from that baseline in those conditions.
This is intentionally simple and transparent. It is a first-pass athlete profile, not a finished physiology model.
The monthly tolerance trend table uses the same score month by month. That makes it useful for spotting direction over time, but it should still be read as a rough training-history signal, not a formal acclimation study.
The rolling acclimation cards go one step further. They compare the most recent 30-day window in your synced history against the 30 days before that. If the recent window scores higher, PaceWeather marks that as improving acclimation. If it drops, the app flags that your recent heat or humidity readiness may be cooling off.
How is Terrain Effect calculated?
Terrain Effect is a separate estimate of how much climbing likely slowed the run. It is not weather. It is meant to show the elevation side of the effort when you want that context in the summary.
If GAP is available, PaceWeather uses the difference between actual pace and GAP as the terrain effect.
If GAP exists: Terrain Effect = max(0, actual pace - GAP)
If GAP is not available, PaceWeather falls back to a simple elevation-gain estimate based on feet climbed per mile.
If GAP is missing: gainPerMile = elevationGainFeet / distanceMiles Terrain Effect = max(0, gainPerMile - 50) * 0.18
This fallback is a heuristic, so it should be treated as a directional estimate rather than an exact terrain model.
What is the difference between Perfect Weather Pace and Perfect Pace?
PaceWeather now supports two pace views so you can decide whether elevation should be part of the normalization.
Perfect Weather Pace removes weather impact only. It starts from your actual pace and subtracts Weather Cost.
Perfect Weather Pace = actual pace - Weather Cost
Perfect Pace removes weather impact and also accounts for terrain by using GAP when available, or by subtracting the estimated Terrain Effect when GAP is missing.
Perfect Pace = GAP - Weather Cost If GAP is missing: Perfect Pace = actual pace - Terrain Effect - Weather Cost
If you want a cleaner answer to βwhat would this have looked like in better weather on the same route?β, choose Perfect Weather Pace. If you want a pace that also smooths out elevation impact, choose Perfect Pace.
PaceWeather marks these pace metrics with π― to show they are target or normalized pace values rather than raw activity pace.
What is Estimated Time Lost?
Estimated Time Lost turns per-mile weather cost into total run time.
Estimated Time Lost = distanceMiles * weatherCostSecondsPerMile
What is the Primary Limiter?
Primary Limiter is whichever Weather Cost component contributed the most pace loss on that run: heat, humidity, wind, rain, or solar load.
What do Temp, Hum, Dew Pt, Solar, and Clouds mean?
Temp: Air temperature near the route.
Hum: Relative humidity.
Dew Pt: Dew point temperature, a better proxy for muggy air.
Solar: Solar radiation in watts per square meter, which acts like sun load.
Clouds: Cloud cover percentage.
How does the weather timeline work?
The timeline samples the run every 30 minutes using archived hourly weather. Between each hour, PaceWeather interpolates the values so half-hour points behave more naturally.
Timeline coverage uses the longest trustworthy activity duration available: elapsed time first, then stream duration, then moving time.
Where does the weather data come from?
PaceWeather currently pulls historical weather from the Open-Meteo Archive API.
We use Strava to provide the activity start time, timezone, and route coordinates. Then we request archived hourly weather for that location and date range.
Source: Open-Meteo archive-api.open-meteo.com Requested hourly fields: - temperature_2m - relative_humidity_2m - dew_point_2m - precipitation - cloud_cover - wind_speed_10m - shortwave_radiation
For the timeline, PaceWeather samples across the activity window and interpolates between hourly weather points so half-hour entries feel smoother than a simple hour-by-hour snap.
This means the weather is route-area historical weather, not a body-worn sensor or exact microclimate reading at every step.