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

[3pt] PR: Approx bankfull stage and apply composite roughness in synthetic rating curves #467

Merged
merged 24 commits into from
Oct 12, 2021

Conversation

RyanSpies-NOAA
Copy link
Collaborator

@RyanSpies-NOAA RyanSpies-NOAA commented Oct 8, 2021

These "tool" enhancements 1) delineate in-channel vs. out-of-channel geometry to allow more targeted development of key physical drivers influencing the SRC calculations (e.g. bathymetry & Manning’s n) #418 and 2) generate variable/composite Manning’s roughness (n) values using user provided csv file with in-channel vs. overbank roughness values #419 & #410.

Additions

  • identify_src_bankfull.p: new post-processing tool that ingests a flow csv (e.g. NWM 1.5yr recurr flow) to approximate the bankfull STG and then calculate the channel vs. overbank proportions using the volume and hydraulic radius variables
  • vary_mannings_n_composite.py: new post-processing tool that ingests a csv containing feature_id, channel roughness, and overbank roughness and then generates composite n values via the channel ratio variable

Changes

  • eval_plots.py: modified the plot legend text to display full label for development tests
  • inundation.py: added new optional argument (-n) and corresponding function to produce a csv containing the stage value (and SRC variables) calculated from the flow to stage interpolation.

Testing

Successful run for 1602 huc8s (MS & FR configurations) using the following:

  1. python3 foss_fim/tools/vary_mannings_n_composite.py -fim_dir data/outputs/fim_3_0_22_4_ms_vmann/ -bc chann_volume_ratio -mann data/tools/variable_manning_n/mannings_global_06_014.csv -suff _global_06_014 -j 9
  2. python3 foss_fim/tools/identify_src_bankfull.py -fim_dir data/outputs/fim_3_0_22_4_ms_vmann/ -flows data/inundation_review/inundation_nwm_recurr/nwm_recurr_flow_data/recurr_1_5_cms.csv -j 10

Log files from both step provide a record of completion and warnings for each HUC.
There is also an optional flag (default=False) to produce rating curve plots for each hydroid. Example below:

Screenshots

Plot showing the variable Manning's n calculated for a single hydroid catchment
image

Plot showing the rating curve modifications with the composite n application for a single hydroid catchment
16390144

Alpha evaluation CSI results for multiple Manning's roughness variations for the USGS benchmark FIM sites:
csi_aggr_usgs_ms

Alpha evaluation CSI results for multiple Manning's roughness variations for the NWS benchmark FIM sites:
csi_aggr_nws_ms

Notes

  • Multiple Manning's roughness combinations are available in the /tools/variable_manning_n/ directory. Efforts are still underway to determine the optimal roughness dataset for applying to CONUS FIM generation.

Todos

  • We will need to revisit the evaluation metrics for the composite roughness outputs upon updating the bathymetry estimation efforts currently underway.

- Tool ingests src_full_crosswalked.csv and the nwm 1.5yr flow csv
- Ouputs a new src_full_crosswalked_bankfull.csv with added column
 Please enter the commit message for your changes. Lines starting
- Script will injest src_full_crosswalked.csv and a user provided mann_n_table (csv)
- Manning's table must contain: feature_id, channel_mann, floodplain_mann
- Uses the bankfull attribute column to apply variable Manning n values
- Recalculates Manning's eq using existing geometry variables and new Manning's n
- Creates a new src_full_crosswalked.py and hydroTable_XXXXX.csv
- Optional SRC plot option to view the modified SRC vs. previous version
- bankfull detection now calculates a channel volume ratio variable
- added a ratio multiplier calculation to derive composite roughness for each SRC stage
- produce new hydrotable outputs for running alpha tests
- updated var input for choosing the channel geometry ratio variable
- cleaned handling of null, negative, and 0 nwm 1.5yr flows
- vary_mannings_n_composite.py
- Fixing null value issues
- Read in df before huc loop
- Extracting src line from innundation.py
- Added log file for vary_mannings_n_composite
- Cleaned log text output
- Added dtype in pandas read csv for feature_ids (resolves issue with null crosswalks)
@RyanSpies-NOAA RyanSpies-NOAA changed the title Dev bfull detect [2pt] PR: Approx bankfull stage and apply composite roughness in synthetic rating curves Oct 8, 2021
@BradfordBates-NOAA BradfordBates-NOAA changed the title [2pt] PR: Approx bankfull stage and apply composite roughness in synthetic rating curves [3pt] PR: Approx bankfull stage and apply composite roughness in synthetic rating curves Oct 12, 2021
@BradfordBates-NOAA BradfordBates-NOAA merged commit 4e27d50 into dev Oct 12, 2021
@BradfordBates-NOAA BradfordBates-NOAA deleted the dev-bfull-detect branch October 12, 2021 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Rating Curves
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants