Hello there,
I noticed that in my running Intervals the average pace data field of every interval seems to be off. The average pace is quite a lot higher than the one recorded by garmin and also higher than almost every individual point in the intervals pace graph.
I created my own tempo data field which accesses the enhanced_speed field from the fit file and averages across all data points in the interval to return the pace / km in seconds as follows:
{
let temp = streams.get("CustomSpeed").data
let tot = 0
let c = 0
for (let i = interval.start_index; i < interval.end_index; i++) {
let v = temp[i]
if (v) {
tot += v
++c
}
}
// avg pace in m/s := tot / c
// pace[s/km] = 1000 / (tot/c) = 1000 * c / tot
c ? 1000*c/tot : null
}
In the graph below for each interval the top value is the intervals.icu default pace and the bottom value is my calculated one which fits the garmin data much better.
Further you can see the splits from the garmin connect app as reference
The activity (Activity Link) was run on track without altitude change and in garmin’s track running mode which fits the gps data onto a known running track for accurate distance measures. One theory of mine is that intervals.icu might calculate the tempo from the distance and time instead of the tempo data field. So maybe on track running it interpolates the track circle as a polygon and cuts some distance out, resulting in slower paces. However at the paces shown above and 1 data point per second the polygon should only be 0.1% shorter than the true circle so that explanation might be incorrect.