Indian Reference Atmosphere by Sasi (1994) with user's units

Contains classes to represent reference atmospheric models and USER-DEFINED units, and saved object representing Indian Reference Atmosphere
Updated 10 Oct 2021
This project has:
  • AtmosphericModel class to arbitrary reference atmospheric models, and
  • Unit class to represent arbitrary user-defined units
Using them, I created an object Ira to represent the Indian Reference Atmosphere (modelled using the variation of atmospheric temperature with altitude over India, as reported in M. N. Sasi (1994), "A reference atmosphere for the Indian equatorial zone", Indian Journal of Radio and Space Physics, vol. 23, pp. 299 - 312).
You can just load the object to memory, keep these classses on the MATLAB path, and operate on them.
Some of the things that you could try out are:
Find atmospheric conditions at a given geometric altitude array, with input and output units
T = Ira.pressure(45, 'mi', 'bar'); % pressure in bar at 45 miles geometric AMSL
a = Ira.lapseRate([24, 9, 68; 32, 17, 41]);
% a is 2x3 double array, containing lapse rates (in K/m) at those geometric
% altitudes AMSL, in K/km
Almost all functions accept array input of any dimensions, particularly for altitude.
However, keep in mind that the geometric altitude should be between 0 and 80 km AMSL for obtaining the atmospheric conditions accurately, because those are the extents of Sasi's Indian Reference Atmosphere.
Change DisplayUnits property of Ira and use with the unit system you are comfortable in
Ira.DisplayUnits.altitude = 'nm'; % nautical mile
Ira.DisplayUnits.density = 'lb/oz'; % pound/ ounce
rho = Ira.density(9) % returns density at 9 nm geometric in lb/oz
Find relative or absolute temperature at any altitude array
T_K = Ira.temperature(0, [], 'K'); % temperature at sea level in kelvin
T_0C = Ira.temperature(35000, 'ft', '0F', true);
% temperature at 35,000 ft geometric in degree fahrenheit
Find geopotential altitudes corresponding to geometric and vice-versa
hGm_ft = Ira.geometricAltitude(69000, 'm', 'ft')
% converts 69,000 m geopotential altitude to geometric (in feet)
hGp_yd = Ira.geopotentialAltitude(28, [], 'yd')
% converts 28 km geometric altitude to geopotential (in yard)
Ira.RADIUS_OF_EARTH % shows the value of radius of earth stored in the object
Ira.SaveUnits.radius % shows the unit in which radius of earth is stored
Use International Standard Atmosphere instead
Isa = AtmosphericModel; % no input arguments creates an object to represent ISA
IsaHot = AtmosphericModel(25);
% creates hot-day ISA with temperature offset of 25 K (same as 25 degree celsius)
More details about the code itself can be found on the Github page.

Cite As

Athrey Ranjith Krishnanunni (2024). Indian Reference Atmosphere by Sasi (1994) with user's units (, GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2018b
Compatible with R2009a and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

See release notes for this release on GitHub:


To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.