My last blog post talked about how GPS altitude works in theory. Now then, how does it work in practice?
Above is the elevation profile of my GPS sitting outside on a table at 139 feet for three hours. No, there was no earthquake, that's just GPS instability. Things get really bad towards the end, but even on the "good" part the measured altitude wanders by nearly 50 feet. Average altitude was 137 feet, standard deviation of 23. (See also my horizontal track: 120' of travel!)
For my recreational purposes that large error is acceptable, and in flight the tracks are better than the above would suggest. For instrument navigation pilots use something like the GNS 430W, which for $8000 is accurate to within 6 feet and is certified to let you fly approaches as low as 250 feet above an airport you can't see in the fog. You can get even more accurate with a radar altimeter: $10,000 gets you your altitude over the actual ground below you to within 3 feet. Ironically, pilots seldom use anything other than pressure altitude for actual navigation altitude. A barometer in a steam gauge may not be terribly accurate, but it's not bad when calibrated and close to the ground. Also it's important all planes up in the air have the same kind of error, so we all use the old tech.
Most GPS users don't care about GPS altitude either. Most people are on the ground, jogging or biking or driving, and there you're much better off using a database to know your current height. GPS altitude is useful for me in my flight tracking, just to see if I flew where I was supposed to. Even there it's annoying because sometimes the error puts me below the runway and Google Earth doesn't render that very well.
One last caveat about GPS altitude and GPS in general. If you really care about your position you also care about RAIM. Sometimes GPS satellites fail or are in an inconvenient place. It's mostly predictable, you can look at a RAIM prediction map that shows a pessimistic view of GPS service. A high end GPS receiver with RAIM will constantly do crosschecks on the measured position and alert you when the position data is not high quality.
(Parenthetically, I love my inaccurate AMOD data logger. It's very easy to use and at $65 is just fine for my recreational purposes. It's based on the well-regarded SiRFstar III chipset and even does WAAS to correct for ionospheric errors. Part of why my experimental error was so large may have been because I have static navigation turned on: when stationary, it may be better to turn it off.)