Skip to content

Streamflow Nudging

shorvath-noaa edited this page Sep 18, 2024 · 3 revisions

Overview

T-route has implemented a simple nudging data assimilation (DA) scheme that has been modified from the NCAR WRF-Hydro® Modeling System to correct modeled streamflows to (or towards) observed values. Specifically, the nudging capability introduces an interface for stream discharge observations to be applied to the Muskingum-Cunge (MC) streamflow routing solution. Parts of this description have been copied and/or modified from the WRF-Hydro® v5.2 documentation.

Formulation

The motivation for performing DA is to improve model simulation and forecast initial conditions. Nudging is a simple and computationally inexpensive method of data assimilation where an observed state is inserted into the model with some uncertainty. When the observed value is inserted into the model without uncertainty. Nudging works well locally to observations, both in space and time. Away from observations, in space and time, the method has limited success. For example, our application applies nudging data assimilation on a channel network with the advantage that the corrections are propagated downstream with the network flow. However, if no spatial or temporal smoothing of the corrections are included with the nudging method, upstream errors soon propagate past observed points when in the forecast (away from the observations, into the future). Various assumptions can be made to smooth the nudge (or correction) in space and/or time but these are highly parameterized and require tuning.

Upon initialization, t-route's Data Assimilation object creates a data frame of previously assimilated observations and observation times (termed lastobs). These values are used to calculate the nudging value for streamflow data assimilation in the event there are no new, valid observations (e.g., when there is missing observation data or when routing is being performed in "forecast" mode). USGS gage observations from timeslice files are used to create timeseries of observations that are linearly interpolated to match t-route's time step. This is so streamflow nudging can happen at each time step.

The basic nudging methodology follows the following steps:

  1. The modeled flow is first calculated using the MC routing solution. If a given reach has a gage in it, the modeled value is replaced by the observation if there is a valid observation and the model time is within the DA timeseries.
  2. If both the observation and observation time are not valid, the modeled value is used.
  3. If the model time is outside of the DA timeseries and/or the gage value is not valid and the lastobs is not null, the decay calculation is used to estimate the replacement value.

The nudged replacement value, $Q$, is calculated as

$$ \begin{align} Q = \tilde{Q} + (\hat{Q}-\tilde{Q})*e^{(\Delta t/-a)} \end{align} $$

, where

$$ \begin{align} \tilde{Q} &= \text{the modeled value} \\ \hat{Q} &= \text{the observed value} \\ \Delta t &= \text{the difference between modeled time and the observation time} \\ a &= \text{the decay coefficient (defaults to 120 minutes)} \end{align} $$

Clone this wiki locally