Density Altitude and ISA Altitude
Keith Thomassen, PhD, CFII

In aviation, altitude has always been determined from a static pressure measurement at the aircraft and converted to altitude by a formula that uses a so-called International Standard Atmosphere (ISA). Even though we can now determine our altitude far more accurately from a WAAS GPS position solution, barometric altitude is still the international standard so it is important to understand a little of the math that converts pressure to altitude at your location, and to know why there are errors and how big they might be.

The Barometric Law

There is a simple relationship between a very small change in pressure (dp) at your location caused by a very small change in elevation (dz) known as the Barometric Law. The Law is derived mathematically from the fact that the air pressure at any height in a column of air with unit area is just the weight of all the air above it (force = mass x acceleration = mg). Before writing down the equation relating pressure and height, a scale factor H for height can be introduced. The product mgH = kT defines it, where T is the temperature in degrees Kelvin, g = 9.8 m/sec/sec is the acceleration due to gravity, k is Boltzmann's constant, and m is the average mass of the air molecules in a column of air. That mass is about 29 times the mass of a proton, determined by the mix of oxygen and nitrogen and other trace gasses in the air. This is for dry air, and there will be errors if there is moisture in the air. The moisture in the air (H2O) has a mass is 18 times the mass of a proton, and you add the partial pressures of dry air and moisture to get total pressure.

You can compute H at a particular altitude if you know the temperature at that altitude. At sea level the ISA temperature is T0 = 15° C = 288° Kelvin, (add 273° to the temperature in Centigrade). Then, you get H = H0 =27,500 ft. Since H is proportional to temperature, it will typically be less than this as you go up in altitude (unless there is a temperature inversion). So, at different temperatures, change the value of H from 27,500 in the ratio of T/ T0. At 5,000 ft, with a typical temperature drop of 10° C you get H = 26,545.

With this definition of H, the barometric law is H dp = - p dz, which is an equation relating the differential changes dp and dz. So, if we make a pressure decrease of dp = - 0.01 in Hg, then the change in height is dz = H/100p. At sea level, with p = 29.92 in Hg and H = 27,500 ft, dz = 9.19 ft. For a change of 0.1 in Hg, the altitude is about 91.9 ft. (Remember the old rule that a 100 ft altitude change is about 0.1 in Hg).

Writing the barometric law as a derivative you get dp/dz = -p/H. Calculus students will recognize the solution as an exponential when H is constant (which it is not). That solution is p(z) = p(0) exp{-A} with A, defined as z/H, being a normalized height (scaled by the factor H). Here, p(z) means the pressure as a function of altitude z, and p(0) means the pressure where z = 0. You could choose z = 0 at mean seal level, or at a reporting station at an altitude above sea level. But, altimeter settings are not reported as the actual pressure there, but instead as a correction to the sea level pressure at that location. So if you want to take z = 0 at the reporting station you would first have to calculate the pressure at the station elevation using the Standard Atmosphere Model and the baro correction there to get the answer. Then, you could use that as the starting pressure p(0) and calculate pressures AGL as z increases.

Altitude as a function of Pressure

The barometric law shows that the pressure drops (approximately) exponentially with altitude. This would be exactly true if there were not a variation of H with altitude. That is, H(z) is not a constant as z increases since temperature is a function of z. Specifically, with T0 being the sea level temperature

H = H0 T(z)/ T0
But at 10,000 ft, with a typical drop in temperature of 2° C per 1000 ft, the standard (ISA) temperature would be 268 ° K and not 288 ° K. That's about a 7% error, so estimates using a constant H = H0 are only approximately correct. In a minute I'll give you an equation for pressure (p) versus altitude (z) that uses the Standard model to represent H(z) as it changes with altitude. But for now, let's just assume H is constant and invert the solution (take the natural logarithm of each side) to get
z = H0 L(z) with L(z) = ln {p(0)/p(z)}

Let's illustrate this by asking what altitude goes with a measured pressure at your aircraft, where z = h and p(h) = 21.43 (inches of Mercury). We'll take the sea level pressure to be p(0) = 30.13. The pressure ratio is 1.405 and the natural log of that is L(h) = 0.34. So, your altitude is z = h =LH0 or 9,350 ft. We used the specific value of L when z = h.

The problem in calculating altitude from your local pressure is that you have to know the temperature of each altitude slice below you, specifically for each parcel of air between you and the ground station that's reporting a corrected barometric pressure (referenced to MSL at the station). If you know the variation of temperature with height then you know how H(z) changes in direct proportion. With that, you can integrate the barometric equation and then (again) take the natural logarithm of each side to find the factor A(z) as a function of z; The new definition of A(z) when H is not constant is;

A(z) = ∫ dz/H(z) = ln {p(0)/p(z)}
The integration continues to a height at which A matches the log of the pressure ratio (sea level pressure divided by the pressure at your altitude). This is called an integral equation, and could be solved if you knew the temperature profile, and thereby the function H(z). For those not familiar with integrals I'll tell you how to calculate A(z). Integration is just the addition of very small slices, so in a column of air starting at sea level, make very small vertical slices (thickness dz) of the column. Compute dz/H and move to the next slice, with the same thickness dz but a slightly lower H. Add all these together, all the way up to an altitude z and that equals A(z). To find your altitude, z = h, you must find where A(h) matches the logarithmic pressure ratio L(h).

The Standard Atmosphere

If you launch a balloon with instruments that record temperatures all the way to your altitude you could do the integration of dz/H. Since this is impractical, a Standard Atmosphere model is used to characterize the temperature change with altitude and to define sea level standard conditions. The model is that the sea level temperature is T0 = 288° K (15 °C), the pressure there is 29.92 in Hg, and the temperature drops (for dry air) at an average lapse rate of 1.98 °C per thousand feet. So the temperature model is T(z) = T0 (1 - 2az), where the factor a is defined from 2aT0 = 1.98°/1000', and T0 = 288°. Corrections to non-standard MSL pressure are taken care of by setting the local baro correction in the Kollsman window.

Using this function T(z) we can do the integration of dz/H. The integration can be done exactly, but the form of the answer is messy, and a good approximate answer (for ah << 1) is more illuminating. Using this approximation in the integration is good up to fairly high altitudes, and results in the following equation for h. (We want to find when z = h; we use z for the variable altitude in the integration, and h for our fixed altitude.)

L(h) = ln{p(0)/p(h)} = A(h) ≈ h(1 + ah)/H0
This is a quadratic formula for h as a function of the logrithmic pressure ratio L(h) at our altitude. It too could be solved exactly, but an approximate answer consistent with the approximation ah << 1 is
h/H0 ≈ L (1 - aLH0)
Again, we are using L = L(h), the value for L when z = h. In our last example the logarithmic ratio at z = h was L(h) = 0.34 and the answer was h = LH0 = 9,350 ft. But here, the quantity aLH0 is 0.032 (a 3.2% correction) so the altitude is 0.968(9,350) = 9,051 ft.

Altitude "Errors"

In the example problem we showed that there was a 3.2% change to our altitude calculation when temperature is not constant, but instead drops with altitude according to the ISA model. This is a model correction, not an error per se. Errors are when the atmosphere does not match the ISA conditions (which it very rarely does). Altimeters are constructed to display altitude according to this model. So our correction simply accounts for the standard variation of H in the model. But if we found a day when the temperature was in fact (approximately) constant for the first 9,000 ft above MSL, then that correction would indeed represent the error from what our altimeter shows. Our altitude would be 9,350 ft but the altimeter would show 9,051 ft.

You could now use this formula to compute differences in the altitude calculation from simple deviations from the ISA Model, like different lapse rates and different MSL temperatures. You could for example verify the old admonishment, from high to low, look out below. But you couldn't compute the actual altitude without complete data on the atmosphere. For example, suppose the lapse rate on the day we're flying is 3° C per thousand. The correction from the model is proportional to the lapse rate. So a 50% increase in lapse rate means a 50%, change in the model correction, from 300 ft to 450 ft in this example. In that case, the error in our altitude (according to these assumptions) is 150 ft. We would be 150 ft below the model estimate of 9,051 ft.

In summary, without actual data on the atmosphere we can only estimate the altitude from a pressure measurement at your aircraft.

Baro Correction

So what does it mean when your airport is at an elevation of 3000 ft and you are told the altimeter setting (baro pressure) is pb = 30.27? Clearly that is not the pressure at the airport, but it tells you that if you use the standard model but with sea level pressure of 30.27 the model will give you the correct pressure p for your airport. Writing the solution given earlier with this notation,

p = pb exp{-h(1 + ah)/H0}   or   pb = p exp{+h(1 + ah)/H0}
For our example, h = 3000' so ah = 0.0104, we have L = 1.0104 h/H0 = 0.1102. This is the logarithmic pressure ratio, so the actual pressure ratio exp{0.1102} = 1.1165 = 30.27/p giving our local pressure as 27.11 in Hg.

Density Altitude

As the air heats up it becomes less dense, meaning an air packet contains fewer particles per cubic meter. Fewer particles in the air means less lift at a given airspeed, on both the prop and airframe. The air mass density ρ is the product of the particle density n (particles/m3) times mass m particle, i.e., ρ = nm, and lift is proportional to this mass density. The lift per unit area of wing is proportional (through the coefficient of lift) to the kinetic energy (K.E.) of the air mass moving at velocity v relative to the airplane; K.E = ½ ρv2. So less mass density means less lift.

A popular way to express this loss of performance at your airport on hotter days is by its density altitude (DA). It is defined as the altitude at which air with this same density would be found on a standard ISA day. Hotter than standard air is less dense so would normally be found at a higher altitude. To calculate density altitude we need to have a formula for air density n (particles/m3). It is very simple; from the kinetic theory of gasses, the pressure p = nkT, where again k is Boltzmann's constant. Consequently, the particle density is p/kT, decreasing with decreased pressure and increasing with decreasing temperature.

In the standard model, pressure drops exponentially with altitude while temperature drops slowly with altitude, so the pressure drop wins and density drops with altitude. We want to find an altitude using the standard model that has the same air density as at the airport in question. Defining the pressure and temperature at the ground and in the air using subscripts g for ground and a for air, and equating the density at both places gives

pg/Tg = pa/Ta   or   pa = pg Ta/Tg
Since the formulas only involve ratios of pressure, we can use any consistent set of units and we choose the usual inches of mercury (in Hg). Temperatures must be in degrees Kelvin (°K). By definition, we use the Standard model for values in the air above, but use actual ground values of pg and Tg. Again, we are taking the pressure to be that of dry air and neglecting the partial pressure of water vapor.

This equation for pa can be substituted into the altitude equation of the last section,

pb = [pg Ta/Tg] exp{h(1 + ah)/H0}
Finally, with Ta = T0 (1 - 2ah)] and taking the logarithm of both sides, we have a formula for the density altitude h in terms of known parameters pb, pg, and Tg. You have to solve this equation for h.
h(1 + ah)/H0 = ln {A /(1 - 2ah)]}   with   A = pb Tg /(pgT0)
To begin, lets take advantage of the fact that ah << 1 [aH0 = 0.0945 so ah is small]. Expanding (1 - x)-1 ≈ (1 + x) for x << 1, the right side of the equation is approximately ln A(1 + 2ah). Next, since ln (Ax) = ln A + ln x, the result is
h(1 + ah)/H0 = ln A + ln (1 + 2a h)
But, for small values of x, ln (1 + x) ≈ x = 2ah. Then, since K = ln A is a constant we have a fairly simple quadratic equation;
h(1 + ah)/H0 = K + 2ah   or   ah2 + h(1 - 2aH0) - KH0 = 0
Substituting the value for aH0 = 0.0945, the solution is given by the quadratic solution to this equation.
ah2 + 0.8109 h = KH0 so DA = h = - b/2a + √{(0.8109/2a)2 + KH0/a}
In the example earlier of a 3000' airport where pb = 30.27 so that pg = 27.11, suppose the temperature is 100°F and we want to determine the density altitude. Converting to °C then °K, we have Tg = 37.78 °C = 310.78 °K. Then,
A = 30.27 x 310.78/(27.11 x 288) = 1.2048 and K = 0.18633
Also, KH0 = 5,124 ft, which would be the DA for a = 0 (zero lapse rate). The quadratic solution gives h = 6,158 ft, about double the field elevation. Clearly, you would not do this calculation in a practical situation. Density altitude is generally announced on ATIS, so you don't need to calculate it yourself. But from an educational perspective, knowing what principles are involved adds to your knowledge, and hopefully this article does that.

Home