Barometric Altitude Measurement

:: training data analysis

While analyzing the data from my latest indoor trainer ride, I noticed that my FR–920 records altitude while running in “Indoor Trainer” mode. This means that I have a lot of altitude measurements at what is effectively the same elevation, so I had a look at how good altitude measurement really is.

Below is plot of the “elevation” from my latest bike ride, and while it looks like a slow but constant ascent, this ride was actually on an indoor trainer, so the bike was not moving anywhere. Also, the elevation starts at 138 meters below sea level, and while I don’t know for sure the elevation in my garage, I am pretty sure it is not 138 metes below sea level:

In fact, here are the elevation profiles for all my indoor bike rides in the past two years (all 265 of them). While at this scale, all the lines look flat, there is a huge difference between the elevation recorded at different dates. Most of the measured altitudes are between –100 and 100 meters but there are a few outliers at –138 meters and at +257 meters. Remember, all these altitude measurements were done at the same physical location, and therefore at the same elevation:

There is a huge difference in the elevation readings taken on different days, over a period of two years, but when it comes to an individual ride, the elevation change is smaller. The lines on the plot are mostly flat, but there is still an average of 4 meter elevation change in every ride, meaning that, in an hour of indoor bike ride, the elevation will “change” by about 4 meters on average. The maximum elevation change that I have seen is about 14.5 meters.

Barometric altimeters are affected by weather — after all, they read changes in atmospheric pressure — and while this pressure changes as we climb or descend, it also changes when a low or high pressure weather system moves through. I was surprised though at the wide range of possible values that they can measure for a given elevation.

So, without calibration, a barometric altimeter is not very useful in measuring the absolute elevation. Most altimeters allow setting a reference “sea level” barometric pressure which allows them to than measure the actual elevation more precisely. The FR–920 (and perhaps other Garmin devices) will instead use the GPS elevation to calibrate its barometric altimeter — indeed looking at my outdoor rides (which use GPS), the average elevation reading on my driveway, is about 21 meters. More importantly, however, there is less variation among the readings: 4 years worth of bike rides that start and end on my driveway show elevations between 3 and 36 meters.

So how does the combined GPS + Barometric Altimeter in the FR–920 behave? The GPS will provide a better absolute elevation, while the barometric altimeter will provide better measurements of the climbs and descents. Still, the result is not perfect. Shown below is the elevation profile of a 2.5 hour hike on an out-and-back route. Since the return trip was on the same path as the climb, I would expect the elevation profile to be a mirror, with the second half matching the first. However, this is not the case: I plotted the same route both forward and reverse, and this shows, that the elevation profile for the return trip is different:

It also looks like, at higher altitudes (1000 meters, in this case), the error introduced by atmospheric changes is quite large, in this particular hike, the maximum altitude difference is 77 meters, with an average of 39 meters of difference between the forward and return trips.