Indicated vs true altitude in MSFS is not affected by temperature

It seems like temperature is not taken into account in altimetry. In the real world we need to correct the indicated altitude for cold temperature (below 0C at ground level). In MSFS temperature has absolutely no effect on the true altitude. I flew an ILS approach at my local airport down to baro-minima of 330 ft (200 ft DH) with -50C, the radio altitude was indicating 200 ft, I paused the sim and changed the temperature to +45C, the indicated altitude does not change at all! In my opinion this should have been an area of focus for the previous update together with improving the icing effects instead of visual goodies like snow and frozen lakes (although nice, preferably I want both).

OAT -50C

OAT +45C

Btw: when looking closely you can spot the (blue) bearing pointer overlapping with the (green) CDI needle, pointing to the localizer antenna. In real life it is not possible to receive a bearing to / from a localizer antenna. Also the “ISA” is not showing ISA deviation as it should on the real G3000.

It would be nice if there was an implementation of indicated altitude being affected by the ambient temperature (e.g., when it’s cold, an indicated altitude of 5000’ may be 4050’)

Hope what I’m requesting makes sense:


I figuered that the Altimeter is not influenced by change in Temperature. That is the case in real life though. Air expands as the temperature increases and it compresses when the temperature decreases.

image source:

When it is colder than ISA, the air column is compressed and therefore you are flying lower than the altimeter is indicating. In other words: the altimeter will over read in cold air.

So to fly safely over an obstacle at a cold day, you have to add extra margin to the obstacle’s height, because your altimeter will show a higher altitude than your true altitude.

I think the real issue is the change in pressure isn’t reflected when temperature changes. There is an inverse relationship between temp and pressure. If all that changes in your situation is the temp, the sim isn’t automatically adjusting the pressure to reflect the change in temp. The correct change in pressure associated with the change in temp would cause the altimeter to more accurately represent correct conditions.

1 Like

Of course that is the problem, temperature affects the “height” between pressure levels, so yes if it is colder those pressure levels are closer together, the altimeter is calibrated to show the correct altitude for International Standard Atmosphere of 15C with a -1.98C delta up to FL360. So yes for everything colder than ISA the altimeter will overread and vice versa.

Did you test that with live weather?
I dont know if that really makes a difference, but setting up own weather mostly results in unreal physics, i.e. for example no temperature change with increasing altitude

But if the air density changes depending on the temperature. Wouldn’t the barometric pressure would be different too?

I mean, 29.92 is still 29.92 regardless of temperature, right? If the average temperature is on 29.92, then wouldn’t a warmer temperature be having 29.52… Or that cold temperature would be 30.12? Which means as long as you’re changing the barometric pressure to the true and correct barometric pressure, your true altitude and the indicated altitude will always be the same.

You’re right that the sim does not change the pressure at a given height when the temperature is changed, even though it does change the density. Changing the pressure correctly for temperature does not help altimeters more accurately represent current conditions. At @anon50268670 points out, altimeters are calibrated to ISA conditions of pressure and temperature (density). If the temperature changes, that should change the pressure, which would result in the airplane climbing or descending to maintain the same pressure altitude, which is not the same height above the ground.

By not changing the pressure for temperature changes, MSFS is sort of doing the temperature correction for them that would normally be necessary on cold days to maintain obstacle clearance. Since MSFS doesn’t reflect the temperature effect, an MSFS pilot continues to maintain the same obstacle clearance regardless of temperature.

I’m not sure why this is a new thread. I pointed this out in a different thread a week or two ago.

There’s a reason there’s only a pressure adjustment on altimeters, and not a temperature adjustment. Airport altitudes are listed as MSL. A correctly calibrated altimeter set to the current local atmospheric pressure will always give you the same clearance over obstacles regardless of temperature. Temperature primarily affects density altitude, which affects engine and wing performance, not your altimeter. That’s one reason your stall speed (in IAS) will be exactly the same at sea level as it is at 5000 MSL. Your TAS will be quite different at those locations, but that’s why airspeed markings (white arc, blue mark,etc) are always accurate no matter what altitude/temp you’re at.

The topic isn’t about why there’s no temperature adjustment to altimeters nor about airspeed markings. The issue is that MSFS does not correctly portray the difference between pressure altitude and temperature for off standard day conditions. FYI, it also doesn’t correctly portray the pressure altitude for other than a sea level pressure of 1013.25/29.92.

Your statement that “a correctly calibrated altimeter set to the current local atmospheric pressure will always give you the same clearance over obstacles regardless of temperature” is incorrect. Again, temperature does not affect your altimeter, but it affects the variation of pressure with altitude. Altimeters are calibrated to one pressure variation with altitude, the one that occurs with an ISA temperature variation.

1 Like

As @AwarePlot117729 already points out this statement is completely wrong. With the correct QNH set at non-standard temperature the altimeter will only read correctly on the ground as the calculation of QNH is done via ISA tables. In my example at -50C the difference between indicated and true altitude at 200 ft AAL should have been 60 ft (true altitude / radio altitude 140 ft).

I’m a real world pilot and in real life we need to correct the MSA and everything below it for cold temperature when temperature at ground level is 0C or below. The deviation caused by non-standard temperature above 0C at ground level is already taken into consideration in obstacle clearance or found insignificant. Still the altimeter is not showing density altitude in any case! The altimeter indeed does not have a temperature selector or anything but most FMCs have a temperature compensation function which, when activated applies the correction to all MCDU altitudes.

You could correct for temperature any time temperature is non-standard (also above ISA, in that case you could safely fly at lower indicates altitudes for the same obstacle clearance) but it becomes a requirement at 0C or below. So yes temperature does affect the true altitude of an aircraft, its a real thing. Below ISA your true altitude is lower than the altimeter indicates (altimeter over reads), above ISA your true altitude is higher than the altimeter indicates (altimeter under reads).

“From high to low, watch out below”

It is nit-picking maybe but the airspeed indicator red and blue marks are actually correct at SL and only in standard atmosphere :smirk:.


I have a question about this though. Isn’t barometric pressure always the same regardless of temperature? I mean, a temperature of 0 degrees versus 30 degrees where both are equally at 1013 HPa would have the exact same air density.

I would think that even though it’s true that temperature as an effect on barometric pressure, where the colder the air the more dense the air pressure is, and the warmer the temperature the less dense the air would be.

So from my understanding, that if you have a 0 degree at 1013 HPa, then a 30 degree would have been 997 HPa (not an accurate calculation, but that’s the general idea). I would think that if you change the air temperature only but you keep the barometric pressure. Then the air density would still be the same, thus making the indicated altitude stay the same.

Unless you change the temperature and the barometric pressure together. Then that should make the indicated altitude to change.

No, density is depending on pressure, temperature and humidity. Consequently, two air masses at 1013 hPa might still have different air densities as temperature and humidity might be different. Colder air being more dense (more mass per volume) when compared to warmer air.

The altimeter is calibrated according ISA. Which means that 1 hPa equals 27 ft (only works at lower altitude), when it is colder those pressure levels are closer together and the difference between two pressure levels 1 hPa apart is no longer 27 ft. The altimeter is calibrated only via ISA and therefore starts to over read. Hope that makes sense.

The thing is this, the altimeter is a pressure instrument and does not correct for changes in density. For example with altimeter set to standard, at 697 hPa ambient pressure the altimeter always reads 10.000 ft because in ISA, 697 hPa is 10.000 ft above sea level. The air density at this 697 hPa pressure level might vary since air density is affected not only by pressure, but also temperature and humidity. The altimeter, being a pressure instrument, only takes the pressure into account. The altimeter measures the ambient pressure and converts this to altitude above sea level in International Standard Atmosphere.

In other words the real (true) altitude of this 697 hPa pressure level above MSL varies first of all by the actual pressure at sea level (QFF), but you already correct for that by setting the correct QNH. Even when assuming standard pressure the true altitude of this 697 hPa level still varies as a function of temperature, when it is colder 697 hPa is closer to the ground and vice versa. The altimeter does not take this into account. It measures 697 hPa, in ISA this level is 10.000 ft above sea level so the altimeter shows 10.000 ft (also not true in MSFS btw because of another bug).

Another way to visualise this is with liquid, just imagine a column of water. The pressure is highest at the bottom because there is all this water above you pressing down. The pressure is lowest at the top as there hardly is any water above pressing down. Its the same with the atmosphere. If you now heat up the water, the water will expand. The pressure at the bottom remains unchanged as you still have the same mass of water above you, the size of this water column has changed however and the top is now higher above the surface. Now imagine that the altimeter is calibrated to convert pressure into altitude correctly at only one particular water temperature. Whenever the water is warmer or colder the whole column expands or shrinks but the altimeter is not able to take this effect into account. It reads correctly at the bottom and then starts to either over or under read.


The slope of the curve of pressure vs height is a function of density, which in turn is a function of temperature. Regardless of what the pressure is at sea level, for example, the pressure 1000 geopotential feet higher will be different for different temperatures. Assume you take off from a sea level airport. On an ISA-35C day, when your altimeter says you are at 2300 feet, you will actually only be 2000 feet above the ground level. That’s because the pressure did not change by the same amount per foot because the air density is different for different temperatures. the altimeter is calibrated for the ISA temperature pressure vs height relationship.

Oops, I guess @anon50268670 and I were replying in the same way at the same time (except he beat me to it)!


Anybody here have FSX or P3D and can confirm whether the same issue exists in those sims, which share the same base as MSFS?

Ahh good to know thanks… But wouldn’t that mean it’s better to set the altimeter depending on the true air density instead? Because it already takes pressure, temperature and humidity all taken into account. So everyone would have the same true reading?

Yes absolutely. This would solve all the altimeter problems. However, measuring density is not that simple. I have never heard of a device that could. Think of it. Density = mass/volume. How can we weigh the air around an aircraft and divide by its volume? And what is the volume we have to take then? It is not a stupid question, good that you think about different solutions! But we can easily and relatively accurately measure altitude by pressure. Reading a pressure requires nothing but a static port, pressure duct and some mechanical linkage to do the transformation from pressure to altitude. This method is very easy, lightweight and grown accustomed in aviation. Unfortunately, the pressure we measure differs from the mechanical transformation we do in our altimeter (which is calibrated to the ISA), so we have to take all the different altitude settings and adjustments for granted.

1 Like

Its not gonna solve anything, I think calculating the actual air density using ambient pressure and Static Air Temperature (SAT) is the easy part. But then what? How do you convert this into a true altitude above sea level?

You’ll need to know the actual density at sea level and for that you need the actual ambient pressure and temperature at ground level, know the field elevation and convert this into density at sea level. Which is already impossible to achieve, instead of a subscale for pressure you’ll also need an input for sea level temperature and keep those updated wherever you fly.

Still, even when knowing the actual density and sea level density, how do you convert these into true altitude? The density does not reduce by x amount per 1000 ft as temperature may vary greatly by altitude due to inversions etc. affecting density.

On top of all of this all aircraft have to do exactly the same, calculate the same altitude with all those variables in order to maintain safe separation. In other words you’ll still end up flying above some standard density en-route just as we are doing now with 1013. In short, its a lot of complexity added and not solving anything, its not practical. The temperature correction we are discussing here only works very locally (departure / arrival MSA and below).

But nothing to worry about because MSFS always shows the correct true altitude :upside_down_face:.

Air density is measured in gr / m3 (1.225 gr / m3 at SL in ISA), I assume its possible to calculate with ambient pressure and static air temperature by the ADC. Anyway an air density based altimeter is not gonna solve any problems. I think calculating air density itself is least of the problems, converting this into a (true) altitude above sea level is a far bigger issue, see the above post.

For anyone interested, this it the official temperature correction table:

And the unofficial one I made myself (using the same formula) with smaller increments in temperature and altitude for more precise calculation:

1 Like