Source: https://guthlabs.ai/docs/instruments/standard-atmosphere-isa-calculator/mechanism/

instrument mechanism / verified-clean

# Standard Atmosphere (ISA) Calculator mechanism

The inspectable method record for Standard Atmosphere (ISA) Calculator, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The stated concept is standard-day ISA, and the numerical method is appropriate when the complete ICAO layer constants and dry-air assumptions are supplied. Verdict is NEEDS_REVIEW because the layer data, density formula, sound-speed formula, altitude definition, valid range, and pressure-altitude handling are not fully specified. The honest label correctly warns that real atmospheric conditions vary.

- The specification names layered lapse-rate and barometric equations but does not provide the complete ICAO/ISA layer table, including base geopotential heights, base temperatures, base pressures, and lapse rates.

- Density and relative density formulas are omitted; they should be rho = P/(R*T) and sigma = rho/rho0, respectively.

- Speed of sound is omitted; for the dry-air ISA model it should be a = sqrt(gamma*R*T), with gamma = 1.4 and R = 287.05287 J/(kg*K).

- The stated troposphere equation is valid only for the 0-11 km geopotential layer and only when h is in metres: T = 288.15 - 0.0065*h.

- The input does not distinguish geometric altitude from geopotential altitude or define how pressure altitude is interpreted and converted.

- The valid altitude range and behavior for negative altitude or altitudes above the highest ISA layer are unspecified.

## Units and conventions

- Altitude in these vectors is geopotential altitude in metres.

- Temperature is in kelvins, pressure in pascals, density in kg/m^3, and speed of sound in m/s.

- Dry-air constants used: g0 = 9.80665 m/s^2, R = 287.05287 J/(kg*K), gamma = 1.4, T0 = 288.15 K, P0 = 101325 Pa, rho0 = 1.22500 kg/m^3.

- ISA layer boundaries used here are 0 km, 11 km, and 20 km; the 0-11 km lapse rate is -0.0065 K/m and the 11-20 km layer is isothermal at 216.65 K.

- Pressure in a lapse-rate layer uses P = Pb*(T/Tb)^(-g0/(L*R)); pressure in an isothermal layer uses P = Pb*exp(-g0*(h-hb)/(R*T)).

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "geopotential_altitude_m": 0
  },
  "expected_outputs": {
    "T_K": 288.15,
    "P_Pa": 101325,
    "rho_kg_m3": 1.225,
    "a_m_s": 340.294,
    "sigma": 1
  },
  "working": "At sea level: T = 288.15 - 0.0065*(0) = 288.15 K. P = P0 = 101325 Pa. rho = P/(R*T) = 101325/(287.05287*288.15) = 101325/82714.2845 = 1.22500 kg/m^3. a = sqrt(gamma*R*T) = sqrt(1.4*287.05287*288.15) = sqrt(115799.998) = 340.294 m/s. sigma = rho/rho0 = 1.22500/1.22500 = 1.00000."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

An extreme finite altitude such as 1e308 m can drive the piecewise arithmetic into overflow and a negative-temperature, non-integer-power domain error unless the input is range-checked and rejected. The branch boundary also requires an explicit convention for whether exactly 11000 m belongs to the lower or upper layer.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/standard-atmosphere-isa-calculator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/standard-atmosphere-isa-calculator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/standard-atmosphere-isa-calculator/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche6/tranche6-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
