markwang0 / ras2fim

Creation of flood inundation raster libraries and rating curves from HEC-RAS models.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RAS2FIM ras2fim agency

Creation of flood inundation raster libraries and rating curves from HEC-RAS models

ras2fim logo

Description: Starting with geospatially attributed one-dimensional HEC-RAS floodplain models, these scripts are used to create a library of flood depth inundation rasters for a range of storm water discharges (flow). HEC-RAS models are cut to roughly match the limits of the National Water Model's {NWM} stream designations (hydrofabric). For each matching NWM stream, a synthetic rating curve is created based on 'reach averaged' flood depths as determined from the HEC-RAS simulations. The intent it to create a library of flood depth inundation grids with a ccorresponding rating curve that can be paired with the National Water Model's discharges determination and forecasting to create real-time and predictive floodplain mapping from a detailed HEC-RAS 1-D model.

  • Technology stack: Scripts were all developed in Python 3.8.11. Use is intended within a custom 'ras2fim' Anaconda environment running on a Windows OS. Prior to running these scripts, the user is required to install and run HEC-RAS v 6.0.

  • Status: Version 1.0 - Inital release. Refer to to the CHANGELOG.

  • Overview Video: Link to overview video of ras2fim

  • Related Project: Inspiration for this repository was to develop flood inundation map libraries to replace Height Above Nearest Drainage (HAND) as calculated with the Cahaba repository where detailed HEC-RAS models exist.

RAS2FIM Wiki: More detail regarding RAS2FIM is located on the project's Wiki page.

Go To Wiki

Overview:

Prior to Running the Code

Input Data

esip logoThere are three (3) "National Datasets" that will need to be downloaded locally prior to running the RAS2FIM code. These input data can be found in an Amazon S3 Bucket hosted by Earth Science Information Partners (ESIP). These data can be accessed using the AWS Command Line Interface CLI tools. This S3 Bucket (s3://noaa-nws-owp-fim) is set up as a "Requester Pays" bucket. Read more about what that means here.

Configuring the AWS CLI

  1. Install AWS CLI tools
  2. Configure AWS CLI tools

(1) Get AWS Folder - National Datasets

aws logo List folder prior to download:

aws s3 ls s3://noaa-nws-owp-fim/ras2fim/national-datasets --request-payer requester

Download National Datasets: (3.82 Gb)

aws s3 cp --recursive s3://noaa-nws-owp-fim/ras2fim/national-datasets X-National_Datasets --request-payer requester

This download will include the following files:

  1. Watershed Boundary Dataset (WBD): WBD_National.gpkg (1.65 Gb)
  2. National Water Model (NWM) Flowline Hydrofabric: nwm_flows.gpkg (1.80 Gb)
  3. National Water Model to Watershed Boundary Lookup: nwm_wbd_lookup.nc (372 Mb)

(2) Install HEC-RAS verion 6.0

hec-ras logoThese RAS2FIM scripts are written to utilize the computational engine and supporting APIs from the U.S Army Corp of Engineers' Hydrologic Engineering Center's River Analysis System {HEC-RAS}. Download and install HEC-RAS version 6.0 to your local machine. Note: the version (6.0) matters!

The install package can be downloaded here or from the USACE website.Once installed, open HEC-RAS on that machine to accept the terrms and conditions and ensure that it will function on that machine prior to running any RAS2FIM scripts. Close HEC-RAS.

(3) Clone the Git-hub repository

git logo Install git onto your Windows machine. Clone this ras2fim reporitory on to your Windows machine.

git clone https://github.com/NOAA-OWP/ras2fim.git

Dependencies

Installation

(4) Create a new anaconda environment

conda logo
Detailed instructions on setting up an anaconda environment and running the main ras2fim script is in a this separate INSTALL document

Usage

With the (1) ras2fim anaconda environment created and (2) the ras2fim git-hub folder cloned, ras2fim python scripts are within the src folder. The main scripts is titled ras2fim.py. All scripts have a helper flag of -h. It is recommended that you run the script with the helper flag first to determine the required input.



Note: For this script there are seven (7) required inputs and one (1) optional input. While this input string will greatly vary on your machine, provided is a sample input string to execute the ras2fim.py script.

python ras2fim.py -w 10170204 -i C:\HEC\input_folder -o C:\HEC\output_folder -p EPSG:26915 -v False -n E:\X-NWS\X-National_Datasets -r "C:\Program Files (x86)\HEC\HEC-RAS\6.0"

How to test the software

aws logo A sample input and output folder is provided for testing the application. From an AWS S3 bucket, a sample-dataset folder is provided. It includes both sample input and sample output data.

List folder prior to download:

aws s3 ls s3://noaa-nws-owp-fim/ras2fim/sample-datasets --request-payer requester

Download Sample Input and Output datasets: (212 Mb)

aws s3 cp --recursive s3://noaa-nws-owp-fim/ras2fim/sample-datasets sample-datasets --request-payer requester

A video, showing the use of these sample data with the ras2fim scripts is provided.

Starting with ras2fim

Known Issues & Getting Help

Please see the issue tracker on GitHub and the Ras2Fim Wiki for known issues and getting help.

Getting involved

NOAA's National Water Center welcomes anyone to contribute to the RAS2FIM repository to improve flood inundation mapping capabilities. Please contact Brad Bates (bradford.bates@noaa.gov) or Fernando Salas (fernando.salas@noaa.gov) to get started.


Open source licensing info

  1. TERMS
  2. LICENSE

Credits and references

  1. Office of Water Prediction (OWP)
  2. Goodell, C. R. (2014). Breaking the Hec-Ras Code: A User’s Guide to Automating Hec-Ras. H2ls.
  3. Executive Summary, & Guidance, S. (n.d.). InFRM Flood Decision Support Toolbox. Usgs.Gov. Retrieved October 22, 2021
  4. Collete, A. (2013). Python and HDF5: Unlocking Scientific Data. O’Reilly Media.
  5. Board on Earth Sciences and Resources/Mapping Science Committee, Committee on FEMA Flood Maps, Mapping Science Committee, Board on Earth Sciences & Resources, Water Science and Technology Board, Division on Earth and Life Studies, & National Research Council. (2009). Mapping the zone: Improving flood map accuracy. National Academies Press.
  6. Dysarz, Tomasz. (2018). Application of Python Scripting Techniques for Control and Automation of HEC-RAS Simulations. Water. 10. 1382. 10.3390/w10101382.
  7. User’s Manual. (n.d.). River Analysis System. Army.Mil.

Special Thanks to: Cam Ackerman (US Army Corp of Engineers), Kristine Blickenstaff (US Geological Survey), Chris Goodell (Kleinschmidt Associates), Witold Krajewski (Iowa Flood Center), RoseMarie Klee (Texas Department of Transportation), David Maidment (University of Texas), Saul Nuccitelli (Texas Water Development Board), Paola Passalacqua (University of Texas), Jason Stocker (US Geological Survey), Justin Terry (Harris County Flood Control District)

About

Creation of flood inundation raster libraries and rating curves from HEC-RAS models.

License:Other


Languages

Language:Python 100.0%