GAP is too much faster for all of my runs

Is it expected behavior that GAP is with paces of 0:00 removed and pace is just average pace overall?
I have some sessions on the track where my pace average is 5:54/mi and GAP is 5:18/mi and it could make sense if all the pauses are removed out and it’s just my intervals and strides…
I have this set to Garmin track run profile so the altitude is literally flat the whole way through.

image.png

It looks like this. Is it just a case of using the wrong setting for GAP calculation? I had it set to ‘auto’ previously and maybe it just didn’t use my watch’s elevation. I changed it to ‘no’ now so it’ll always use watch, but maybe this was using strava data or something before and boosting it? Or my first theory?

Thanks.

I’ve been thinking about this since reading your post and trying to find out what is going on…
If elevation is flat, Pace and GAP should be identical. Some years ago, there was a problem where the summary displayed avg. Pace with pauses included and GAP with pauses excluded. Which off course led to confusion. But that was solved, so no reason to think that anything similar would reappear now.
The GAP model in settings for run can best be set to Strava Run.

Elevation correction disabled if your watch has a correctly functioning baro sensor.

I do see a sudden jump in elevation on your screenshot which could throw things of.
What does the Pace Curve look like with GAP enabled/disabled? Do you have unrealistic high pace values on short duration?

I found the fix - elevation correction was applied for some reason. I never knew about Activity Settings menu hidden away under the edit option and then settings ;-;

Not sure why it was on. Anyway, it now displays 5:54 average and 5:45 GAP which is much closer to expected, although still different for some reason on a track run with supposedly 0 climb. It’s because before track run profile activates Garmin’s .FIT file contains some random altitude before it jumps up to the track’s altitude about 5 minutes in, and it’s a brief ~20ft jump from 47 to 69ft, so it’s okay. I see the random low 3:03 GAP jump for a second in my GAP pace distribution graph. Everything else exactly matches regular pace. It’ll do.

I already had Pace settings updated to Run, Strava Run, No, and GAP, since I’ve found the settings page already and have been tweaking every setting I can find to the best of my ability, but it seems that activities that got ported over from long ago didn’t follow the “no elevation correction”

How should I update all of my previous activities to remove elevation correction? It’s not a big deal, it’s just adding some training load on my track runs that weren’t really there for some long ago activities. I could just kinda ignore it, probably.

Um. Actually, I still have problems.
There’s a 10k race that I did, in a track run profile, with zero elevation gain jump anywhere and pace distribution graph looking the exact same as GAP distribution graph, where with elevation correction it says 4:40 average GAP, and once properly disabling it it still says 5:08 GAP. The race average was 5:26 regular pace…

It’s a problem with intervals icu importing the raw GPS pace data for GAP somehow, when the track run pace should correct and overwrite it. On my Garmin connect and runalyze, the race pace graph makes a lot more sense. Here, it is all way fast, so I’m inclined to believe it was GPS.

When I hover over the pace graph, I see way too much 4:50-5:10 pace when I know for that race I was pacing perfectly for 5:25 the whole way through and never being more than a second or two off (I was pacing by watch a lot).

So it seems to have taken raw GPS pace data for pace graph, and Garmin track run only overrode regular pace?

Reprocess the original. I´ll explain later today.

I reprocessed (actually reprocessed the entire file first before posting about the problem here, but just tried again) the file and no dice.

I think it’s an issue with the .fit file, where for track run profiles Garmin just keeps all of the bad pace graph data and manually overwrites pace value, and so intervals.icu which recalculates a GAP based on pace data will get GAP wrong. As in, 5:08/mi is literally the regular pace when you average all the paces from the .fit file, but it’s wrong cause it’s sped up on the track curves and all that.

Runalyze seems to take and acknowledge the scale and also scale GAP to be exactly 5:26/mi as well, but strangely you look at the moving average to pace graph and see the moving average is inexplicably underneath the pace every time (because the pace data is too fast). So there’s some behind the scenes scaling being done, weirdly.

I know for a fact I was never going 4:36 pace mid-race and it was just an artifact of GPS running while on a track’s curve, and it gets evened out by the track run profile, but the artifact would still be there in the intervals icu GAP calculation.

It’s fine, I think the large majority of the problem has been fixed by removing elevation gain calculation, and this is a track run exclusive problem, so it’s alright. It’s less noticeable for cycling or general running because most people using this race the roads and not Garmin track run profile and its a negligible difference in workouts.

But it should also be a pretty easy scale to program into intervals icu - if you note the .fit file has a manual overwritten pace you can scale the pace data to match it? Then, after that, calculate GAP. Or more simply if elevation gain is flat/noticeably a track run profile just set GAP equal to pace.

Indeed, GAP doesn’t make sense for track runs.
This morning, when I asked to reprocess, I thought that the original elevation data was overridden by the elevation correction, but that’s not the case. Intervals keeps the original elevation in the FIT as ‘Altitude’ stream and the corrected one as ‘Fixed Alt’.
Comparing those 2 might turn up more info?

It’s not anything related to the elevation, it is entirely a saved pace graph problem now and with how Garmin implements track run profile.

My actual pace, based on calculations, should be 5:08/mi. Track run snaps things to a track and manually says it is 5:26/mi without changing my pace data points, and thus intervals icu GAP calculations say it should be equal to the pace cause it is flat, and sets GAP to 5:08/mi.

Runalyze has their own track run handling by having GAP equal to Garmin’s manually set pace when track run, so it seems to be possible to implement in intervals icu too.

Anyway there’s nothing I can do really except maybe manually set GAP in intervals icu activity if there’s any way to do that.

Does track run have its own activity profile? I wonder if that’s how it is recognized?

It does on your watch, but once imported it is just a regular Run activity.

Yea. I meant that. I wonder if the activity profile (in the fit file) is showing like “track run” instead of vanilla plain “Run” or “indoor Run” or such.

Put your org fit file thru fit file viewer and see what sports it is.

Looking at the Fit SDK, the fit file probably would contain a sport of running (FIT_SPORT_RUNNING aka 1) with a sub_sport of FIT_SUB_SPORT_TRACK aka 4. The comments stay this subsport is dedicated for running.

1 Like

Can you confirm the above by extracting the fit file from Garmin (How Do I Export Data Out of Garmin Connect? | Garmin Customer Support) or Coros (https://support.coros.com/hc/en-us/articles/4408620041620-Manually-Import-Export-an-Activity-to-3rd-Party-Sites) (or whatever you use) and uploading it to https://www.fitfileviewer.com/ to show the sport and sub_sport fields?

1 Like

Yep, as you expected, it does seem to be a sub-sport. I use a Garmin Forerunner 955.

The problem still come from my 1 second data tracking being raw GPS which when calculated rolls out to 5:08/mi instead of 5:26/mi. Intervals icu in an effort to be more accurate, rather than take the pace value to face value it recalculates pace with one-second GPS track dots which is wrong.

But meanwhile, Garmin pace is still manually set as a value, to a certain distance in meters and a certain time, calculated with those values below to make 5:26/mi, more accurate to what I was running.

Just ran into this and for me the answer was the ‘use elevation correction’ thankfully so fixed it for me.

Anyone know if there’s a way to mass-reprocess files with the elevation correction off, instead of going in one-by-one to the past several weeks of runs?

Oh as I’ve said a couple times in the thread now, it’s an issue from how intervals icu processes Garmin track run profile and not related to elevation. Elevation change is 0 and use elevation correction already off. Runalyze handles them fine.

1 Like

Perhaps @david would like to implement a specific Track Run…

1 Like

Yep, I think that’s the goal to all of this. We’ve deviated from the original thread title after fixing the elevation correction but track runs as a sub-profile are still broken. Pace graph and datapoints need to get scaled to the track run pace, which Garmin (maybe Coros and them do already) doesn’t automatically do for some reason. So intervals icu just tries to create a GAP from the Pace Graph and gets it off by about 15s because of track curves over tracking distance. Or just override GAP calculation of track run sub-profiles with the real pace. That is probably easier.

All regular runs on roads and whatnot, GAP is fine now.

The difference is fairly marginal anyway though so it’s probably fine as is.

i wanted to split the topic into a new thread w/ new title, but realised that there’s too many interconnected messages that the context would be wrong.

So. I suggest you create a new thread and make a formal request.

Apologies if I missed it in the thread but would still love to know how to mass-reprocess files with the elevation correction off, instead of going in one-by-one to the past several weeks of runs if anyone knows how!