About Weather Events
We define a weather event as any meteorological phenomenon that occupies a bounded spatial region over a fixed time interval and can be tracked as its extent and intensity evolve across forecast hours and model initializations.
Currently, Weather Events supports four event types—atmospheric rivers, heatwaves, coldwaves, and fronts—based on the WM-6 ensemble-mean forecast. These are experimental products.
Event Pipeline
To build event products, our pipeline combines event-specific detection within each forecast hour with matching based on MODE within and across WM-6 runs, so each event can be tracked as its extent and intensity evolve.
- 01Identify qualifying cells Find cells meeting the criteria for a given event type.
- 02Group cells into regions Group qualifying cells into regions or lines at each forecast hour.
- 03Track within one forecast Follow each event's movement, splits, and merges within one WM-6 run.
- 04Match events across forecasts Match the same weather events across successive WM-6 runs, preserving one event ID.
01 Identify cells meeting event criteria at a given forecast hour
First, we evaluate each WM-6 grid cell against event-specific criteria. For atmospheric rivers, the criteria are based on integrated vapor transport. Heatwaves and coldwaves require unusually high or low daily temperatures sustained at the same location over several days. For fronts, a neural network instead estimates front-type probabilities at each cell. By the end of this step, we have identified the forecast cells that could belong to each event type.
02 Build event regions or front lines at a given forecast hour
With the qualifying cells identified, we group them into geographic objects at each forecast hour: polygons for ARs, heatwaves, and coldwaves, or lines for fronts. AR candidates must meet minimum length and elongation requirements, with coherent vapor transport along the region. Heat and cold patches are more flexible in shape, and nearby patches can form one regional event without filling the gaps between them. For fronts, we extract lines along the crests of the probability bands.
03 Link detections across forecast hours within one WM-6 run
Once we have objects at every forecast hour, we match them across hours to determine which represent the same evolving event. Our matching is based on the Method for Object-Based Diagnostic Evaluation (MODE), which offers geometric attributes—including distance, overlap, size, shape, and orientation—that can be selected and weighted differently for each event type. For each candidate pair of objects in successive forecast frames, the matching score is a weighted average of the selected attributes' normalized similarity scores. We then choose the best compatible set of one-to-one continuations from the pairs that pass the matching threshold, linking detections into tracks through one WM-6 run.
We also retain split and merge relationships as parents and children. At a split, one branch continues the original track while the others begin new tracks—in the illustration, B is a child of A. At a merge, one incoming track continues. We also look back to reconnect detections that briefly disappeared or fell below the detection threshold.
04 Preserve event IDs across successive WM-6 runs
Finally, we match these tracks between successive WM-6 runs. We align forecast hours by valid time and score the corresponding objects using the same event-type-specific MODE weights as within a run. We combine those scores across the shared forecast period to match whole tracks between runs. Matched events keep their IDs, while unmatched events receive new ones.
This lets you follow a single weather event as the forecast evolves, with polygons showing its predicted extent at each forecast hour, or lines for fronts. Keeping the same event ID across forecasts lets you compare how its predicted timing, extent, and severity change between model initializations.
Atmospheric Rivers
Atmospheric rivers are long, narrow regions of strong water vapor transport. We identify them using integrated water vapor transport (IVT), which combines humidity and wind through the atmospheric column. Our detector adapts Guan and Waliser's tARget v4 method: it finds unusually strong IVT relative to the local seasonal climatology, then checks the region's length, shape, and transport direction.
Severity
AR severity ranges from AR1 to AR5, adapting the intensity-and-duration scale of Ralph et al. (2019). At each location and forecast hour, we combine the current IVT with the duration of the uninterrupted local AR episode:
| IVT at a point (kg m⁻¹ s⁻¹) | 12–24 Hour Duration | 24–48 Hour Duration | 48+ Hour Duration |
|---|---|---|---|
| 1,250 or more | AR4 | AR5 | AR5 |
| 1,000–1,250 | AR3 | AR4 | AR5 |
| 750–1,000 | AR2 | AR3 | AR4 |
| 500–750 | AR1 | AR2 | AR3 |
| 250–500 | Unranked | AR1 | AR2 |
Different parts of the same AR can therefore have different severity. The event-wide severity regions show where each duration-adjusted category or higher is reached. The event's peak severity is the highest category anywhere in it, not a category that applies to its entire footprint.
At each forecast hour, the nested contours instead show instantaneous IVT:
AR1–AR5 correspond to at least 250, 500, 750, 1,000, and 1,250 kg m⁻¹ s⁻¹,
without the duration adjustment. Their summaries use
instantaneous_severity; the overall footprint's
peak_severity remains duration-adjusted. The contours are not
capped by that overall category, so an AR3 event can contain an instantaneous
AR4 region.
Heatwaves and Coldwaves
Heatwaves and coldwaves identify multi-day bouts of anomalous heat or cold for a location and season. Heatwaves are based on daily maximum temperature and coldwaves on daily minimum temperature; both use only near-surface (2 m) air temperature.
At each land cell, these daily values must stay above the local calendar-day 85th percentile for heat, or below the 15th percentile for cold, for at least three consecutive days. Once an episode qualifies, its first two days are included too.
This adapts the local-temperature and persistence definitions described by Perkins and Alexander (2013) for heat and Smid et al. (2019) for cold, using our broader entry thresholds. Percentiles are calculated from the ERA5 1991–2020 climatology, with days following local standard time.
Severity
| Tier | Heatwave | Coldwave |
|---|---|---|
| 1 | >85th percentile | <15th percentile |
| 2 | >90th percentile | <10th percentile |
| 3 | >95th percentile | <5th percentile |
| 4 | >98th percentile | <2nd percentile |
Each severity tier must satisfy the same three-day persistence requirement. Contours show where each tier or higher is reached.
Fronts
To locate cold, warm, stationary, and occluded fronts, we feed WM-6 temperature, humidity, and winds at multiple pressure levels into the FrontFinder neural network, described by Justin et al. (2025). It returns a grid of probabilities for each front type.
We then extract lines along the crests of these probability bands. To determine each section's symbol orientation, we use motion estimated from changes in boundary position between forecast hours, temperature contrasts across the line, and cross-front winds. The wind-based ordering is informed by Niebler et al. (2022).
A single continuous boundary receives one event ID and can contain multiple front types at the same forecast hour. We return the whole boundary along with the geometry and classification of each section, so users can display the full boundary or select particular front types as it evolves.