-
Notifications
You must be signed in to change notification settings - Fork 30
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
[5pt] PR: Post-processing tool for inundation: interpolate water surface #1048
Conversation
Hi @CarsonPruitt-NOAA, at some point, it might make sense to see if this code could be transformed to python to permit spillover in the library generation step. |
@RyanSpies-NOAA Hey, just wanted to put this one back on your radar so we can merge this PR. Since we're unlikely to use this tool much, just a quick test is okay. |
…into dev-catchment-spillover
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested and reviewed
…into dev-catchment-spillover
…into dev-catchment-spillover
This script produces inundation depths and attempts to overcome the catchment boundary issue by interpolating water surface elevations between catchments. Water surface calculations require the hydroconditioned DEM (
dem_thalwegCond_{}.tif
) for computation, however, this file is not in the standard outputs from fim_pipeline.sh. Therefore, users may have to re-run fim_pipeline.sh withdem_thalwegCond_{}.tif
removed from all deny lists.Additions
tools/interpolate_water_surface.py
: New post-inundation processing tool for extending depths beyond catchment limits. Theinterpolate_wse()
contains the logic for computing the updated depth raster, but users can also call this module directly to perform inundation, similar to howinundate_mosaic_wrapper.py
works, but with the new post-processing enhancement.Testing
This method has not been widely tested for improved FIM skill. Here is the example usage:
Screenshots
This plot shows a transect of water surface elevation and the DEM in between 2 catchments where a catchment boundary is limiting inundation extent. The
interpolate_water_surface.py
tool interpolates the water surface to fill the gap in between. If the DEM surface is below the interpolated water surface, the area should be classified as inundated.These maps show the results. Blue is the original depth output from HAND and the yellow/orange shows the additional interpolated depth using this method. The catchment boundaries are the red polygons.
Issuer Checklist (For developer use)
You may update this checklist before and/or after creating the PR. If you're unsure about any of them, please ask, we're here to help! These items are what we are going to look for before merging your code.
[_pt] PR: <description>
dev
branch (the default branch), you have a descriptive Feature Branch name using the format:dev-<description-of-change>
(e.g.dev-revise-levee-masking
)dev
branchpre-commit
hooks were run locally/foss_fim/
, run:pytest unit_tests/
)4.x.x.x
Merge Checklist (For Technical Lead use only)