HydroForecast Seasonal and Annual Daily Streamflow Forecasts

Released October 22, 2025

NOTE: We’re in the process of rolling out our latest generation of HydroForecast Seasonal and Annual models. During this transition, some customers may still be using our legacy Seasonal-2 model while others have access to Seasonal-3.

HydroForecast Seasonal provides streamflow forecasts up to 3 months ahead for medium-term planning. HydroForecast Annual provides 1-year-ahead forecasts for long-term planning. Both are powered by the same underlying modeling architecture, Omni, and run distributed models with daily time steps to support flexibility and precision in hydrologic forecasting.

Model overview and training

HydroForecast Seasonal and Annual both use a distributed model structure that operates at the sub-basin level with daily time steps. This setup mirrors how water moves through the landscape and river network, helping the model represent key hydrologic processes like snowmelt, infiltration, and delayed runoff.

Each model is powered by a single LSTM (long short-term memory) neural network trained using one or more weather data sources. Currently, models use two main sources: ERA5-Land and NOAA GEFS reanalysis, with additional sources like ECMWF-ENS, HRRR, and HRDPS planned for future releases.

Model training happens in two stages:

  • Base training: A general model is trained on hundreds of sites to learn broad hydrologic patterns.
  • Transfer learning or tuning: This base model is fine-tuned for each specific basin using local basin characteristics, weather reanalysis data, and available streamflow observations. This tuning step helps the model better capture local conditions—such as rapid snowmelt in mountainous basins or slower water movement in groundwater-dominated ones.

The model also includes a routing component that simulates how runoff travels through rivers and tributaries. Each sub-basin produces runoff independently, and the routing network moves this water downstream through a graph of reaches and confluences, ensuring accurate timing and accumulation of flow.   

Default training parameters:

  • Lookback period: 9 months (can be extended for slower-response systems)
  • Training period: 2001–2020
  • Validation period: 2021–2024

Building the forecast

Every day, the model updates its understanding of current basin conditions using recent weather and, where available, streamflow observations. The forecast is then generated in two main phases that reflect how different weather inputs contribute over different horizons

  • Days 0–35: For the near-term forecast, the model runs the full NOAA GEFS ensemble (31 members), using the actual ensemble forecasts rather than the ensemble mean. Each GEFS member represents a possible future weather pattern. The model runs once per member to generate a corresponding streamflow trace. These traces are statistically aligned (using CDF matching) with ERA5-Land—the dataset the model was trained on—to ensure smooth transitions and realistic hydrologic behavior.
  • Days 36+: After the GEFS forecast period ends, the model transitions to an analog approach based on 39 years (1982–2020) of historical ERA5-Land data. Each year contributes a set of analog weather patterns, creating 702 total historical flow scenarios. The model combines these to produce a mean and quantile forecast, showing how flows might evolve further into the season. As time progresses, the forecast gradually converges toward the long-term average (LTA).

A smoothing mechanism is applied between Days 35 and 36 to connect the two forecasting phases seamlessly. The result is a continuous daily forecast that leverages the strengths of both short-term ensemble predictions and long-term historical analogs.

Probabilistic forecasts

HydroForecast Seasonal and Annual forecasts are probabilistic, meaning they represent a range of possible futures rather than a single outcome. Each forecast includes a mean streamflow value and confidence intervals (quantiles), as well as multiple ensemble traces tied to different weather inputs (e.g., NOAA GEFS or ERA5).

To capture weather uncertainty, the model runs once for each ensemble weather forecast. To capture model and observation uncertainty, the model itself is probabilistic—producing a full probability distribution at each forecast step for every ensemble member. These distributions are combined to create the final probabilistic forecast displayed in the dashboard. The resulting mean and quantiles represent the model’s best overall prediction. Each trace also includes its own confidence interval; the intervals shown in the distribution view are the average across all traces. Confidence intervals will appear wider when a few traces show higher uncertainty.

While individual traces are helpful for exploring sensitivity to different weather inputs, the probabilistic forecast is the most accurate and reliable summary for decision-making.

Understanding single-source traces

Source-based traces—also called weather-driven flow traces—are streamflow forecasts generated from individual input sources:

  • GEFS traces cover up to 35 days, one per ensemble member
  • ERA5-Land traces cover up to 12 months and represent 39 years of historical analogs

They help users see how streamflow could evolve under different weather inputs, but they should not be interpreted as specific scenarios. For scenario planning, use the probabilistic forecast. All traces are accessible via the API.

Accessing seasonal and annual forecasts via API

You can access HydroForecast Seasonal forecasts through the API using either of the following sources:
  • hydroforecast-seasonal (recommended)
  • hydroforecast-seasonal-3
Both sources return identical data, and hydroforecast-seasonal will remain your primary production endpoint moving forward.
Each weather input also has its own single-source streamflow forecast with traces, accessible via API:
  • hydroforecast-seasonal-3-gefs – includes 31 ensemble member traces extending up to 35 days
  • hydroforecast-seasonal-3-era5 – includes 40 analog traces extending 3 months (standard Seasonal) or 12 months (Annual)

Legacy Seasonal Model (Seasonal-2)

The previous Seasonal-2 model used a 10-day timestep, did not assimilate observations, and relied on the GEFS mean rather than the full ensemble. It also used a simpler lumped model structure that treated each basin as a single unit. In contrast, the current model provides daily outputs, a distributed structure, and full GEFS ensemble usage for improved near-term accuracy.

Previously, synthetic traces were created to represent possible or extreme scenarios. The new model ties traces directly to real weather inputs, so we no longer recommend using them for scenario planning. Instead, the probabilistic forecast provides the clearest and most reliable representation of expected flow ranges.

Feature Seasonal-3 Legacy Seasonal-2
Time step Daily 10-day
Model structure Distributed (sub-basins and routing) Lumped model
Assimilation Yes No
GEFS usage Full ensemble used for days 0-35 Ensemble mean for analog selection
Traces Source-based (GEFS and ERA5 Land) Synthetic, based on ERA5 analogs

A note on short-term forecasts

HydroForecast Short-term and Seasonal/Annual models are separate systems. Short-term forecasts are updated more frequently and optimized for hourly to 10-day horizons—for example, flood forecasting or hydropower operations. Seasonal and Annual forecasts are updated daily and focus on medium- and long-range planning. There is currently no blending between the two products.