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

instrument mechanism / verified-clean

Heat Index (Apparent Temperature) mechanism

The inspectable method record for Heat Index (Apparent Temperature), kept separate from implementation and qualification.

Status: VERIFIED_CLEANLifecycle: verified-clean

Model scope

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.

  • 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.

Units and conventions

  • 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.

Inspectable vector

One of 4 source-bound review vectors:

{
  "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."
}

Failure boundary

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.

Other records

Sources and evidence

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

  • VERIFIED_LEDGER.json
  • evidence-tranche4/tranche4-results.json
  • BOUNDARY_HAZARD_CATALOG.json