ATMOSPHERE_1976
This function evaluates atmospheric state and transport properties using the U.S. Standard Atmosphere 1976 model at a specified geometric altitude. It returns temperature, pressure, density, gravitational acceleration, dynamic viscosity, thermal conductivity, and speed of sound.
The model represents a piecewise-standard atmosphere with optional temperature offset dT applied to the standard profile. It is valid from below sea level up to the lower thermosphere range used by the 1976 standard.
For the returned pressure and density behavior, hydrostatic balance and gas-law relations are embedded in the atmospheric formulation:
\frac{dP}{dz}=-\rho g, \qquad P=\rho R T
The output is structured as a single-row 2D array for Excel compatibility.
Excel Usage
=ATMOSPHERE_1976(z, dt)
z(float, required): Elevation above sea level in meters (valid range -610 to 86000 m).dt(float, optional, default: 0): Temperature offset from standard conditions in Kelvin.
Returns (list[list]): [[T, P, rho, g, mu, k, v_sonic]] where T is temperature (K), P is pressure (Pa), rho is density (kg/m^3), g is gravity (m/s^2), mu is dynamic viscosity (Pa·s), k is thermal conductivity (W/m/K), and v_sonic is speed of sound (m/s). str: Error message if input is invalid or out-of-range.
Example 1: Standard atmosphere at 5,000 m elevation
Inputs:
| z | dt |
|---|---|
| 5000 | 0 |
Excel formula:
=ATMOSPHERE_1976(5000, 0)
Expected output:
| Result | ||||||
|---|---|---|---|---|---|---|
| 255.676 | 54048.3 | 0.736428 | 9.79124 | 0.0000162825 | 0.0227319 | 320.546 |
Example 2: Sea level standard atmosphere
Inputs:
| z | dt |
|---|---|
| 0 | 0 |
Excel formula:
=ATMOSPHERE_1976(0, 0)
Expected output:
| Result | ||||||
|---|---|---|---|---|---|---|
| 288.15 | 101325 | 1.225 | 9.80665 | 0.0000178938 | 0.0253259 | 340.294 |
Example 3: Below sea level atmosphere (-500 m)
Inputs:
| z | dt |
|---|---|
| -500 | 0 |
Excel formula:
=ATMOSPHERE_1976(-500, 0)
Expected output:
| Result | ||||||
|---|---|---|---|---|---|---|
| 291.4 | 107478 | 1.28489 | 9.80819 | 0.0000180502 | 0.025581 | 342.208 |
Example 4: Custom temperature offset at 10,000 m
Inputs:
| z | dt |
|---|---|
| 10000 | -5 |
Excel formula:
=ATMOSPHERE_1976(10000, -5)
Expected output:
| Result | ||||||
|---|---|---|---|---|---|---|
| 218.252 | 26499.9 | 0.422984 | 9.77587 | 0.000014304 | 0.0196395 | 296.159 |
Python Code
Show Code
from fluids.atmosphere import ATMOSPHERE_1976 as fluids_atmosphere_1976
def atmosphere_1976(z, dt=0):
"""
Calculate standard atmospheric properties at a given altitude using the US Standard Atmosphere 1976 model.
See: https://fluids.readthedocs.io/fluids.atmosphere.html
This example function is provided as-is without any representation of accuracy.
Args:
z (float): Elevation above sea level in meters (valid range -610 to 86000 m).
dt (float, optional): Temperature offset from standard conditions in Kelvin. Default is 0.
Returns:
list[list]: [[T, P, rho, g, mu, k, v_sonic]] where T is temperature (K), P is pressure (Pa), rho is density (kg/m^3), g is gravity (m/s^2), mu is dynamic viscosity (Pa·s), k is thermal conductivity (W/m/K), and v_sonic is speed of sound (m/s). str: Error message if input is invalid or out-of-range.
"""
try:
z_val = float(z)
dt_val = float(dt)
if not (-610 <= z_val <= 86000):
return "Error: z must be between -610 and 86000 meters."
atm = fluids_atmosphere_1976(z_val, dT=dt_val)
result = [
atm.T,
atm.P,
atm.rho,
atm.g,
atm.mu,
atm.k,
atm.v_sonic
]
return [result]
except Exception as e:
return f"Error: {str(e)}"