Standard atmosphere calculations

International Standard Atmosphere for Aircraft rapid decompression calculations

Aircraft rapid decompression calculations require a $\Delta_P$ between cabin and ambient atmosphere as a basic data.

Given a given Cabin pressure $P_{cabin}$, $\Delta_P$ is easilly calculated: $\Delta_P = P_{ambient} - P_{cabin}$

Ambient pressure $P_{ambient}$ is determined by using Standard Atmosphere, also known as ISA (International Standard Atmosphere). ISA defines the atmosphere’s properties (pressure, temperature, density) as a function of altitude.

A good reference for a mathematical model of the atmosphere is the NACA report 1235 ( This report is based on the ICAO standard atmosphere. As stated in SAE AIR5661:

Consequently, atmospheric properties calculated from NACA Report 1235 equations will match data provided in more current publications, such as for the U.S. and ISA Standard Atmospheres.

Standard atmosphere for the [0km - 11km] range (troposphere)

NACA report 1235, eq.18:

$$ \frac{P}{P_0} = \left[\frac{T_0 - a\times H}{T0}\right]^n=\left[\frac{T}{T_0}\right]^n$$

derived from properties at sea level, with $n=5.2561$, and where $H$ is the altitude in $meters$:

$$P = 101325 \times \left ( 1-2.25569\times 10^{-5}\times H\right ) ^{5.25616}\ [Pa]$$

The temperature are varying linearly in the troposphere (NACA1235, eq.13):

$$T=T_0-a\times H$$

where $a=0.0065°C\times m^-1$ is the troposphere lapse rate

Standard atmosphere for the [11km - 20km] range (stratosphere)

Once Tropopause (the boundary layer between the troposphere and the stratosphere) is passed, we reach the stratosphere.

NACA report 1235, eq.30:

$$ log{\frac{P}{P_0}}=n\times log{\left[\frac{T_0-aH^*}{T_0}\right]}-B(H-H^*)$$

$$P=0.223356 \times 101325 * e^{-0.000157688 * (H-11000)}$$

The temperatures in the stratosphere are considered constant and equal to Tropopause temperature $T^*$:

$$T=T^*=216.66\ K$$

where $T^*$, $P^*$ and $H^*$ are respectively the Temperature, Pressure and Altitude for Tropopause.

What looks it like? A bit of python

Let see now which those equations draw. We will run for that a couple of Python codelines. Let’s write a function isa(altitude) that returns a tuple (pressure, temperature):

In [1]:
from math import log, exp, sqrt  # import some useful mathematical stuff

def isa(altitude):
    """ return a 2-uplet (pressure, temperature) depending on provided altitude.
    Units are SI (m, PA, Kelvin)"""
    if altitude<=11000: 
        # troposphere
        pressure = 101325 * (1 - 2.25569E-5 * altitude)**5.25616
        temperature = 288.14 - 0.00649 * altitude        
    elif altitude<=20000:  
        pressure = 0.223356 * 101325 * exp(-0.000157688 * (altitude - 11000))  # stratosphere
        temperature = 216.66        
        raise ValueError('altitude out of range [0-20000m]')
    return (pressure, temperature)

Calculated over the altitude range [0-20000m], this looks like:

In [2]:
altitudes = range(0, 21000, 1000) # altitudes from 0 to 20000m every 1000m

# calculate (pressure, temperature) for the given range and put them in a list
values = [isa(alt) for alt in altitudes]  # pressure, temperature for all altitudes
# split temperature and pressure into two lists
pressures = [data[0] * 1E-5 for data in values]  # convert from Pa to bar
temperatures = [data[1] for data in values]  #  Kelvin
# we will also store ``pressures_pa`` for la ter use
pressures_pa = [data[0] for data in values]

We will plot temperature and pressure using the amazing Bokeh library

In [3]:
# import plotting functions
from bokeh.plotting import figure, output_notebook, show
from bokeh.models import LinearAxis,Range1d
output_notebook()  # prepare it for current notebook