2
$\begingroup$

I have some recorded commercial flight data that contains altitude readings defined as "uncorrected pressure altitude." So I have a sequence of lat/lon/alt/timestamps as the aircraft travels about. My ultimate goal is to convert this altitude to an approximation of a WGS84 altitude (height above the WGS84 ellipsoid). The data is from USA if that makes a difference.

What pieces of information would I need, and what formulas should I use, in order to "correct" the uncorrected pressure altitude? Would correcting the pressure even be helpful for my WGS84 goal? (I'm under the assumption that a corrected pressure would help me get to a MSL altitude, and then there's a conversion to WGS84 altitude).

Any advice?

$\endgroup$
2
  • $\begingroup$ Do you have date and time of the flight? $\endgroup$
    – DeltaLima
    Oct 8 '21 at 19:04
  • $\begingroup$ Yes, it has many timestamps. $\endgroup$ Oct 8 '21 at 21:34
4
$\begingroup$

Frame challenge: when aircraft are operating below the transition altitude (which in the USA is 18,000' MSL), ATC radar scopes will correct the reported pressure altitude and display the proper MSL figure (rounded to the nearest 100'). If you are only dealing with a small number of flights, you may be able to submit a FOIA request to the FAA and get the stored track data. I do not think this information is kept for a long time, perhaps only 45 days or so.


Some background: transponders always report altitude in flight levels, that is, they report their altitude assuming the local sea-level pressure is 29.92 inHg (1013 hPa). It is up to the receiving station to correct this altitude according to the true local atmospheric pressure and thereby determine the aircraft's MSL altitude. For more information, see Wikipedia: Flight level, PPRuNe: Converting Mode C flight levels to altitudes (and the linked Aviation Formulary site), and Av.SE: How does one calculate true altitude?.

The equation you need, from the Formulary, is:

  • Find pressure height (altitude) $H_\text{P}$ (in feet) given indicated height (altitude) $H_\text{I}$ and the altimeter setting $A$ (in inches of mercury):
    $$ H_\text{P} = H_\text{I} + 145442.2 \left(1- \left[ \frac{A}{29.92126} \right] ^ {0.190261} \right) $$ or reversed to be more relevant for your question, that is, find the indicated altitude given the pressure altitude: $$ H_\text{I} = H_\text{P} - 145442.2 \left(1- \left[ \frac{A}{29.92126} \right] ^ {0.190261} \right) $$

Note that this will only get you the indicated MSL altitude; that altitude will still not be truly accurate due to other factors, mainly the fact that the rate of change in air pressure is also dependent on temperature. So there is another equation:

  • Find true height (altitude) $H_\text{T}$ (in feet) of an aircraft, given indicated calibrated altitude $H_\text{C}$, field height (elevation) $H_\text{F}$ of the station providing the altimeter setting, average deviation $D$ (in Celsius) from standard temperature in the column of air between the aircraft and the reporting station, and air temperature $T$ outside the aircraft: $$ H_\text{T} = H_\text{C} + D \left(\frac{ H_\text{C} - H_\text{F} }{ 273 + T } \right) $$

I am not sure what the relationship is between indicated altitude $H_\text{I}$ and calibrated altitude $H_\text{C}$, besides the fact that "calibrated" means the value has been adjusted for equipment discrepancies in the altimeter unit itself (as compared to discrepancies in meteorological conditions). It may be that we assume $H_\text{C} = H_\text{I}$. But in any case your data does not include $D$ or $T$ so the second equation is of little use, and you will have to be content with only knowing the indicated altitude.


To perform this correction after the fact, you will need to locate nearby altimeter settings that were current when the aircraft passed by for each data point in your set.

A google search for "archived METARs" resulted in this Av.SE answer which suggests OGIMET. You will have to search by station identifier rather than lat/long so the process will be quite arduous, I'm afraid. (See skyvector for some hints about which station to search for; the colored dots indicate reporting station locations.)

The piece of information you're looking for is the altimeter setting, which is the letter A followed by four digits. In the US that number represents hundredths of inches of mercury, e.g. A2992 indicates a setting of 29.92 inHg.


As for conversion between MSL and WGS84 elevation, I have no suggestions beyond another google search which led to this GIS.SE question.

$\endgroup$
6
  • $\begingroup$ Thanks for the input. Is there any kind of website or organization I could contact to try and get some of those "nearby altimeter settings" that hopefully were recorded near the timestamps of interest? $\endgroup$ Oct 8 '21 at 17:28
  • $\begingroup$ @SittinHawk How long ago are the flights? $\endgroup$
    – Ralph J
    Oct 9 '21 at 1:53
  • $\begingroup$ A few weeks old $\endgroup$ Oct 10 '21 at 16:55
  • $\begingroup$ @SittinHawk see my updated answer. $\endgroup$
    – randomhead
    Oct 12 '21 at 3:20
  • 1
    $\begingroup$ I would suggest that instead of nearby altimeter settings, get ahold of an isobar chart for the area on that day. Plot your course across it and you will be able to see the pressure gradients so you can interpolate as many points as you like along the route of flight. $\endgroup$ Oct 13 '21 at 4:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.