File Exchange

image thumbnail

Standard Atmosphere Functions

version 2.2 (11.2 KB) by Sky Sartorius
Standard atmosphere gas properties. Support for n-dim inputs, non-standard atmospheres, units, etc.


Updated 16 May 2021

From GitHub

View Version History

View license on GitHub

Standard atmosphere functions based on the 1976 Standard Atmosphere. Returns density, speed of sound, temperature, pressure, and viscosity for a given altitude input up to 86 km.

Functions are designed to be useful for those designing and analyzing aircraft and have the following features:

•Inputs may be scalar, vector, matrix, or n-dimensional arrays. Functions are vectorized and fast for computing conditions at a large number of points simultaneously. Especially for n-dimensional problems, it is faster than the built-in atmosisa that comes with the aerospace toolbox.

•Temperature offset option for non-standard atmospheres, e.g analyzing hot day aircraft performance.

•Absolute temperature option for non-standard atmospheres, e.g for when OAT is known.

•Either SI or imperial units (and easy to set your preferred default).

•Units consistency can be enforced by using the Physical Units Toolbox, reducing errors and making code clearer.

•Returns everything needed to easily determine important parameters such as dynamic pressure, Mach number, Reynolds number, stagnation temperature, etc.

•Option for geometric instead of geopotential altitude input.

•Density altitude function allows reverse lookup of altitude based on gas properties.

•Stripped-down, troposphere-only function included for when computation speed is a priority.

References: ESDU 77022;

Cite As

Sky Sartorius (2021). Standard Atmosphere Functions (, GitHub. Retrieved .

Comments and Ratings (9)


Write a computer program (using C++/MATLAB/Python) for creating a user defined
function that can calculate the Properties of atmosphere (Temperature, Pressure,
Density, Speed of Sound and Dynamic Viscosity) under the International Standard
Atmosphere (ISA) Conditions up to the altitude of 50 km.

liang he

jean dufour

it looks great but do you know how you could include it in MATLAB function block?



with a good help!!!!
good job!!!!!!!!!!



Sky Sartorius

Right now STDATMO expects the temperature offset to be in degrees Kelvin/Celsius regardless of which length unit is used for altitude input. Keep in mind that dT is an offset, so when converting between Celsius and Fahrenheit, use only the scaling factor (offset C/F = K/R = 5/9).

It was originally thought that non-standard atmospheres would rarely be based on temperature offsets in degrees Fahrenheit, but I would greatly appreciate user feedback: Should the temperature offset for altitude input in meters be in degrees C/K and in degrees F/R for altitude input in feet?

Sander Aerts

very clean code with a good help. Haven't yet been able to check the correctness, but it seems OK. The code seems to be implemented way better than the "Complete 1976 Standard Atmosphere" implementation.
Great job

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!