The U.S. Standard Atmosphere, 1976 (USSA1976)  consists of two parts, the lower atmosphere below 86 km altitude and the upper atmosphere from 86 km to 1000 km altitude. The lower atmosphere is further separated into seven regions expressed in geopotential height H (m'). The upper atmosphere is further separated into five regions in geometric height Z (m).
The lower atmosphere is explicitly stated with relatively simple equations for molecular temperature TM (K) and pressure P (Pa). The upper atmosphere is much more complicated, requiring numerical integration to determine the number densities ni (m-3) of the major gas constituents (N2, O, O2, Ar, He, and H).
A complete implementation of USSA1976 is presented below. The number densities are numerically integrated using Simpson's rule with a 10 m integration step (this is broken up into two 5 m regions). The parameter tau within the number density integral is numerically integrated using the Trapezoidal Rule with a 5 m integration step. Various step sizes and integration methods were tried in order to achieve values as close to that listed in USSA1976. Number density accuracy is within 0.05%. Double precision arithmetic is used throughout.
The file ussa1976.zip (23,284 bytes) contains the files ussa1976.pas (turbo pascal program) and ussa1976.exe (32-bit DOS executable).
Unofficial Australian Standard Atmosphere, 2000
The unofficial Australian standard atmosphere, 2000 (UASA2000) is the same as USSA1976, except for the upper atmosphere. The upper atmosphere is divided into 15 regions. Logarithms of the pressure and density values of the 16 levels from the USSA1976 tables are used to construct pressure and density curves using cubic spline interpolation. The procedure init_atmosphere is used to initialise the lower and upper atmosphere parameters. The procedure atmosphere currently outputs pressure, density, and speed of sound given Z. The local Earth radius Re and local acceleration of gravity gs are global variables used to determine H. The output from USSA1976 was used to confirm the upper atmosphere from UASA2000.
The file uasa2000.zip (15,388 bytes) contains the files uasa2000.pas (turbo pascal program) and uasa2000.exe (32-bit DOS executable).
Corrections to USSA1976
The following minor errors were found in the USSA1976 book.
Page 2, Table 2. R* = 8.31432x10³ not 8.31432x10-³
Page 2, Table 2. r0 = 6.356766x10³ not 6.356766x106 km.
Page 2, Table 2. According to page 19, column 1, line 11, S = 110.4 not 110 K.
Page 2, Table 2. sigma = 3.65x10-10 not 3.65x10-1 m.
Page 4, column 1, line 37. According to page 19, column 1, line 11, S = 110.4 not 110 K.
Page 4, column 1, line 41. beta = 1.458x10-6 not 1.458x106 kg/(s m K½);.
Page 10, Figure 3 is missing a point at 228.65 Kelvin, 32 km.
Page 11, column 1, line 10. We can also let a = 19.9429 km instead of -19.9429 km.
Page 13, Table 9. n(He)7 = 7.581730x1014 not 7.5817x1010 m-³.
Page 20, Table 10. kt,0 = 2.5326x10-² not 2.5326x10-³ W/(m K).
Page 67. From 80 to 86 km, T = TM instead of being adjusted according to Table 8 on page 9.
17 Jan 2012 Added correction for Figure 3 in US Standard Atmosphere, 1976
23 Nov 2007 Added link to PDF file of US Standard Atmosphere, 1976
17 Aug 2006 Free Pascal compilation
 United States Committee on Extension to the Standard Atmosphere, "U.S. Standard Atmosphere, 1976", National Oceanic and Atmospheric Administration, National Aeronautics and Space Administration, United States Air Force, Washington D.C., 1976. PDF File.
Steven S. Pietrobon
Small World Communications
6 First Avenue
Payneham South SA 5070
ph. +61 8 8332 0319
fax. +61 8 8332 3177