How to correct your altimeter data

As with quite a few things on this website, you will see that for me "the devil is in the details". My overall philosophy of life is that if you take care of all of the details, everything else will work out. Anyway, this document gives you a method of making a fairly subtle correction to altimeter data you take during a hike to produce a truer altitude profile as a function of time.

The Standard Atmosphere

By and large, the pressure profile of the atmosphere as a function of height remains constant. If a low pressure system moves overhead, the surface pressure may be lower, but the pressures above that will also be lower. This overall profile is governed by basic laws of physics. Put most simply, the higher you go in the atmosphere, the less atmosphere is pushing down from above and thus the pressure is less. For many purposes, it is useful to define an overall average profile, including not only defining pressure as a function of altitude, but fixing the temperature at each altitude as well.

The Standard Atmosphere begins at sea level with a pressure of 1013 millibars (or 29.92 inches of mercury), and a temperature of 59F (or 15C). It is not a concidence that these values are similar to the global annual average values. By 7000 feet above sea level, the standard pressure is down to 782 mb and the standard temperature is down to 34F. At 14,500 feet, corresponding to the highest peaks of the lower 48, the pressure is down to 583 mb and the temperature is just 8F!

The peak bagger's problem

Naturally, the temperature at a given altitude is certainly not the same all the time! The chances that the temperature is identical to the Standard Atmosphere during your hike is pretty small. If the temperatures at the top and bottom of your climb are not the same as the Standard Atmosphere, the pressure difference between those two points will not yield the expected altitude difference.

For typical peak bagging conditions, temperatures are quite a bit above those for the Standard Atmosphere. At higher temperatures, a change from one particular pressure to another corresponds to a larger change in altitude than predicted by the Standard Atmosphere. This is what I will call the "Standard Atmosphere Effect" (SAE). Virtually all altimeter watches use the Standard Atmosphere to convert pressure changes into altitude changes, and are subject to this error in "warm" conditions. In effect, if you set your altimeter correctly at the trailhead and could somehow teleport to the top of a mountain rapidly enough to avoid weather changes, your altimeter will be registering a lower altitude than expected.

The result of all of this is that one can't exactly trust their altimeter. One either needs to frequently reset their altimeter, which can be difficult as there are often few unambiguous reference points between a trailhead and a summit, or one needs to estimate the correction factor to apply to their altimeter. Further problems are that if you want to track the total elevation gain for some sort of hike (summit or not), your altimeter will usually be short, and if you track things like your rate of climb or descent it will also be short. The latter problems are really only a big deal to dataheads like me, but if you've read this far, I think it is fair to say "dataheads like us"!

Strictly speaking, the correction I'm recommending here is not exactly for the SAE. It is really just a correction that sort of looks like the one that would be used. Furthermore, the correction is applied linearly with height, when that's not quite right either. This is just a reasonable, easily calculated correction for the SAE and other things that sort of behave like the SAE. It is certainly a lot better than doing nothing if you get tired of your altimeter being chronically short by amounts that may be as much as 200 feet or more.

The solution

If you are relatively comfortable using a spreadsheet, it is possible to apply this correction to an entire hike's worth of data in a handful of minutes. You need to gather a little bit of information, namely the true altitude of the trailhead and the summit (or at least some higher point on your hike), and of course you have to get the altitude information into the spreadsheet in the first place. The great thing about a spreadsheet is that once you figure out the proper correction for one data point, you can copy that cell and paste it down the rest of a column to correct the rest of the data. There are two corrections you must apply, a baseline correction to correct for pressure changes during the hike and incorrect trailhead elevation data, and then the SAE correction.

A baseline

If the atmosphere did not change during your hike, you should end with the same altitude as you recorded at the start and it should match the true altitude off of a map. If so, you can skip this step. Otherwise, we need to apply an interpolative correction given the initial error and the final error. If you do things right, your initial error should be zero; i.e., you should start the altimeter with exactly the right answer. In reality, this doesn't always work out either because of a small change in pressure while you are getting ready, or uncertainty in the actual starting elevation when you are in the field. To illustrate this correction, let's consider the following data for a brisk hike up a 13,000-foot peak starting from a 10,000-foot trailhead (don't worry about the right-hand columns quite yet):

TimeElapsedAltimeterActualBaselineCor1SAEFinal
06:000 998010000
06:101010300
06:202010620
06:303010940
06:404011180
06:505011450
07:006011600
07:107011840
07:208012080
07:309012290
07:4010012550
07:5011012700
08:001201286013000
08:1013012510
08:2014012210
08:3015011840
08:4016011490
08:5017011130
09:0018010860
09:1019010490
09:2020010200
09:30210 995010000

You can see that we were 20 feet low at the trailhead and ended up 50 feet low. That means that the atmospheric pressure rose during the climb, hopefully associated with fair weather! We can easily see the proper correction factor for the beginning and the end. In between, we assume that the pressure changed uniformly throughout the climb, and thus we need to apply a correction that changes uniformly from +20 to +50 over the 210 minutes of the climb. Thus, the correction is of the form: Cor = 20 + Elapsed*(50-20)/Total_Time, or Cor = 20 + Elapsed*(30/210). As you can see below, this generates the correction for each step given in the table. The general formula for each cell is then: Cor = Initial_error + Elapsed*(Final_error-Initial_error)/Total_Time. Note that the initial and/or final errors can be negative and the forumla will still work. It also works no matter how often you took data, or if it was taken uniformly, as long as you plug in the proper elapsed time since the beginning of the hike. Here is the revised table after we have applied the baseline correction, with all altitudes rounded to the nearest foot:

TimeElapsedAltimeterActualBaselineCor1SAEFinal
06:00 0 9980100002010000
06:10 1010300 2110321
06:20 2010640 2310663
06:30 3010920 2410944
06:40 4011180 2611206
06:50 5011450 2711477
07:00 6011600 2911629
07:10 7011840 3011870
07:20 8012080 3112111
07:30 9012290 3312323
07:4010012550 3412584
07:5011012700 3612736
08:0012012860130003712897
08:1013012510 3912549
08:2014012210 4012250
08:3015011840 4111881
08:4016011490 4311533
08:5017011130 4411174
09:0018010860 4610906
09:1019010490 4710537
09:2020010200 4910257
09:30210 9950100005010000

The "Standard Atmosphere Effect"

Once we apply the baseline correction, we can then do the main correction for the deviation from the Standard Atmosphere. In reality, this correction may not be completely due to the Standard Atmosphere Effect, but we can still assume a correction of this form.

Since we presumably know the summit elevation, we use it to make the correction. In the current example, we only have one data point at the summit. In general you may have several and what I do is average together the altimeter readings for all data points taken on the summit. As a dedicated datahead, I usually set my watch to take data every minute, so that generates quite a few summit altitude measurements. In this example, our measured summit elevation was just over 100 feet below the true elevation. In other words, the true trailhead-to-summit elevation change was 3000 feet, but we only measured 2897 feet. (Strictly speaking, we only "measured" a 2880-foot difference, and the baseline correction makes up the other 17 feet.)

The correction factor is very easy to calculate; it is simply the true elevation difference divided by the measured difference. In our case, it is 3000/2897, or 1.03555. That means that to correct our data, we have to scale the data by an amount based on this factor times the altitude gain above the trailhead implied by the altimeter. To make that last sentence comprehsible, consider a simple example. If we think we are 1000 feet above the trailhead based on the altimeter, we are actually 1000*1.03555, or 1036 feet above the trailhead and have to add 36 feet to the altimeter reading. Because we have already corrected the data so that the trailhead altitudes are equal at the start and finish, the amount of the correction applied at a given altitude on the way up and on the way down will be the same. The maximum correction will be at the summit, because that is the point where we measure the greatest difference between the current position and the trailhead.

The actual formula for each point is then: (Cor1 - TH_alt)*(1-factor), where factor is the correction factor we discussed above and TH_alt is simply the correct trailhead altitude. The (1-factor) term just means that we want the difference beyond 1.000000 to give us the amount of the correction. If we then add this correction to Cor1, we get the final corrected altitude corresponding to each data point that we took on the trip:

TimeElapsedAltimeterActualBaselineCor1SAEFinal
06:00 0 9980100002010000 010000
06:10 1010300 21103211110333
06:20 2010640 23106632410686
06:30 3010920 24109443410978
06:40 4011180 26112064311249
06:50 5011450 27114775311530
07:00 6011600 29116295811686
07:10 7011840 30118706611936
07:20 8012080 31121117512186
07:30 9012290 33123238312405
07:4010012550 34125849212676
07:5011012700 36127369712833
08:001201286013000371289710313000
08:1013012510 39125499112639
08:2014012210 40122508012330
08:3015011840 41118816711948
08:4016011490 43115335411587
08:5017011130 44111744211216
09:0018010860 46109063210938
09:1019010490 47105371910556
09:2020010200 4910257 910266
09:30210 9950100005010000 010000

And that's it! You now have a reasonably accurate true elevation profile of your hike as a function of time.

Other points

Once you have determined the altitude correction factor, you can use that information in other ways. For example, my altimeter watch also stores a climb rate, so you can get a corrected climb rate by simply multiplying by the correction factor. Similarly, if you did an up and down hike and your altimeter gives a total cumulative gain, you can scale that up by the same factor. Correction factors for high peaks under non-winter conditions are usually about 3-8% and if you are normally a summer hiker, you will find that the correction factor is fairly consistent from hike-to-hike. So, if you are somewhat good at doing arithmetic in your head, you can apply an approximate correction in real-time during a hike. I.e., if you typically find a 5% correction factor, you need to add about 50 feet to your altimeter reading for every 1000 feet that you gain. If you are doing a hike with many thousands of feet of gain, this correction really adds up. Thus, you can get a more realistic idea of your progress when you are trying to figure out whether you have the time and energy to make it or need to turn back.

It is very important to understand that this is only an approximation to the actual correction that should be applied. We have more or less assumed that air temperatures do not change very much during the hike, which is unrealistic. In effect, we are taking an average correction for the SAE and applying it uniformly to all data, when in fact the correction factor should change throughout the day. (Most likely increasing as the temperature increases.) Furthermore, I have found that the correction factor does not perfectly correlate with the temperature, which it should if the SAE is the only correction needed. However, clearly this is a major component of the required correction. One can see this in cases where accurate intermediate altitudes are available and the difference between actual altitudes and altimeter reading increase as one ascends and decrease as one descends.

Finally, a lot of you reading this might be thinking, "when the hell is he going to mention GPS?!?!" The problem with GPS altitudes is that you really have no way of knowing when the altitudes are truly reliable. In many cases they are quite good; i.e., on a high ridge with good satellite coverage if you let the unit accumulate data for a while. On the other hand, GPS altitudes can be 10x as inaccurate as the horizontal positional accuracy and the altitude reading seems to be much more sensitive to the relative positions of the satellites. One satellite "winking" on or off can cause an abrupt change in the reported altitude.


Contact information

Back to the mountaineering essays index

File last modified: 14 September 2009

Valid HTML 4.01! Valid CSS!