A TypeScript/JavaScript library for parsing and ingesting NOAA and NWS Weather Text Products
A project built and maintained with ❤️ by the AtmosphericX teamDocumentation | Repositories | NPM Packages | Community Discord
- Introduction
- Installation
- Sources
- 3.1 NOAA Weather Wire Service
- 3.2 National Weather Service API
- 3.3 NOAA Weather Wire Service vs NWS RESTful API
- 3.4 GeoJSON & WMO Formatting
- 3.4.1 GeoJSON
- 3.4.2 WMO Format
- 3.5 Configuring NOAA Weather Wire Service
- 3.5.1 Auto Reconnecting
- 3.5.2 Stanza Caching
- 3.5.3 Stanza Processing Settings
- 3.6 Configuring National Weather Service API
- General Configurations
- 4.1 Event Management & History
- 4.2 Geometry Configurations
- 4.2.1 Disable Geometry Processing
- 4.2.2 Force Shapefile Coordinates
- 4.2.3 Shapefile Skip Points
- 4.3 Tracking Node Settings
- 4.3.1 NodeTTL
- 4.3.2 Max Distance
- 4.3.3 Tracking Node Properties
- 4.4 Advanced Event Filters
- 4.4.1 Events & Wildcards
- 4.4.2 ICAOs
- 4.4.3 UGC
- 4.4.4 States
- 4.4.5 Ignoring Filters
- 4.4.6 Node Location Filtering
- 4.4.7 Test Products
- 4.5 Archive Configurations
- 4.5.1 TTL (Time-to-Live)
- 4.5.2 EAS Toneout
- Actions / Integrations
- 5.1 Action Events & Wildcards
- 5.2 Discord Webhooks
- 5.2.1 Ratelimiting
- 5.3 NTFY Push Notifications
- 5.3.1 Server Configuration
- 5.3.2 Action Configuration
- 5.4 Broadcastify Feed Attachments
- 5.4.1 Tag Filtering
- 5.5 Mock EAS Generator
- 5.5.1 Linux Prerequisites
- 5.5.2 Limitations
- 5.6 Event Archiving
- 5.6.1 Raw Text Product Archiving
- 5.6.2 GeoJSON Archiving
- Listeners
- 6.1 XMPP / NWS Status
- 6.2 Test Products
- 6.3 Expired Products
- 6.4 Specific Product Types
- 6.5 Filtered Products
- 6.6 Cache Updates
- 6.7 Tracking Node Updates
- 6.8 Storm Prediction Center Products
- 6.9 Debugging
- 6.10 Logs / Journal
- 6.11 Wildcard
- Functions
- 7.1 Dynamic Configuration Setter
- 7.2 Event Geometry Getter
- 7.3 Random Event Getter
- 7.4 Package Information Getter
- 7.5 Cleaned Event Getter
- 7.6 Management Functions
- 7.7 Creating & Configuring Tracking Nodes
- 7.8 Event Cache Getter
- 7.9 Tracking Node Cache Getter
- 7.10 Creating Manual WMO Events
- 7.11 Database Queries
- 7.11.1 Stanza Query
- 7.12 Manual Mock EAS Generator
- Technical Parser Documentation
- 8.1 Workflow & Pipeline
- 8.2 Core Parsing Logic
- 8.2.1 VTEC
- 8.2.1.1 Product Dictionary
- 8.2.1.2 Tracking
- 8.2.1.3 Event Dictionary
- 8.2.1.4 Status Dictionary
- 8.2.1.5 Organization Sender
- 8.2.1.6 Expiry Parsing
- 8.2.1.7 Watch Parsing
- 8.2.1.8 KWNS / SPC
- 8.2.2 UGC
- 8.2.2.1 Extracting Headers
- 8.2.2.2 Getting Zones
- 8.2.2.3 Extracting Expiry
- 8.2.2.4 UGC to Zones
- 8.2.3 HVTEC
- 8.2.3.1 Flood Severity
- 8.2.3.2 Flood Causes
- 8.2.3.3 Flood Records
- 8.2.4 Raw Text
- 8.2.4.1 Extracting Descriptions
- 8.2.4.2 Extracting Coordinates
- 8.2.4.3 Extracting String Specifics
- 8.2.4.4 Extracting XML
- 8.2.5 Building Properties
- 8.2.6 Building Geometry
- 8.2.1 VTEC
- 8.3 Event Validation & Filtering
- 8.3.1 Enhanced Event Naming
- 8.3.2 Appending Attachments
- 8.3.3 Generating Hashes
- 8.4 Event & History Management
- 8.5 Action Workflow
- Workers & Performance
Formerly known as atmosx-nwws-parser, @atmosx/event-product-parser is an open-source TypeScript/JavaScript library for ingesting, parsing, caching, and distributing NOAA and NWS weather text products. The library handles event processing within AtmosphericX, providing a lightweight and extensible foundation for working with GeoJSON and WMO data. Built with simplicity and flexibility in mind, it is easy to integrate, straightforward to extend, and suitable for both standalone applications and larger services.
With support for the NOAA Weather Wire Service Open Interface and the National Weather Service API, the library enables reliable access to a wide range of operational weather products while providing a consistent interface for downstream processing and distribution.
Beyond core product processing, the library provides support for integrating Storm Prediction Center graphics, Broadcastify feeds, NTFY and Discord Webhook push notifications, as well as automated emergency audio generation.
Note: This package is designed specifically for NOAA/NWS weather products and currently supports weather data originating from the United States and its territories.
NPM:
$ npm install @atmosx/event-product-parserPNPM:
$ pnpm install @atmosx/event-product-parserAfter installation, import the package using import or require:
import { Manager } from "@atmosx/event-product-parser"
const client = new Manager({})Using require:
const { Manager } = require("@atmosx/event-product-parser")
const client = new Manager({})