{
  "service": "stormq",
  "description": "Active tropical cyclones from the centres that warn on them: position, track, forecast, cone and events.",
  "usage": [
    "GET /storms                        -- every active storm, without its cone or track",
    "GET /storms?season=2026            -- every storm seen that season, ended ones too",
    "GET /storms/ep152026               -- one storm: track, forecast, cone, warnings and events",
    "GET /storms/2026-EP-15             -- the same, by reference",
    "GET /storms/ep152026?geometry=none -- without the cone",
    "GET /storms/ep152026/events        -- just the events, for a poller",
    "GET /21.31,-157.86                 -- active storms within 1000 km, now or forecast",
    "GET /?lat=21.31&lon=-157.86&within=500 -- a radius from 1 to 5000 km",
    "GET /21.31,-157.86?geometry=full   -- with each storm's cone and warning lines"
  ],
  "note": "Every storm is its warning centre's own advisory, in the centre's own units and words. An NHC cone and a JTWC swath are different things, and each says which it is.",
  "events": [
    "formed",
    "named",
    "strengthened",
    "weakened",
    "watch-issued",
    "warning-issued",
    "ended"
  ],
  "cones": {
    "nhc-track-error": "NHC and CPHC: the probable path of the centre, two-thirds of forecast errors. Not the storm's size.",
    "jtwc-34kt-swath": "JTWC: where 34-knot winds may reach, from its forecast wind radii."
  },
  "winds": "Knots, sustained over one minute (windAveragingPeriodInMinutes), as all three centres give them.",
  "sources": [
    "NOAA National Hurricane Center: Atlantic and East Pacific (CurrentStorms.json and its tropical map service)",
    "NOAA Central Pacific Hurricane Center, through NHC's feeds",
    "Joint Typhoon Warning Center: West Pacific, North Indian Ocean and Southern Hemisphere"
  ],
  "freshness": "Read from the centres every 15 minutes. Answers are cached 5 minutes.",
  "auth": "None. CORS is open, so a browser can call this directly.",
  "terms": "Free, unsupported, not for volume, and as is. Send a User-Agent that names your app. https://almanac.gshaw.ca/#use",
  "repository": "https://github.com/gshaw/almanac/tree/main/services/stormq"
}
