Skip to content

Conversation

@awlostowski-noaa
Copy link
Contributor

Further testing of t-routes DA scheme at CONUS scale revealed some issues that were not observed at smaller development scales. In particular, there were negative and -Inf values appearing at gage locations. As it turns out, the DA-decay method had but in it. Specifically, the DA weight value is: da_weight = exp(time_since_lastobs/ decay_coeff), where time_since_lastobs is the number of minutes since the last quality observation was taken at the gage. Per this, equation time_since_lastobs should not be a negative value, but the existing code was simulating as such.

Elaborating a bit more with some context. The DA weight is weight that a simulated value is given relative to the last observation. When the last observation occurred very recently, the weight on the simulated value should be minimal because it is unlikely that actual (observed) streamflow underwent a large change in a brief amount of time. On the other hand, when it has been a while since the last quality observation, then the DA weight should be large. In either case, the DA weight value should never be greater than 1. The only way to make this happen is if the time_since_lastobs is always a positive value.

Regardless of the math and logic, the implemented changes in this PR do away with negative and -Inf values appearing in the streamflow simulations at gage locations.

Additions

  • absolute value operation on time_since_lastobs in simple_da.pyx

Removals

  • None

Changes

  • None

Testing

  1. Isolated two problematic gages (06400875 and 09386950) where CONUS testing was showing negative values in the simulated streamflow record. Confirmed the results observed at CONUS scale. Confirmed that the requested changed here ameliorated these issues.

@awlostowski-noaa awlostowski-noaa merged commit 49d0563 into NOAA-OWP:master Feb 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant