Source: https://guthlabs.ai/docs/instruments/air-density-calculator/mechanism/

instrument mechanism / verified-clean

# Air Density Calculator mechanism

The inspectable method record for Air Density Calculator, kept separate from implementation and qualification.

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

## Model scope

The moist-air ideal-gas formula itself is correct, but the specification does not define how total pressure and relative humidity become Pd and Pv. The missing saturation-vapor-pressure formula is an exact ambiguity that prevents a unique implementation and requires review before approval.

- The stated formula is standard for moist-air density only when Pd is dry-air partial pressure and Pv is water-vapor partial pressure.

- The listed inputs are total pressure and relative humidity, but the required transformations are not specified: Pv = RH × saturation vapor pressure and Pd = P − Pv.

- No saturation vapor-pressure formula is provided, so the instrument is not uniquely defined from the supplied specification.

- Relative humidity must be represented as a fraction from 0 to 1, or explicitly converted from percent.

- The implementation must reject or constrain cases where Pv exceeds total pressure, since Pd would become negative.

## Units and conventions

- Temperature is absolute temperature in kelvins for the ideal-gas formula; input temperatures in the vectors are given in degrees Celsius and converted using T(K) = T(°C) + 273.15.

- Total pressure is absolute pressure in pascals; 95 kPa is converted to 95000 Pa in the fourth vector.

- Relative humidity is a fraction, not a percentage, in the calculations.

- Rd = 287.05 J/(kg·K) for dry air and Rv = 461.495 J/(kg·K) for water vapor.

- For test-vector reproducibility, saturation vapor pressure uses the Tetens formula es = 611.2 × exp(17.67×Tc/(Tc+243.5)) Pa, with Tc in degrees Celsius. Values are rounded to the shown precision.

- Pv = RH × es and Pd = P − Pv; density is reported in kg/m³.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "temperature_c": 15,
    "pressure_pa": 101325,
    "relative_humidity": 0.5
  },
  "expected_outputs": {
    "air_density_kg_m3": 1.2211
  },
  "working": "T = 15 + 273.15 = 288.15 K. Using Tetens, es ≈ 1705 Pa. Pv = 0.5 × 1705 = 852.5 Pa. Pd = 101325 − 852.5 = 100472.5 Pa. Rd×T = 287.05×288.15 = 82713.4575. Rv×T = 461.495×288.15 = 132979.78425. Dry contribution = 100472.5/82713.4575 ≈ 1.214706. Vapor contribution = 852.5/132979.78425 ≈ 0.006411. Density = 1.214706 + 0.006411 = 1.221117 ≈ 1.2211 kg/m³."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

An input at exactly -273.15 C produces a zero-kelvin denominator and must be rejected rather than evaluated. The specification also omits the saturation-vapor-pressure formula and any ice/water branch convention, leaving a branch-selection hazard near 0 C.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/air-density-calculator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/air-density-calculator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/air-density-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-tranche5/tranche5-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
