Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument / verified-clean

Heat Index (Apparent Temperature)

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

Status: VERIFIED_CLEANLifecycle: verified-clean

Inspectable records

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-4
Evidence ID
t4-267
Ledger rows
1

No ledger note is attached.

Review findings

The spec is not sufficiently explicit to verify an implementation as PASS. Implementers should document the exact Rothfusz coefficients, whether NWS adjustment branches are included, Fahrenheit-versus-Celsius input behavior, Celsius conversion, category thresholds, rounding policy, and out-of-range behavior.

Formula and scope findings

  • The spec names the NWS Rothfusz regression but does not provide the actual coefficients or state whether NWS low-humidity/high-humidity adjustment formulas are also implemented.
  • The risk-category thresholds and boundary conventions are not specified.
  • The output claims both °F and °C, but the Celsius conversion formula and the input/output unit contract are not specified.
  • The stated validity range is approximate; the implementation needs an explicit policy for inputs outside 80–110°F and 40–100% relative humidity.

Unit assumptions

  • Test vectors use air temperature in °F and relative humidity as a percentage from 0 to 100, not a fraction from 0 to 1.
  • Canonical Rothfusz regression used: HI_F = -42.379 + 2.04901523T + 10.14333127R - 0.22475541TR - 0.00683783T² - 0.05481717R² + 0.00122874T²R + 0.00085282TR² - 0.00000199T²R².
  • Celsius output is calculated as HI_C = (HI_F - 32) × 5/9.
  • Risk categories assumed to follow NWS bands: below 80°F no heat-index category, 80–89°F Caution, 90–102°F Extreme Caution, 103–124°F Danger, and at least 125°F Extreme Danger.

Boundary hardening

BREAK_CLAIMED · SELF_FLAGGED

An unchecked extreme input causes JavaScript floating-point overflow and a NaN heat index, so the instrument must reject out-of-domain magnitudes before evaluating the polynomial. The unit ambiguity also demonstrates that an omitted temperature unit can materially change the result.

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": {
    "air_temperature_F": 90,
    "relative_humidity_percent": 60
  },
  "expected_outputs": {
    "heat_index_F": 99.6778,
    "heat_index_C": 37.5988,
    "risk_category": "Extreme Caution"
  },
  "working": "T=90, R=60, T²=8100, R²=3600, TR=5400, T²R=486000, TR²=324000, T²R²=29160000. HI_F = -42.379 + (2.04901523×90) + (10.14333127×60) - (0.22475541×5400) - (0.00683783×8100) - (0.05481717×3600) + (0.00122874×486000) + (0.00085282×324000) - (0.00000199×29160000) = -42.379 + 184.4113707 + 608.5998762 - 1213.679214 - 55.386423 - 197.341812 + 597.16764 + 276.31368 - 58.0284 = 99.6778179°F. HI_C=(99.6778179-32)×5/9=37.5987877°C. 99.6778°F is in the 90–102°F Extreme Caution band."
}

Related workflows

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