Atmostropic is provided exclusively for education, personal learning, and entertainment. EULA

Theoretic Background

Atmostropic · US76

US76 implementation verification

First, verify the Dart reference against published NASA US76 data. Then compare each language port with that reference. AtmostropicRef denotes the executed Dart reference in both sections.

Verification data

U.S. Standard Atmosphere, 1976, jointly published by NASA, NOAA and the United States Air Force in October 1976. Report identifiers: NASA-TM-X-74335 and NOAA-S/T-76-1562; NASA NTRS record 19770009539.

The source CSV retains 85 independently published model rows from sea level to 84,000 m, at 1,000 m geometric-altitude intervals. Table I supplies temperature, pressure, density and geopotential altitude; Table III supplies sound speed and both viscosities. Published rounding is retained.

Publication edition
US76 · October 1976
PDF retrieval / CSV extraction
8 September 2026
Report assembled (UTC)

Table I: printed pp. 53–67, odd-numbered pages. Table III: printed pp. 101–115, odd-numbered pages. Exact page references are retained in the CSV. NASA data are held fixed and are not downloaded or updated during report generation.

Calculation timestamps, fingerprints and retained data

AtmostropicRef computed · retained calculation data
Dependency fingerprint: a0cb226cda433fcf463750099f907b9a8a243b4e7769a16dc49bbb9637494003

JavaScript computed · retained calculation data
Dependency fingerprint: 32fae51429ade0b816db5a641eff2da1eeec1dfc1e6071228a535372fb9e4d74

Java computed · retained calculation data
Dependency fingerprint: 470bb05f0279b3f0189c218da72b3fefa5bfd93432811f66f1842c16f0df0a05

C# computed · retained calculation data
Dependency fingerprint: 24eefeb0ffdc5e03512a15bf386c057b5cfbe9546180e56ba064f6dbe23a573b

Python computed · retained calculation data
Dependency fingerprint: 7b5fabdc6353a995846964d7ab9af5d9f80b32c9d27f7d85803221c3066d4c3c

TypeScript computed · retained calculation data
Dependency fingerprint: 14b3a68675047d6e3e1c8fb00ea1e020af76bfc2f2531ea7c0b4b4d520ddcab6

CSV SHA-256: 87046a41fc10f29391ba192c2eefc3eb0557b7cf2025bd900337797a2f01bb5b
NASA PDF SHA-256: 23eb6b68346d4abc6071fc598872d51c40cf8c613d1a5d1006c6261bcd09dcea

Retained differences and summary metrics · Canonical verification method

Comparison method

The blue curve in every chart connects actual Dart reference calculations every 100 m. Open markers show values at the 85 source altitudes, with no interpolation. Reference-versus-NASA statistics use those 85 altitudes. Port-versus-reference statistics use all 841 calculated altitudes, including points between NASA samples.

Axes retain the original tables’ metric units: m, K, mbar, kg/m³, m/s, N·s/m² and m²/s. Calculated pressure is converted from Pa to mbar by dividing by 100; N·s/m² equals Pa·s. Geometric altitude is the common input, so it is not plotted against itself.

Differences are Dart minus NASA in the first section and each port minus Dart in the second. Relative differences divide by the comparison reference; the zero-altitude geopotential relative difference is undefined (n/a). No acceptance tolerance is assigned. Pressure, density and kinematic viscosity offer logarithmic and linear scales.

Reference verification: AtmostropicRef vs NASA

Dart reference: blue curve. NASA verification data: orange open circles.

Ambient temperature

Linear axes
AtmostropicRefNASA US76
Ambient temperature, linear vertical axis. AtmostropicRef is the blue curve; scatter overlays: NASA US76.

AtmostropicRef − NASA: max absolute difference 0.00519988 K at 83,000 m; max relative difference 0.00269717% at 83,000 m.

Ambient pressure

AtmostropicRefNASA US76
Ambient pressure, log vertical axis. AtmostropicRef is the blue curve; scatter overlays: NASA US76.

AtmostropicRef − NASA: max absolute difference 0.00615474 mbar at 16,000 m; max relative difference 0.0632909% at 72,000 m.

Air density

AtmostropicRefNASA US76
Air density, log vertical axis. AtmostropicRef is the blue curve; scatter overlays: NASA US76.

AtmostropicRef − NASA: max absolute difference 3.87659e-05 kg/m³ at 2,000 m; max relative difference 0.0634381% at 72,000 m.

Speed of sound

Linear axes
AtmostropicRefNASA US76
Speed of sound, linear vertical axis. AtmostropicRef is the blue curve; scatter overlays: NASA US76.

AtmostropicRef − NASA: max absolute difference 0.00897785 m/s at 68,000 m; max relative difference 0.00298516% at 68,000 m.

Dynamic viscosity

Linear axes
AtmostropicRefNASA US76
Dynamic viscosity, linear vertical axis. AtmostropicRef is the blue curve; scatter overlays: NASA US76.

AtmostropicRef − NASA: max absolute difference 6.90533e-09 N·s/m² at 43,000 m; max relative difference 0.0420211% at 43,000 m.

Kinematic viscosity

AtmostropicRefNASA US76
Kinematic viscosity, log vertical axis. AtmostropicRef is the blue curve; scatter overlays: NASA US76.

AtmostropicRef − NASA: max absolute difference 0.000172133 m²/s at 83,000 m; max relative difference 0.0636492% at 70,000 m.

Geopotential altitude

Linear axes
AtmostropicRefNASA US76
Geopotential altitude, linear vertical axis. AtmostropicRef is the blue curve; scatter overlays: NASA US76.

AtmostropicRef − NASA: max absolute difference 2.89388 m at 84,000 m; max relative difference 0.0186269% at 2,000 m.

Language verification: ports vs AtmostropicRef

The blue curve remains the Dart reference. Each included port has a distinct open marker and color. Currently included: JavaScript, Java, C#, Python, TypeScript. Overlapping markers indicate close agreement; the numerical summaries expose differences too small to see at this scale.

Partial language coverage. Not executed or plotted in this report: C++, C, Ruby, Rust, Go. Local toolchains unavailable; execution remains pending. Verification for these ports remains pending.

Ambient temperature

Linear axes
AtmostropicRefJavaScriptJavaC#PythonTypeScript
Ambient temperature, linear vertical axis. AtmostropicRef is the blue curve; scatter overlays: JavaScript, Java, C#, Python, TypeScript.

JavaScript − AtmostropicRef: max absolute difference 0 K at 0 m; max relative difference 0% at 0 m.

Java − AtmostropicRef: max absolute difference 0 K at 0 m; max relative difference 0% at 0 m.

C# − AtmostropicRef: max absolute difference 0 K at 0 m; max relative difference 0% at 0 m.

Python − AtmostropicRef: max absolute difference 0 K at 0 m; max relative difference 0% at 0 m.

TypeScript − AtmostropicRef: max absolute difference 0 K at 0 m; max relative difference 0% at 0 m.

Ambient pressure

AtmostropicRefJavaScriptJavaC#PythonTypeScript
Ambient pressure, log vertical axis. AtmostropicRef is the blue curve; scatter overlays: JavaScript, Java, C#, Python, TypeScript.

JavaScript − AtmostropicRef: max absolute difference 2.84217e-14 mbar at 14,000 m; max relative difference 2.6816e-14% at 49,700 m.

Java − AtmostropicRef: max absolute difference 3.55271e-15 mbar at 25,000 m; max relative difference 1.44459e-14% at 50,300 m.

C# − AtmostropicRef: max absolute difference 0 mbar at 0 m; max relative difference 0% at 0 m.

Python − AtmostropicRef: max absolute difference 3.55271e-15 mbar at 25,000 m; max relative difference 1.3937e-14% at 25,000 m.

TypeScript − AtmostropicRef: max absolute difference 2.84217e-14 mbar at 14,000 m; max relative difference 2.6816e-14% at 49,700 m.

Air density

AtmostropicRefJavaScriptJavaC#PythonTypeScript
Air density, log vertical axis. AtmostropicRef is the blue curve; scatter overlays: JavaScript, Java, C#, Python, TypeScript.

JavaScript − AtmostropicRef: max absolute difference 2.77556e-17 kg/m³ at 14,000 m; max relative difference 3.4623e-14% at 25,000 m.

Java − AtmostropicRef: max absolute difference 1.38778e-17 kg/m³ at 25,000 m; max relative difference 3.4623e-14% at 25,000 m.

C# − AtmostropicRef: max absolute difference 0 kg/m³ at 0 m; max relative difference 0% at 0 m.

Python − AtmostropicRef: max absolute difference 1.38778e-17 kg/m³ at 25,000 m; max relative difference 3.4623e-14% at 25,000 m.

TypeScript − AtmostropicRef: max absolute difference 2.77556e-17 kg/m³ at 14,000 m; max relative difference 3.4623e-14% at 25,000 m.

Speed of sound

Linear axes
AtmostropicRefJavaScriptJavaC#PythonTypeScript
Speed of sound, linear vertical axis. AtmostropicRef is the blue curve; scatter overlays: JavaScript, Java, C#, Python, TypeScript.

JavaScript − AtmostropicRef: max absolute difference 0 m/s at 0 m; max relative difference 0% at 0 m.

Java − AtmostropicRef: max absolute difference 0 m/s at 0 m; max relative difference 0% at 0 m.

C# − AtmostropicRef: max absolute difference 0 m/s at 0 m; max relative difference 0% at 0 m.

Python − AtmostropicRef: max absolute difference 0 m/s at 0 m; max relative difference 0% at 0 m.

TypeScript − AtmostropicRef: max absolute difference 0 m/s at 0 m; max relative difference 0% at 0 m.

Dynamic viscosity

Linear axes
AtmostropicRefJavaScriptJavaC#PythonTypeScript
Dynamic viscosity, linear vertical axis. AtmostropicRef is the blue curve; scatter overlays: JavaScript, Java, C#, Python, TypeScript.

JavaScript − AtmostropicRef: max absolute difference 3.38813e-21 N·s/m² at 80,100 m; max relative difference 2.56641e-14% at 80,100 m.

Java − AtmostropicRef: max absolute difference 3.38813e-21 N·s/m² at 80,100 m; max relative difference 2.56641e-14% at 80,100 m.

C# − AtmostropicRef: max absolute difference 0 N·s/m² at 0 m; max relative difference 0% at 0 m.

Python − AtmostropicRef: max absolute difference 3.38813e-21 N·s/m² at 80,100 m; max relative difference 2.56641e-14% at 80,100 m.

TypeScript − AtmostropicRef: max absolute difference 3.38813e-21 N·s/m² at 80,100 m; max relative difference 2.56641e-14% at 80,100 m.

Kinematic viscosity

AtmostropicRefJavaScriptJavaC#PythonTypeScript
Kinematic viscosity, log vertical axis. AtmostropicRef is the blue curve; scatter overlays: JavaScript, Java, C#, Python, TypeScript.

JavaScript − AtmostropicRef: max absolute difference 1.11022e-16 m²/s at 80,100 m; max relative difference 4.49877e-14% at 25,000 m.

Java − AtmostropicRef: max absolute difference 1.11022e-16 m²/s at 80,100 m; max relative difference 4.49877e-14% at 25,000 m.

C# − AtmostropicRef: max absolute difference 0 m²/s at 0 m; max relative difference 0% at 0 m.

Python − AtmostropicRef: max absolute difference 1.11022e-16 m²/s at 80,100 m; max relative difference 4.49877e-14% at 25,000 m.

TypeScript − AtmostropicRef: max absolute difference 1.11022e-16 m²/s at 80,100 m; max relative difference 4.49877e-14% at 25,000 m.

Geopotential altitude

Linear axes
AtmostropicRefJavaScriptJavaC#PythonTypeScript
Geopotential altitude, linear vertical axis. AtmostropicRef is the blue curve; scatter overlays: JavaScript, Java, C#, Python, TypeScript.

JavaScript − AtmostropicRef: max absolute difference 0 m at 0 m; max relative difference 0% at 100 m.

Java − AtmostropicRef: max absolute difference 0 m at 0 m; max relative difference 0% at 100 m.

C# − AtmostropicRef: max absolute difference 0 m at 0 m; max relative difference 0% at 100 m.

Python − AtmostropicRef: max absolute difference 0 m at 0 m; max relative difference 0% at 100 m.

TypeScript − AtmostropicRef: max absolute difference 0 m at 0 m; max relative difference 0% at 100 m.