This is the official repository for the Warn-on-Forecast System(WoFS) machine learning (ML)-derived severe weather guidance. The WoFS-ML-Severe products produce probabilistic guidance for individual severe weather threats (i.e., tornadoes, large hail, and strong near-surface straight-line winds). The guidance is available on the cloud-based WoFS web viewer (under ML Products) whenever the WoFS is running (NOTE: it is currently an experimental system and is largely ran in colloboration with NOAA's Hazardous Weather Testbed Spring Forecasting Experiment). The following discussion and figures come from Flora et al. 2019 and Flora et al. 2021.
Example Severe Wind Forecast on May 4, 2021 @ 22:00-22:30 UTC
Probabilistic guidance for severe weather has largely been developed in the spatial probability framework (Fig. 1). For the WoFS-ML-Severe products, our goal is to a create an event-based probabilistic guidance where the goal is to highlight the likelihood of particular storms producing severe weather threats.
Fig. 1: Illustration of distinction between spatial and event reliability of probabilistic forecasts. Event reliability (a) measures the consistency of probabilistic forecasts associated with an individual thunderstorm within an anisotropic neighborhood determined by the forecast ensemble envelope (forecast probabilities [shown in red] are the likelihood of the event occurring). Spatial reliability (b) measures the consistency of probabilistic forecasts of an event occurring within some prescribed neighborhood of a point and are not associated with a specific convective storm (forecast probabilities [shown in red] are the likelihood of the event impacting a particular point)
The first step is to identify the ensemble storm tracks (Flora et al. 2019, 2021). The flowchart for the object identification method used is shown in Fig. 2. If you are interested in storm-based image segmentation, then check out Methods for Object-based and Neighborhood Threat Evaluation in Python (MontePython).
Fig. 2: Ensemble Storm Track Identification Algorithm
Using the ensemble storm tracks, ML predictors are extracted from the WoFS forecast data and observed severe weather reports associated with the tracks are used as labels. The input predictors into WoFS-ML-Severe are based on intra-storm variables (e.g., 2-5 km AGL UH, column-maximum updraft, etc), environmental variables (e.g., CAPE, CIN, SRH, etc), and morphological properties of the track itself (area, minor axis length, etc). From intra-storm variables we extract spatial- and amplitude-based statistics while only spatial statistics are extracted for the environmental variables. The flow chart for the predictor creation is shown in Fig. 3.
Fig. 3: Intra-storm and Environmental Predictor Creation Flow Chart
First, the codebase has the data pipeline for building the ML dataset, which includes
- Identifying the ensemble storm track objects ,
- Deriving the ML features from the WoFS summary files (diagnostic and prognostic variables derived from the WRFOUTs), and
- Matching the ensemble storm tracks to local tornado, severe hail, and severe wind reports,
Second, the codebase for fitting the model is found in wofs_ml_severe.fit. The fitting relies on a package I developed for implementing pipelines, hyperparameter parameterization, cross-validation, and calibration into a single class (ml_workflow).