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

Diffusive Data Assimilation v2 with USGS streamflow data #552

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

kumdonoaa
Copy link
Contributor

[Short description explaining the high-level reason for the pull request]

Additions

  • streamflow DA capability to diffusive.f90 (When USGS streamflow data is available to a particular stream reach, the data instead of estimated value is used as streamflow boundary condition at the bottom end of the reach for computing streamflow of all upstream stream segments within the reach at the next simulation time step)
  • Three new input arguments, i.e., nts_da_g, usgs_da_g, usgs_da_reach_g, were created inside diffusive_utils.py and passed to diffusive.f90. nts_da_g = the number of DA data time steps; usgs_da_g = USGS streamflow data at available stream reach; usgs_da_reach_g = the indices of stream reaches that are co-located with UGSG streamflow gages.
  • New function def fp_da_map in diffusive_utils.py was created to produce the three arguments.
  • In Test_AnA.yaml, "diffusive_streamflow_nudging" variable was added as a switch to turn on or off diffusive streamflow DA.
  • Test_AnA_ncar.yaml file is added to simulate a period from 2021-09-01 up to 28 hrs.

Removals

Changes

Testing

  1. Diffusive DA (Data Assimilation) at Lower Colorado River with USGS streamflow data at 7 locations over 28 hrs
    As specified in test_AnA.yaml, seven USGS observed streamflow time series over 28 hrs were used for discharge Data Assimilation. Each of the time series replaced estimated streamflow values for next simulation time steps at the bottom computation node of the corresponding stream reach. When given USGS data is in poor quality or missing, the estimated values are plugged back in. Then, the impact of streamflow values at the bottom node is propagated upstream in computing streamflow at upstream nodes within the same reach. The figure below compares DA and non-DA streamflows over 28 hrs with 5 min time steps.

Recording 2022-04-19 at 23 38 03

The following figures confirm that USGS flow data was indeed used as flow boundary condition at the bottom node of stream reaches that have USGS gage stations. The blue lines suddenly dropping to negative values indicate that USGS flow data is not available beyond the time where the blue lines intersect. In this test, measured flow data of only the first 12 hours are available. So the flow boundary condition for the rest 16 hours at each gauge location is implemented by assumed flow value using previously computed flow value.

image

Screenshots

Notes

Todos

Checklist

  • PR has an informative and human-readable title
  • Changes are limited to a single goal (no scope creep)
  • Code can be automatically merged (no conflicts)
  • Code follows project standards (link if applicable)
  • Passes all existing automated tests
  • Any change in functionality is tested
  • New functions are documented (with a description, list of inputs, and expected output)
  • Placeholder code is flagged / future todos are captured in comments
  • Visually tested in supported browsers and devices (see checklist below 👇)
  • Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
  • Reviewers requested with the Reviewers tool ➡️

Testing checklist

Target Environment support

  • Windows
  • Linux
  • Browser

Accessibility

  • Keyboard friendly
  • Screen reader friendly

Other

  • Is useable without CSS
  • Is useable without JS
  • Flexible from small to large screens
  • No linting errors or warnings
  • JavaScript tests are passing

@kumdonoaa kumdonoaa force-pushed the mc-diffusive_nxec_dsboundary_DA_backup3 branch from 10de77c to 91f6d27 Compare April 22, 2022 16:59
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