Welcome to NexStorm

NexStorm is a personal project of mine.

I initially built the cluster in 2020 with 2 FX8350s and a Ryzen 1700X system that I had laying around but quickly found out that I need faster hardware. The system now consists of 3 GTX 1070s with a Ryzen 7 2700X, a Ryzen 7 1700X, and a FX8350.

NexStorm Rapid Assimilation Model (NSRAM)

The NSRAM is a mesoscale CONUS 2D model that produces probabilistic 1km resolution future weather radar. It takes in initial conditions from the HRRR model and current weather radar to predict the next hour of what the radar is expected to show in the next hour at 5 minute steps.

It refreshes (produces a new run) every 10 minutes. The model takes about 10 minutes to ingest data and simulate, and images are uploaded at the end of the run.

Disclaimer: This is an experimental model and should not be used for safety related decisions. Refer to the NWS (weather.gov) for the most up to date information.

How NSRAM Works

The Cluster Computer starts by downloading the T0 hour of the HRRR model data and the two most recent radar mosaics from the NWS MRMS. It takes these mosaics and gets motion vectors from two consecutive images using optical flow. It then extracts the necessary parameters from the HRRR data such as UVs, CAPE, CIN, Dewpoint, and PWAT. This data is then upscaled to a 1km grid (HRRR is a 3km model) to match the domain grid spacing. The mid level winds, which commonly steer storms and precipitation, then get adjusted/nudged using the derived optical flow vectors so that recent, smaller 1km motion can be included in the simulation. This also accounts for storm motion that the 3km HRRR model can’t resolve, or just didn’t predict. The simulation is then initiated and probabilities for precipitation initiation and intensification are calculated using the advected parameters (U, V, PWAT, SBCAPE, SBCIN, MLCAPE, MLCIN). The radar reflectivity and weather parameters are advected and adjustments to the reflectivity field are changed based on the calculated probability.

Since HRRR data is not available every 10 minutes, I use the advected values predicted at each 10 minute forecast as the initial conditions for next run until new HRRR data is available. Due to the simulation being 2D, this may cause the model to lose some forecast skill on the 30min and 45min simulations. Accuracy appears to be fairly good for the 1 hour predictions in terms of location and timing. Absolute intensity is still being tuned and so intensity trends (if precipitation is expected to dissipate or intensify) are not particularly reliable at the moment.