Source: https://guthlabs.ai/docs/instruments/saffir-simpson-hurricane-category/mechanism/

instrument mechanism / verified-clean

# Saffir-Simpson Hurricane Category mechanism

The inspectable method record for Saffir-Simpson Hurricane Category, kept separate from implementation and qualification.

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

## Model scope

The core NHC Saffir-Simpson lookup is standard and correct. NEEDS_REVIEW is required because the specification does not resolve the mph-versus-kt input ambiguity, the required 1-minute sustained-wind definition, or the below-Category-1 output convention. The existing honest label appropriately warns that category alone does not capture surge or rain risk.

- The NHC threshold lookup is the correct standard method, but the instrument must explicitly require a unit-tagged input in either mph or kt; 'mph/kt' is ambiguous.

- The wind definition must be explicitly 1-minute maximum sustained wind, not a gust, 10-minute mean wind, or instantaneous wind.

- The lookup must specify that winds below 74 mph (64 kt) have no Saffir-Simpson hurricane category, rather than assigning a nonexistent Category 0.

- The published mph and kt thresholds are paired rounded table thresholds. The implementation should classify using the declared input unit and should not silently convert and then apply the other unit's rounded boundary.

- Damage descriptions are qualitative wind-damage summaries, not predictions of storm surge, rainfall flooding, tornadoes, or total losses.

## Units and conventions

- Wind speed is maximum sustained wind averaged over 1 minute.

- The input must be explicitly labeled mph or kt.

- For mph inputs, use: Category 1 = 74-95 mph, Category 2 = 96-110 mph, Category 3 = 111-129 mph, Category 4 = 130-156 mph, Category 5 = 157 mph or greater.

- For kt inputs, use: Category 1 = 64-82 kt, Category 2 = 83-95 kt, Category 3 = 96-112 kt, Category 4 = 113-136 kt, Category 5 = 137 kt or greater.

- No rounding of the measured value should occur before lookup; exact boundary values belong to the category whose interval includes that boundary.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "sustained_wind_speed": 74,
    "unit": "mph",
    "averaging": "1-minute"
  },
  "expected_outputs": {
    "category": 1,
    "damage_description": "Very dangerous winds will produce some damage."
  },
  "reference_data": {
    "nhc_rows": [
      {
        "category": 1,
        "mph_range": "74-95",
        "kt_range": "64-82",
        "damage_description": "Very dangerous winds will produce some damage.",
        "source_convention": "NHC Saffir-Simpson Hurricane Wind Scale official table; widely tabulated standard value"
      },
      {
        "category": 2,
        "mph_range": "96-110",
        "kt_range": "83-95",
        "damage_description": "Extremely dangerous winds will cause extensive damage.",
        "source_convention": "NHC Saffir-Simpson Hurricane Wind Scale official table; widely tabulated standard value"
      }
    ]
  },
  "working": "Input is 74 mph. Category 1 lower bound = 74 mph. 74 >= 74 and 74 <= 95, so the result is Category 1. The associated NHC description is: Very dangerous winds will produce some damage."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The lookup is unsafe without strict validation and explicit unit handling: a negative speed has no defined category, and the same numeric input 100 produces Category 2 in mph versus Category 3 in knots.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/saffir-simpson-hurricane-category/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/saffir-simpson-hurricane-category/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/saffir-simpson-hurricane-category/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-tranche7/tranche7-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
