TerraGuard

NHC

Integration with the National Hurricane Center providing real-time tropical cyclone advisories, position data, intensity measurements, and forecast links.

Overview

The National Hurricane Center (NHC) is a division of NOAA that provides authoritative tracking and forecasting for tropical cyclones in the Atlantic and Eastern Pacific basins. While GDACS also covers tropical cyclones globally, the NHC provides more frequent updates and detailed advisory information for storms in its coverage area.

TerraGuard polls the NHC API every 5 minutes to track active storms.

What NHC Provides

NHC data focuses exclusively on tropical cyclone systems:

Data PointDescription
Storm IDUnique identifier (e.g., AL052026)
NameStorm name (e.g., "Maria")
ClassificationStorm category (HU, TS, TD, STS, STD, PTC)
IntensityMaximum sustained wind speed in knots
PressureCentral pressure in millibars
PositionCurrent latitude/longitude
MovementDirection and speed of movement
Advisory URLsLinks to public, forecast, and discussion advisories

Data Format

NHC provides an ActiveStorms JSON response listing all currently tracked tropical systems:

{
  "activeStorms": [
    {
      "id": "AL052026",
      "binNumber": "AT5",
      "name": "Maria",
      "classification": "HU",
      "intensity": 110,
      "pressure": 955,
      "latitudeNumeric": 23.4,
      "longitudeNumeric": -75.2,
      "movementDir": 315,
      "movementSpeed": 12,
      "lastUpdate": "2026-03-28T15:00:00Z",
      "publicAdvisory": {
        "issuance": "2026-03-28T15:00:00Z",
        "url": "https://www.nhc.noaa.gov/text/refresh/MIATCPAT5+shtml/..."
      },
      "forecastAdvisory": {
        "issuance": "2026-03-28T15:00:00Z",
        "url": "https://www.nhc.noaa.gov/text/refresh/MIATCMAT5+shtml/..."
      },
      "forecastDiscussion": {
        "issuance": "2026-03-28T15:00:00Z",
        "url": "https://www.nhc.noaa.gov/text/refresh/MIATCDAT5+shtml/..."
      }
    }
  ]
}

Key Properties

PropertyTypeDescription
idstringNHC storm identifier (e.g., AL052026)
namestringAssigned storm name
classificationstringStorm classification code
intensityfloatMaximum sustained wind speed (knots)
pressurefloatCentral pressure (millibars)
latitudeNumericfloatCurrent latitude
longitudeNumericfloatCurrent longitude
movementDirfloatDirection of movement (degrees)
movementSpeedfloatSpeed of movement (knots)
lastUpdateISO 8601Last advisory issuance time
publicAdvisoryobjectLink to public advisory text
forecastAdvisoryobjectLink to forecast advisory
forecastDiscussionobjectLink to forecast discussion

Classification Codes

NHC uses specific codes for storm classifications:

CodeNameDescription
HUHurricaneSustained winds >= 64 knots
TSTropical StormSustained winds 34-63 knots
TDTropical DepressionSustained winds < 34 knots
STSSubtropical StormSubtropical system with storm-force winds
STDSubtropical DepressionSubtropical system below storm force
PTCPost-tropical CycloneFormer tropical system

Alert Level Mapping

TerraGuard maps NHC storm intensity to alert levels using Saffir-Simpson scale thresholds:

Loading diagram...

The specific thresholds in the adapter:

Wind Speed (knots)Alert LevelCategory
>= 137REDCategory 5
>= 96REDCategory 3-4 (Major Hurricane)
>= 64ORANGECategory 1-2
>= 34GREENTropical Storm
< 34GREENTropical Depression

How the Adapter Works

1. Polling

The adapter fetches the NHC active storms endpoint:

GET https://www.nhc.noaa.gov/CurrentStorms.json

2. Event ID Construction

NHC storm IDs are prefixed with nhc: for namespacing:

nhc:{storm_id}

For example, storm AL052026 becomes nhc:AL052026.

3. Normalization

The adapter constructs a human-readable title from the classification and name:

ClassificationNameTitle
HUMaria"Hurricane Maria"
TSAlberto"Tropical Storm Alberto"
TD--"Tropical Depression [name]"

The description includes key measurements:

"Hurricane Maria with max sustained winds of 110 knots and central pressure of 955 mb"

4. Measurements Extracted

Three measurements are recorded for every storm:

MeasurementSource FieldUnitPrimary
Max wind speedintensityknotsYes
Central pressurepressurembNo
Movement speedmovementSpeedknotsNo

5. Advisory URLs

The adapter collects all available advisory URLs from the response and stores them in SourceURLs:

KeyDescription
public_advisoryPublic advisory text
forecast_advisoryForecast advisory data
forecast_discussionMeteorologist discussion
windspeed_probabilitiesWind speed probability graphics
best_track_gisGIS data for the storm track
earliest_arrival_mswEarliest arrival of storm-force winds
most_likely_time_mswMost likely timing of storm-force winds

NHC vs. GDACS for Tropical Cyclones

Both NHC and GDACS report tropical cyclones, but they serve different purposes:

AspectNHCGDACS
CoverageAtlantic + Eastern PacificGlobal
Update frequencyEvery advisory (~6 hours, more during active storms)Every episode update
MeasurementsWind speed (knots), pressure (mb)Wind speed (km/h)
Advisory linksFull advisory text URLsGDACS report page
Alert levelSaffir-Simpson basedGDACS impact model based

The Event Processor's correlation pipeline handles the overlap -- when both sources report the same storm, they are correlated to the same DisasterEvent using the spatial/temporal matching with the match_by_name: true setting for tropical cyclones (150km radius, 12-hour window).

Polling Configuration

SettingDefaultDescription
NHC_ENABLEDtrueEnable/disable the NHC adapter
NHC_POLL_INTERVAL5mHow often to poll the NHC API
NHC_API_URLhttps://www.nhc.noaa.gov/CurrentStorms.jsonAPI endpoint
FETCH_TIMEOUT15sHTTP request timeout

On this page