Running Stream TSS in Enduroco
When distance and elevation streams are available, Enduroco computes running load with a grade-aware stream method and sets source to Pace stream (GAP + NP/IF, 30s) (running.paceTssStream).
Inputs Required
- Distance stream (required)
- Altitude stream (optional but preferred)
- Moving time
- Running threshold pace
Calculation Pipeline
- Build segment speeds from distance deltas.
- Estimate segment grade as
delta_elevation / delta_distance. - Clamp grade to a safe range (
-0.3to+0.3in current implementation). - Convert each segment to grade-adjusted equivalent speed using an energy-cost model.
- Apply
30srolling smoothing and NP-style 4th-power aggregation. - Compute
IF = normalized_gap_speed / threshold_pace. - Compute load with the same TSS structure:
Load = (duration_seconds * IF^2 * 100) / 3600
Why This Is Better Than Flat Average Pace
This method gives credit to uphill mechanical cost and avoids underestimating hilly runs that have slower raw pace but high physiological demand.
Edge Handling
- Paused sections (no distance increase) are ignored.
- If stream quality is insufficient, Enduroco falls back to non-stream running methods.