@earthos/plugin-hurricanes
v0.1.1
Published
EarthOS active tropical cyclones from the NOAA National Hurricane Center
Maintainers
Readme
@earthos/plugin-hurricanes
Active tropical cyclones for EarthOS, sourced live from the NOAA National Hurricane Center.
Plots every currently active storm from the NHC CurrentStorms.json feed as an intensity-scaled point on the globe, colored by strength in a distinct violet ramp (hurricane, storm, depression) so a cyclone never reads as an earthquake. Each storm is a searchable, selectable entity: name search in the command palette, and an inspector card with classification, max sustained winds, movement, and position.
Install
pnpm add @earthos/plugin-hurricanesPeer dependencies (single-instance, provided by the host app): @earthos/globe, react 19, three, and @react-three/fiber 9.
Usage
import { Earth, Layer } from 'earthos';
<Earth>
<Layer manifest={() => import('@earthos/plugin-hurricanes')} />
</Earth>;How it works
provider.ts(NhcStormsProvider, idnhc-storms) polls the NHCCurrentStorms.jsonfeed every 15 minutes (with jitter, paused when hidden; 45 min stale window, 6 h max age) and parses theactiveStormsarray intoStormrecords, dropping any entry without finite coordinates.renderer.tsxwrites storm positions into anExtrapolatedPointsLayer(from@earthos/globe,mu: 0since storms are static ground positions), sizes each point by intensity, and registers an entity source plus a tracker so storms are searchable and follow-camera targets.- Palette bucket is chosen from
classificationandintensityKt: hurricane (HUor >= 64 kt), tropical storm (>= 34 kt), or depression.
Settings
| Key | Default | Notes |
| ---------- | ------- | ------------------------------------------------------------------- |
| endpoint | (blank) | Proxy override for CurrentStorms.json; blank fetches NHC directly |
Data source
NOAA National Hurricane Center CurrentStorms.json, public domain. Only storms the NHC currently lists as active appear; the map is empty out of season.
See docs/PLUGIN_GUIDE.md for the plugin contract and docs/ARCHITECTURE.md for how providers, renderers, and layers fit together.
Part of EarthOS. MIT licensed.
