NOAA-Office of Water Predictions (OWP) use HAND FIM model for operational flood forecasting across CONUS (https://github.com/NOAA-OWP/inundation-mapping). It is a terrain based model that uses the Discharge and reach avergaed synthetic rating curves (SRCs) to generate the inundation and depth rasters at HUC-8 scale (Hydrologic Unit Code-8). The model is capable to produce flood maps less than a minute for all order streams within the watershed. The HUC-8 watersheds have catchment area more than 1000 sqkm , that makes this framework scalable and computationaly efficient. It is a fluvial flood model and doesnot have urban flood compponant.The last released version of the model is 4.5and has gone through significant improvements.The present notebook is user freindly and able to run the HAND FIM model from cloud and capable of running mutiple HUC-8s simulteniously.This model can run at any temporal resolution(hourly, daily, monthly etc).It uses the NHDPlus unique river identifiers and assign the streamflow for each of the segment.
Once the user clone the repository and run it, it will create required folder setup automatically and after running the code the structure looks like below. The user need to put the HUC-8 (Hydrologic Unit Code-8) IDs in HUC.csv. Final folder structure after you run the code
OperationalOWPFIM/
├── code/
│ └── inundation-mapping/ (contains scripts of the flood model)
├── data/
│ └── inputs/(NWM Discharge value will be saved here in a format of STH_HUC8code)
├── outputs/
│ ├── flood_1stHUC8Code/
├── 1stHUC8Code(HAND Model files downloaded from CIROH s3 Bucket)/
└── 1stHUC8Code_inundation/ (Contains final FIM as inundation.tif)
│ ├── flood_2ndHUC8Code/
│ ├── | | | |
│ └── flood_nthHUC8Code(It will depend upon how many HUC id user put in HUC.csv)/
│
├── OWPFIMProductionsfunctions.py (It contains all functions associated with notebook)
├── OWPHANDfim.ipynb (It is the main notebook code to get FIM)
├── HUC.csv
├── environment.yml (Contains the environment dependencies)
└── README.md
To use this code,
Clone the repository:
git clone https://github.com/sdmlua/OperationalOWPFIM.git
Create a virtual environment: Be aware if your terminal is in different directory then user need to give the path of .yml file.
conda env create -f environment.yml
After Creating the virtual environment, It will create virtual environment in system named OWPHANDFIM
conda activate OWPHANDFIM
Now, you are good to go for jupyter notebook.
If you use this notebook, please cite: Baruah et al. (2024). OperationalOWPFIM (Version 1.1) [Source code]. GitHub. https://github.com/sdmlua/OperationalOWPFIM
Contact Dr. Sagy Cohen ([email protected]) Dr Anupal Baruah,([email protected])