⚡ The Snoflo Forecast Engine

Meet PULSE.

The model behind Snoflo’s forecasts. It learns how each river, mountain snowpack and coastal buoy actually behaves, then projects where conditions are headed: streamflow on the rivers, snow-water equivalent on the mountains, and wave height on the coast.

PULSE · Predictive Unified Learning & Simulation Engine

What PULSE is

A forecast that learns from the past, not just the present.

Most conditions forecasts treat every location the same and start over each day. PULSE does not. For each individual site, whether a river gauge or a mountain snowpack station, it studies well over a decade of that site’s own measurements and learns how that particular place tends to behave through storms, snowmelt and dry spells. Then it pairs that history with today’s live reading to project the days ahead.

Today PULSE powers two live forecasts. On the rivers, a 15-day streamflow outlook: the discharge, a likely range, and the projected gage height. On the mountains, a 15-day snowpack outlook: snow-water equivalent and depth, plus the projected peak snowpack and the projected melt-out date. Both run on Snoflo’s live station network every day, and the same station forecasts roll up to a basin-wide read on the runoff season ahead.

A river running low tends to stay low, and a deep snowpack tends to stay deep and melt out later. PULSE carries that current state forward instead of snapping back to a textbook average.

How PULSE works

The same method, run for every site, every day.

Whether it is forecasting a river or a snowpack, PULSE follows the same discipline. Each site is modeled on its own terms, on its own history and its own rhythm.

1

Learn the site’s own normal

From well over a decade of daily records, PULSE learns the normal range for every day of the water year at that exact gauge or snowpack station. Not one flat average, but the full spread of wet years and lean years for the date.

2

Anchor to the live reading

It starts from the most recent measurement, the current flow and level on a river, or the current snow-water equivalent on a snowpack. That is the ground truth for where things stand right now.

3

Carry today’s departure forward

This is the core idea. PULSE measures how far above or below normal the site is right now and carries that departure forward, fading toward normal only as fast as that site’s own history says it should. A drought river stays low; a big snow year stays deep and melts out later.

4

Factor in the incoming weather

It reads the National Weather Service forecast for each site. On a river, coming rain is added as runoff on the days it falls and tapers off after, the way a storm pulse moves downstream. On a snowpack, forecast precipitation builds the pack when it falls as snow, and forecast temperature sets how fast it melts.

5

Use the connected signals

Water does not sit in isolation. On a river, PULSE uses the flow already moving past its upstream gauges, which reaches a downstream gauge a day or two later. It reads those physical links from the record rather than assuming them, and only leans on one where the record earns it.

6

Forecast a range, then grade it

Instead of a single line pretending to be exact, PULSE puts out a most-likely path and a likely range that widens the further out it looks. Then it scores that forecast against a plain benchmark on years of held-out history, and only turns on where it clearly wins.

What it reads, and what it returns

What PULSE reads

  • The site’s own daily measurements going back well over a decade, the basis for its normal range.
  • The most recent live reading, the ground truth for where the site stands right now.
  • The National Weather Service forecast for that exact point: rain, snow and temperature.
  • Where they add skill, the connected signals nearby, such as flow already moving downstream from upstream gauges.

What PULSE returns

  • A day-by-day path out to 15 days on rivers and snowpack, and about a week on the coast.
  • A likely range around every projection, not a lone number, so the uncertainty stays visible.
  • The decision points people plan around: projected stage, peak snowpack, melt-out date, and basin percent of normal.
  • Nothing at all where the record is too short, or where testing says a plain climatology would do better.
What PULSE produces

From a single station to a whole basin.

The same engine turns years of a site’s record into the numbers people actually plan around.

On the rivers

A 15-day streamflow forecast: the expected discharge and a likely range, with the projected gage height alongside it. The near-term days are sharpened by flow already on its way from upstream.

On the snowpack

A 15-day snow-water-equivalent forecast with snow depth, plus the two dates water managers watch: the projected peak snowpack and the projected melt-out, each read against the station’s long-run normal.

On the coast

A 7-day significant-wave-height forecast for each buoy, with a likely range, anchored to the buoy’s current reading and its own multi-year record of the sea state at that spot.

Across the basin

Station forecasts rolled up to whole basins as a percent of normal, the standard leading indicator of the snowmelt runoff season, so a water-supply read is a glance rather than a spreadsheet.

How PULSE evolves

It grades itself, every day.

A forecast is only as good as its track record. PULSE keeps one automatically.

Walk-forward testing

PULSE replays itself across years of history, forecasting from the past and checking against what actually happened next. Nothing is scored on data it was allowed to see.

Measured against a benchmark

Every forecast is scored by its error on data the model never saw, against two honest baselines: a plain climatology, and simply assuming today holds. PULSE only turns on where it clearly beats both. Where it cannot, the page shows the climatology instead.

Refreshed continuously

New observations land every day and feed back into the model’s memory and its scorecard, so PULSE sharpens as the record grows.

In testing, PULSE beats a climatology baseline through the first several days, then settles toward it further out. That is where any forecast should lose confidence. We would rather show a wider range we trust than a sharp number we do not.

Where PULSE is going

One engine, learning across every signal we collect.

Snoflo gathers streamgauge, snowpack and buoy data across the country every day, and PULSE keeps widening the connections it can draw between them.

Live now

Rivers, snowpack, basins and waves

Streamflow with weather and upstream-gauge routing, snowpack with weather-driven accumulation and melt, the basin-wide runoff read, and a week-ahead wave-height outlook on the buoys are all running today on every site that has the record to support them.

Next

Sharper coastal and longer-range skill

Extending the weather-driven skill deeper into the two-week window on land, and on the coast folding in wave-model guidance and neighboring buoys so a swell is tracked as it travels. Each is held to the same test: it ships only where it beats the benchmark.

Coming

Tides, and one connected engine

Deterministic tide predictions for coastal stations, and wider learning across signals, so “Powered by PULSE” means one model across every condition Snoflo tracks.

Good to know

Questions about PULSE

What does PULSE forecast today?

Three things. For rivers, on a 15-day horizon, the expected discharge, a likely-range band, and the projected gage height. For snowpack, on the same 15-day horizon, the snow-water equivalent and depth, plus the projected peak snowpack and melt-out date, and a basin-wide percent-of-normal read of the runoff season ahead. For the coast, a 7-day significant-wave-height outlook at each buoy with a likely range.

How does the wave forecast work?

It learns the normal sea state at each buoy from years of that buoy’s own record, anchors to the current reading, and projects the significant wave height about a week out with a likely range. Like the rest of PULSE, it is graded against a plain benchmark and shown only where it beats it. Deeper coastal skill, from wave-model guidance and neighboring buoys, is the next step.

How accurate is it?

Accuracy is measured per site with walk-forward testing against a climatology baseline, scored only on data the model was not allowed to see. PULSE beats that baseline over the first several days and settles toward it at longer ranges, which is why the band widens with time. Where it cannot beat the baseline for a site, the page shows the climatology instead. We would rather be honestly uncertain than falsely precise.

How should I read the snowpack forecast?

Snow-water equivalent is the water held in the pack, the number that matters for runoff and supply. The forecast marches the pack forward with the incoming weather, then hands off to the seasonal trend. Peak snowpack and melt-out date come from the same projection, and the basin rollup expresses it as a percent of normal, the convention water agencies already use.

Why does the forecast range get wider further out?

Because real certainty does. The next several days are anchored by the site’s current state and by the incoming weather. Two weeks out, weather and chance take over. PULSE shows that growing uncertainty instead of hiding it behind a single line.

Is PULSE the same as a weather model?

No. Weather models forecast the atmosphere. PULSE forecasts the water and the snow. It learns each site’s own behavior and reads how the weather forecast, the upstream flow and the melting pack turn into what you will actually measure.

Does it keep improving?

Yes. New measurements feed the model and its scorecard every day, and we keep training and releasing new versions of PULSE as the record grows and we add new signals, each one held to the same out-of-sample test.

See PULSE read a river, a snowpack, or a buoy.

Open any streamflow report for the 15-day flow outlook and projected stage, any snowpack station for the snow-water forecast, projected peak, and melt-out date, or any buoy for the week-ahead wave-height outlook. Powered by PULSE.