Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Streamflow DA bug fix (negative values) #521

Merged
merged 1 commit into from
Feb 12, 2022

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