File Exchange

image thumbnail

ATMOS: Standard Atmosphere Function

version 2.0 (9.57 KB) by

Gas properties at altitudes from N-dim input. Non-standard atmospheres capable. Units support.



View License

A standard atmosphere function based on the 1976 Standard Atmosphere returns density, speed of sound, temperature, pressure, and viscosity for a given altitude input up to 86 km.
This function is designed to be useful for those designing and analyzing aircraft and has the following features that hitherto have not been combined in a single standard atmosphere function:
•Input may be a scalar, vector, matrix, or n-dimensional array of altitudes. The function is vectorized and fast for computing atmospheric 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.

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

•Units consistency can be enforced by using the DimensionedVariable class, 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.

Examples included in help:

•Create tables of atmospheric properties for a cold, standard, and hot day leveraging 3-dimensional array inputs.

•Find atmospheric properties for an off-standard atmosphere with temperature offset varying degrees sinusoidally with altitude.
•Use the capabilities of the DimensionedVariable class to find some key parameters for an aircraft in flight.

References: ESDU 77022;

Comments and Ratings (8)

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

Sky Sartorius (view profile)

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



stdatmo superseded by atmos (stdatmo still included in package because of slightly different input syntax).
atmos has a more elegant coding scheme all around
Super-quick, troposphere-only tropos included in the package.




capabilities of stdatmodim integrated into main function; documentation and example


Added STDATMODIM wrapper function and updated documentation.


tiny changes to help and input handling; improved vectorization; tested in 2012b


Imperial unit temperature offset now in F/R instead of C/K


fixed error that occurred when using 5 output arguments


Minor changes. Tested in R2010a. Added another example to help.


A bit quicker for troposphere only problems; fixed small units bug.


Added a section such that troposphere-only simple function calls are a bit faster


Final output, Hgeop, changed to ZorH, and is geometric altitude for geopotential input, and geopotential for geometric input. Code made a bit more succinct.


Now substantially faster than earlier versions and ATMOSISA. Cleaned up help and setup for Example 1.


Changed handling of units to be more intuitive and added feature to allow different units for input and output. Earlier version syntax works as before.
Two examples added to help.


Update to references and improved input handling

MATLAB Release
MATLAB 7.10 (R2010a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video