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 2 minute timesteps.
It refreshes (produces a new run) every 15 minutes. The model takes about 10 minutes to ingest data and simulate, and so images are uploaded as the run progresses. This may cause some “jumping” in the plots, so keep an eye on the timestamp while looking through the predictions.
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 T1 hour of the HRRR model data and the two most recent raw L2 radar files from all radars that produced a scan within 8 minutes of the model initialization time. It then grids the radar data on to a 1km grid, which allows it to be simulated. It takes these gridded 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 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 15 minutes, I use the advected values predicted at each 15 minute forecast as the initial conditions 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 be tuned and so intensity trends (if precipitation is expected to dissipate or intensify) are the main qualities to look for, not the absolute values/intensity.