Weather Enrichment
Activities are now automatically enriched with weather data based on GPS coordinates and ride time, giving you context about the conditions you rode in.
What's New
Automatic Weather Data
After an activity is synced, weather conditions are fetched from the Open-Meteo API and stored on the activity. The system uses the activity's GPS coordinates and start time to retrieve hourly weather data and aggregates it across the ride window. Weather data includes temperature, humidity, wind speed and gusts, precipitation, cloud cover, and an overall weather condition.
Weather Display in Activity Detail
The activity detail sheet now shows a weather section with condition icons and key metrics:
- Overall condition (Clear sky, Partly cloudy, Rain, Snow, etc.)
- Temperature, humidity, and cloud cover
- Wind speed and gust information
- Precipitation totals (when present)
Automatic Weather Tags
Activities are automatically tagged based on weather conditions:
- Wet - Rain or drizzle detected during the ride
- Snow - Snowfall during the ride
- Windy - Wind gusts exceeding 40 km/h
- Hot - Average temperature above 35C
- Cold - Average temperature below 0C
These tags work alongside existing system and custom tags and appear in activity filtering.
Historical Import Support
Weather enrichment also works for imported activities. When importing past activities from Strava, weather data is fetched using the historical weather archive so even older rides get weather context.
Technical Details
- Weather processing runs as a new queue stage in the activity pipeline
- Uses a 6-hour delay from activity start time to ensure weather model data is available
- Supports GPS data from Strava (start lat/lng) and Garmin (metadata coordinates)
- Activities without GPS data are gracefully skipped