# 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.

http://en.wikipedia.org/wiki/International_Standard_Atmosphere

A good reference for a mathematical model of the atmosphere is the NACA report 1235 (http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19930090991.pdf). 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):

```
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
else:
raise ValueError('altitude out of range [0-20000m]')
return (pressure, temperature)
```

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

```
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

```
# import plotting functions
from bokeh.plotting import figure, output_notebook, show
from bokeh.models import LinearAxis,Range1d
output_notebook() # prepare it for current notebook
```