How accurate are altimeters in bike computers? I bought a bike computer with a pressure-based altimeter (Sigma 14.16 STS). It gives gradient of current hill with 1% resolution, current altitude with 1 meter resolution, and total climbed amount with 1 meter resolution.
How accurate are these readings?
The bike computer is based on the relationship between altitude and air pressure. Even though it has 1 meter resolution, it is still constrained by the air pressure around you. About 11.3 Pascal difference in air pressure is counted as one meter.
One thing to consider is that most houses have a slight 10 Pascal negative pressure caused by the ventilation system. Thus, if you bring the bike indoors, you may see its altitude raised by 1 meter and if you go out of your house with your bike, you may see its altitude reduced by 1 meter even though your house does not have a 1 meter ascent in its doorway.
Another thing to consider is that pressure can drift over time. I rode for 1.4 hours (1 hour 24 minutes) when pressure was drifting 40 Pascals per hour. This was 56 Pascal total drift. It should theoretically cause a 5 meter difference in the altitude (the endpoint of the ride was the same as the starting point). It gave exactly this difference. (Actually, I started the bike computer outdoors and when ending the ride outdoors, it gave the 5 meter difference; when I brought the bike indoors it gave 1 more meters of difference due to the 10 Pascal negative pressure I explained.)
This 40 Pascals per hour pressure drift is typical for changing weather. I looked at a one month long historical graph of air pressure and only twice in this month did the pressure drift faster than 40 Pascals per hour. So my example ride of 1.4 hours did have a truly changing weather. Most rides of 1.4 hours give less than 5 meters of altitude drift.
There are some ways the cyclecomputer is helping you to avoid unintended pressure drifts.
Firstly, good cycle computers (such as this Sigma 14.16 STS) store the current altitude when going to sleep and recalibrate automatically when waking up from sleep. Thus, you will not get pressure drift if the bike is parked for a long amount of time (my example 1.4 hour ride actually had a 2.5 hour long time being parked inbetween at another location than my home -- I didn't count it for the ride length).
Also, good cycle computers allow you to set several home locations and their altitudes. This Sigma 14.16 STS has two such home locations. I set one to the altitude of my home and the other to the altitude of my workplace. It is very easy to reset the current altitude to be any of these home altitudes. Good cycle computers also allow you to set the current altitude to be anything albeit with a bit more button presses than resetting to one of the home altitudes. So if you know your current altitude and are willing to take some time to enter it to the cycle computer, you can do so.
However, the total climbed amount is a very ill-defined and inaccurate concept if riding in a non-mountainous area.
For my 1.4 hour long ride, a local map service gave 471 meters of climbing. Google Maps gave 188 meters of climbing. The cycle computer measured it as 301 meters of climbing out of which 1 meters was the outdoors-to-indoors drift and 5 meters was the ambient air pressure drift so without drifts it gave 295 meters.
Why the difference between local map service and Google Maps? Why the difference between a map service and cycle computer?
The difference between local map service and Google Maps is probably due to Google Maps having less accurate altitude data in my area. If it is using a coarse altitude grid, it is not measuring every single small hill. Thus, it gives less total climbed amount due to the inaccuracy of the data.
If we take the 471 meters of total climbing given by the local map service as accurate, why does not the cycle computer measure the total climbed amount as 471 meters but rather measures it as 295 meters (plus drift)?
The reason is what you count as a hill. The cycle computer having 1 meter resolution cannot count hills smaller than 1 meters as a hill. Also, counting a 1-meter hill as a hill could cause some minor variations in local air pressure to increment the total climbed amount counter even though the terrain was completely flat!
Thus, the cycle computer must set some threshold. I don't know what the threshold of this Sigma 14.16 STS is. The cycle computer then counts only hills larger than the threshold. If riding in a mountainous area, it gives very accurately the total climbed amount. If riding in very flat terrain, you might want to count even the smallest hill which the cycle computer doesn't do.
Also, air pressure varies between 96 000 Pa and 104 000 Pa typically near the sea level. Thus, the maximum amount the cycle computer can reasonably drift is about 700 meters. Of course this can only occur if the variation between 96 000 Pa and 104 000 Pa occurs when riding the bike. If it occurs when parked, the cycle computer doesn't count it. So it is extremely unlikely to ever encounter this 700 meter altitude drift, but in theory it is possible.