More than thirty-six hours after the snow has settled on the surprise storm of the year (and quite possibly the decade?) for the Denver Metro area, we explain what went through the minds of the forecasters in the hours leading up to the storm, what likely led to the storm’s deviation from initial forecasts, and recap snowfall totals from across the Front Range.


Monday morning, we issued our normal weekly outlook using model forecast data from late Sunday night. We provided a forecast map and discussed the snow event lightly, but didn’t spend too many words on it.  At the time, nearly every single model available was consistent (and had been for days). Boulder and most of northeast Colorado would be getting a light snow event beginning late Monday night and lasting into early Tuesday afternoon, and nothing more. The heaviest snows, only about 4-6″, were expected along a line stretching northeast from DIA to Sterling.  In Boulder County, model guidance pointed at 1-3″ for the Plains, with 2-5″ in the Foothills. There was no indication, and we mean none, that a huge snow was on the horizon.

A few models began to change their tune later Monday afternoon. The NAM was one of the first, increasing it’s snow output for DIA from 2.1″ in the Sunday night run, to more 6.7″ by Monday morning. The SREF increased from 1.1″ to 5.5″ in the same time frame for Broomfield.  The GFS was not showing this shift at all, nor the GEFS or the Euro.


The NAM began to shift heavier precipitation southeastward into the Front Range 12 hours before the storm arrived

The short-range High Resolution Rapid Refresh (HRRR) model, which only forecasts fifteen hours into the future, wasn’t even able to capture the beginning of the event until late Monday afternoon.  However, it immediately indicated a significant snow storm for the entire Denver Metro Area (in fact, all of NE Colorado north of I-70).


The HRRR model showed rapid intensification and heavy precipitation over the entire Front Range during the over night hours in Tuesday

Despite many of the models being on board for a snowstorm, we were hesitant to increase the snow forecast immediately. Heck, it even took the National Weather Service (NWS) until nearly 10pm Monday evening to raise a Winter Storm Warning for the area (a mere two hours before snow started falling). Prior to that, Boulder County was under no advisories. We were all waiting to see if the models remained consistent, and to see if any of the aforementioned naysayer models jumped on-board.

We, nor any other forecasters, like to make drastic changes to a forecast on a whim. We are perpetually looking for consistency between models that are, at their very core, distinctly different from one another. Whether it be consistency between many individual models over a short-time frame (as was the case for this storm), or extended consistency in a couple of models over a longer time period. Sure, the underdog can take a round or two (as was the case earlier this summer with the Euro correctly tracking Hurricane Joaquin away from the Atlantic seaboard), but more often than not, consistency is that which makes meteorologists most confident in what’s going to happen.  Once Monday’s 5pm model runs came in (which happens a few hours later, around 8pm) and maintained this consistency, it was safer to increase the forecast. We still give the NWS credit for posting the warning. Expanding Boulder from no advisory to 5-10″ was nothing short of bold. We posted a small update at the eleventh hour, noting that a bigger storm than originally forecast was likely incoming.  Even now, we would estimate the odds of what actually happened at just ~10%.

Waiting until the last minute unfortunately limited the public’s awareness and preparation lead-time, likely making for a “Wow!” moment Tuesday morning for many of you! However, given the situation, it was unquestionably the best forecast that could have been made.


To say this system out performed initial forecasts is an understatement. It even exceeded forecasts issued in the final hours preceding the event. Nearly everywhere in Colorado from Castle Rock northward and east of the Rockies got more than 6″ of snow. The entire Denver Metro was in the remarkably consistent range of 9 to 12″. Boulder officially recorded 11.3″ of snow, setting a new daily snow record for December 15th. At BoulderCAST, we measured 11.0″. Denver officially recorded 7.7″, destroying their record for the date, too.

Some of the heaviest snow we have seen in a long while occurred between the hours of 2 and 5am Tuesday morning. During this time period, 6 to 8 inches of snow feel across all of Boulder County, equating to average snowfall rates of 2 to 3 inches per hour (yikes!).

We did post a small update as the last model runs came in, upping our forecast to 4-6″ for the Plains of Boulder County, with 5-10″ in the Foothills. We won’t take that brief update into consideration for verification purposes, as it was basically a now-cast. Even with that late update, the forecast would have busted on the Plains (though, it would have done just swimmingly for the Foothills).

Shown below is our original forecast snow total map (issued Monday morning), with the observed storm totals per location contained in boxes. Green ones indicate that the observed snowfall was within one inch of the given forecast range, while red was outside the scope of our forecast.


Not surprisingly, there is an unmistakable amount of red. Much more than last week’s storm. Though, potentially by luck, our forecast did verify for a few of our highest elevation followers out there near Georgetown and Estes Park! There is definitely room for improvement moving forward.


Anytime there is a busted forecast, whether high or low, it is immensely useful to take a look back and see what exactly happened. Not just for closure, but to learn and improve our forecasting of future events. There are several reason that this storm may have played out as it did. They are not all entirely independent of one another.

Storm track: Though subtle, the upper-low tracked about 50 to 100 miles further south and than expected. This brought the heavier snow further south into Colorado, which was originally forecast to remain mostly to our north. This is something that happens relatively often. Storms find a way to track further south than models project. Rarely, though, do they end up tracking further north than predictions. This is especially true in the days leading up to an event. Three or four days out, if the models are indicating good snow in the area north of Denver, say for Cheyenne, there are still decent odds it will end up tracking over our region. However, if the models paint heavy snow over southern Colorado or northern New Mexico, our chances for decent snow are slim to none. We always need to be cautious of this southward shift.


The 500mb low took a more southern track (right) than what was modeled (left)

Storm speed: A slower storm speed may ultimately be what led to the upper-low digging a bit further south. The slower speed allowed the surface low to strengthen and closer to the Mountains than models indicated.  Notice the center of the 700mb low displaced west in the later run (right panel). This slow down also extended the duration of the snow by a few extra hours. Originally, models showed things wrapping up late morning on Tuesday. In reality, light to moderate snow persisted into the late afternoon for Boulder, and even longer from Denver east.


As the system approached, models started to slow it down, but it might have been too little, too late

Shift in wind direction: As a result of the previous two reasons, and the presence/orientation of our mountains, the wind field became quite a bit more favorable for upslope conditions up-and-down the Front Range. Pay close attention in the loop below to the wind barbs in NE Colorado (from the RAP model run at 11pm Monday night). Prolonged, north-easterly upslope of 20+ knots is observed for numerous hours beginning around 9Z (2am local).


The development of the system at 700mb, as seen by the 6Z RAP model showing a rapid intensification, strong upslope for Boulder, and cold temperatures (-14 to -18 C)

Dendritic growth zone: During the height of the storm, there was decent vertical motion in a region known as the dendritic growth zone. This region is primarily based on temperature, but to a smaller degree on moisture and vertical motion as well. This zone lies between -12 to -18 deg Celsius (left panel below). As you can see in the observed Denver sounding on the morning of the snow event (right panel below), there is a saturated layer near -15 degrees Celsius (circled in blue). The strong vertical motion, with some instability as well, brought in supercooled water which lead to increasing riming that complimented dendrite snow crystal formation. An image of these snow crystals is shown below. In general, dendrites have a greater amount of air space around the ice crystal. Because of this, when they fall to the ground, their low density will result in larger snow accumulation/rates compared to plate-like or columnar ice crystals. This led to a staggering amount of snow in matter of hours by sunrise Tuesday.


You can also see upslope (northeasterly wind barbs in the right panel) extending up to near 600 mb, a rather deep fetch of atmosphere. As it happens, upslope was technically present up to near 350 mb, but that has no major impact above the inversion layer present at 575 mb. Though it is possible this higher level cloud contributed to snow growth via the seeder-feeder mechanism.

Snow to liquid ratio: Up until this storm, it has not been cold enough to allow a significant amount of dendrites to form during any snow event to date this winter. The lower density (read: fluffiness) of dendrites allowed for greater snow to liquid ratios (SLRs). As a result, for the given amount of moisture available, the snow piled up faster. If this system had run a couple degrees warmer, less dendrites would have formed (and more plates/columns), lowering our overall SLR and total snow accumulation. Based on the observed snow totals in Boulder (10-12″) and observed melted-liquid equivalents (0.55-0.75″), the SLR for this storm was between 15:1 and 20:1, the highest we have seen this snow season! For more information on SLRs and snow forecasting in general, listen to our recent podcast.

In summary: A slower-moving upper-level system allowed the track to dig more southward and form a stronger surface low further to the west. This track also brought wind directions into Boulder from the NE instead of NNE, a much more favorable one for upslope. A slower storm also extended the snow duration by a few extra hours. Temperature and lift came together nearly perfectly to produce dendrites, boosting our snow totals with exceedingly fluffy powder. None of the models picked up on all of this until about 12 hours before the storm arrived, with some switching at the very last moment, and a few never fully coming around. 

Sunset after the snow | North of Boulder | Credit: Rick Tillery

Sunset after the snow | North of Boulder | Photo credit: Rick Tillery


Accurate snowfall forecasts are an evolving area of research in the meteorological community. Our friend and colleague, Evan Kalina, a meteorologist in Boulder, notes:

“Such forecasts are made even more difficult along the Front Range due to the interaction between our snowstorms and the topography. The presence of the mountains means that a 10-degree shift in the wind direction or a 50-mile change in the storm track can turn a non-event into a greater than 6-inch storm (or vice versa). Such small shifts are currently beyond our ability to accurately model or forecast on a routine basis, but they can produce massive changes in the weather that we experience in eastern Colorado. [Weather forecasters] catch a lot of flak when a snowfall event doesn’t turn out as expected. Frankly, most of it is misdirected and undeserved. If we want better snowfall forecasts, we need more accurate numerical models that provide greater lead-time than the models did for this storm. Researchers are hard at work making that happen. Nevertheless, the [forecasters] did a superb job adjusting to this event when it became clear that a change in their initial message was warranted.”

Meteorologists hard at work predicting the weather

Meteorologists hard at work predicting the weather

This storm was one-of-a-kind. In fact, no two storms are fully alike. As meteorologists, these are the type of systems we get excited about! Dynamic, powerful storms that beat out even the most bullish of model runs, dumping seemingly endless snow across the area. We are torn. While the inner-child in all of us is jumping for joy, we feel inevitable remorse for our busted forecast. Each failure undoubtedly sticks in the back of the public’s mind, with much more of a lasting impact than all of the times we nail even the most challenging of forecasts, spot on.

Each and every time we are attempting to predict something that has never happened exactly in the same manner before. With that, we can only hope you continue to have faith in us, faith in all weather forecasters.  As you know, there is still plenty of winter ahead of us to get it right! Let’s hope this isn’t our biggest snow dump of the year!

This post was a collaborate effort between Ben Castellani, Andy Kren, and Evan Kalina. 

Featured image credit: Scott E. Severs

Ben Castellani

Ben grew up in western Pennsylvania and holds both a bachelor's and a master's degree in meteorology. He currently works on a programming language tailored for scientists at Harris Geospatial Solutions in Boulder.

More Posts