Source: https://guthlabs.ai/docs/instruments/humidity-ratio-calculator/

instrument / verified-clean

# Humidity Ratio Calculator

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/humidity-ratio-calculator/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/humidity-ratio-calculator/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/humidity-ratio-calculator/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/humidity-ratio-calculator/qualification/>)

## Ledger state

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

**Area**: Thermodynamics, Fluids & Aero

**Tranche**: tranche-4

**Evidence ID**: t4-060

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The core formula is correct, but the instrument cannot receive a PASS until the saturation-pressure correlation, temperature scale/range, RH input convention, and constraint P>pv are explicitly documented and enforced. The blank honest_label is a concern: the user-facing label should state that W is humidity ratio on a dry-air mass basis, RH is a fraction or percentage as applicable, and pressure units must be consistent.

### Formula and scope findings

- The humidity-ratio formula W=0.622·pv/(P−pv) is standard for mass of water vapor per mass of dry air, provided P and pv use identical pressure units and 0≤RH≤1.

- The saturation-pressure correlation psat(T) is not specified, so numerical results are not reproducible or verifiable from the spec alone.

- RH is ambiguous: the formula requires RH as a fraction from 0 to 1, but many interfaces accept relative humidity as a percentage from 0 to 100.

- The specification does not state the valid temperature range or the required constraint P>pv.

### Unit assumptions

- T is assumed to be in degrees Celsius for the example saturation-pressure values; the actual correlation must explicitly define its temperature scale and range.

- RH is assumed to be a dimensionless fraction, so 50% is entered as 0.50.

- P and pv must use the same pressure unit; the factor 0.622 is dimensionless and W is kg water vapor per kg dry air.

- The numerical test vectors use representative saturation pressures rounded from a standard Magnus/Tetens-type correlation: psat(0 °C)=0.611 kPa, psat(20 °C)=2.338 kPa, psat(25 °C)=3.168 kPa, and psat(30 °C)=4.243 kPa.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

The specification permits an undefined division when pv equals barometric pressure, and it is vulnerable to a percent-versus-fraction RH convention error. The saturation-pressure branch is also underspecified because no correlation or ice/liquid branch rule is given.

## 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": {
    "T_C": 20,
    "RH": 0.5,
    "P_kPa": 101.325
  },
  "expected_outputs": {
    "W_kg_per_kg_dry_air": 0.00725985
  },
  "working": "psat=2.338 kPa. pv=RH·psat=0.50·2.338=1.169 kPa. P−pv=101.325−1.169=100.156 kPa. 0.622·pv=0.622·1.169=0.727118. W=0.727118/100.156=0.00725985 kg/kg dry air."
}
````

## Related workflows

[Weather Stationpsychrometrics](<https://guthlabs.ai/docs/instrument-workflows/weather-station/>)

## 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-tranche4/tranche4-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
