Source: https://guthlabs.ai/docs/instruments/standard-atmosphere-lapse-rate-model/

instrument / verified-clean

# Standard Atmosphere Lapse Rate Model

The current ledger marks this instrument verified clean within the source-bound verification corpus.

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

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/standard-atmosphere-lapse-rate-model/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/standard-atmosphere-lapse-rate-model/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/standard-atmosphere-lapse-rate-model/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/standard-atmosphere-lapse-rate-model/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Earth & Space (astronomy, orbital mechanics, meteorology, geology, geodesy, oceanography)

**Tranche**: tranche-7

**Evidence ID**: t7-046

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The forward ISA concept is standard, but the specification needs review before implementation because altitude convention, supported range, complete layer table, boundary behavior, and the promised inverse calculation are unspecified. The honest label correctly states that this is an idealized standard atmosphere and not a real-time atmospheric model.

### Formula and scope findings

- The stated T=T0-L·h formula is valid only within a single constant-lapse-rate layer; the implementation must select the correct ICAO/ISO 2533 layer and use that layer's base temperature and pressure.

- The barometric formula is underspecified: for a nonzero lapse-rate layer it is p=p_b·(T/T_b)^(g0/(R·L)), while for an isothermal layer it is p=p_b·exp[-g0(h-h_b)/(R·T_b)].

- Density must be explicitly computed as rho=p/(R·T); it is not determined by the lapse-rate equation alone.

- The spec mentions inversion from pressure/temperature but provides no inversion algorithm, layer-selection rule, or handling of multiple possible inputs.

- The standard atmosphere table is valid over defined altitude ranges; the supported range and behavior outside the ICAO/ISO 2533 layers are not specified.

### Unit assumptions

- Test inputs use geopotential altitude in metres unless explicitly stated otherwise; ICAO Standard Atmosphere layer altitudes are geopotential altitudes.

- Temperature is in kelvin, pressure in pascals, density in kilograms per cubic metre, gravitational acceleration in metres per second squared, and the specific gas constant for dry air in joules per kilogram-kelvin.

- The dry-air gas constant is R=287.05287 J/(kg·K), and g0=9.80665 m/s².

- Displayed expected values are rounded; production output should document numerical precision and tolerances.

## Boundary hardening

### Recorded hazards

- Altitude units are ambiguous in the instrument spec; treating feet as metres would produce materially incorrect results.

- Geometric altitude versus geopotential altitude is not specified. ISA/ICAO layer boundaries conventionally use geopotential altitude.

- Division by zero or invalid results can occur if temperature is zero or nonpositive, especially in an inversion or out-of-range input.

- A zero lapse rate causes division by zero in the power-law barometric formula; the isothermal exponential branch is required.

- Negative altitude, altitude above the supported table range, and exact layer-boundary selection are unspecified.

- Real atmospheric pressure, temperature, and density vary with weather, latitude, season, and composition; the existing idealized-atmosphere honest label is necessary and appropriate.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "inputs": {
    "altitude_m": 0
  },
  "expected_outputs": {
    "temperature_K": 288.15,
    "pressure_Pa": 101325,
    "density_kg_m3": 1.225
  },
  "reference_data": {
    "source_convention": "ICAO Standard Atmosphere 1976 / ISO 2533:1975; widely tabulated standard value",
    "sea_level": {
      "geopotential_altitude_m": 0,
      "temperature_K": 288.15,
      "pressure_Pa": 101325,
      "density_kg_m3": 1.225
    },
    "g0_m_s2": 9.80665,
    "R_dry_air_J_kgK": 287.05287
  },
  "working": "At h=0 m, use the exact sea-level standard row directly: T=288.15 K; p=101325 Pa. Then rho=p/(R·T)=101325/(287.05287·288.15)=101325/82713.5≈1.225 kg/m³. This is the zero-altitude boundary case and the widely memorized ISA sea-level entry."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## Sources and evidence

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

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche7/tranche7-results.json`
