pfra-hydromet is a collection of tools for developing excess rainfall scenarios for input to hydraulic models using:
- Meteorological data
- Random sampling
- Hydrologic transform
- Convolution algorithm for grouping
These tools (jupyter notebooks ) ingest data from the NOAA Hydrometeorological Design Studies Center (HDSC) and return unique, weighted runoff events suitable for use in 2D hydraulic rain-on-grid models. Executed notebooks should be saved as documentation of the inputs, outputs, and results for a given project location.
NOTE: EventsTable is currently the primary notebook for developing excess precipitation scenarios, and is managed and called by Papermill. Within this repo, papermill is designed to act as a manager to maintain consistency in computation, and ensure cells are executed in order. Manager notebooks are designated with the PM-
prefix.
-
PrecipTable: Retrieve NOAA Atlas 14 precipitation statisics for an Area of Interest (AOI).
-
PM-EventsTable: Manager notebook that executes
EventsTable
and/orreEventsTable
. -
EventsTable: Calculates excess rainfall using area-averaged NOAA Atlas 14 precipitation data, temporal distributions, and the curve number (CN)* transform. The output is a set of unique, weighted excess rainfall time series.
-
reEventsTable: Calculates the reduced excess rainfall given a user-specified stormwater removal rate and capacity. Given user-specified contributing areas (stormsheds), the lateral inflow hydrograhs are also calculated for each event.
-
distalEventsTable: Calculates excess rainfall using updated randomized curve numbers and the original precipitation events calculated in
EventsTable.ipynb
. The events are combined using the groups determined during the convolution steps inEventsTable.ipynb
. ThereEventsTable
notebook can be then be executed in order to calculate the reduced excess rainfall. -
JSON_to_DSS: Converts the JSON files generated by
PM-EventsTable
and/ordistalEventsTable
to a single DSS. -
MetadataExplorer: Explores the metadata file created by
PM-EventsTable
ordistalEventsTable
during the excess rainfall calculations. -
Convolution_Parameters: Describes the test statistic and parameters used during the convolution step in the
EventsTable
notebook.
-ProjectArea_ModelName_Pluvial_Parameters.xlsx
: Excel Workbook used to store the CN, stormwater removal rate and capacity, and information on lateral inflow domains for each pluvial domain within a pluvial model. This Workbook is called by EventsTable
, PM-EventsTable
, distalEventsTable
, and reEventsTable
.
-
Temporal_Distributions: Folder containing csv files of temporal distributions of observed rainfall patterns broken down by volume, region, duration, and quartile NOAA Published. Note that the original data were compiled into csv's for uniform formatting.
-
Temporal_Distributions_Plots: Folder containing a Jupyter Notebook for each NOAA Atlas 14 volume with the plotted temporal distributions for each region, duration, and quartile.
-
NEH630_Table_10_1.json
: A formatted copy of Table 10-1 from the National Engineering Handbook [Chapter 10].(https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&H/NEHhydrology/ch10.pdf.) which lists the CN values for dry and wet antecedent moisture conditions. -
NOAA_Atlas_Volume_Codes.json
: Metadata that maps the NOAA Atlas 14 volume number to the volume code. Source -
NOAA_Temporal_Areas_US.geojson
: geojson file containing the vector ploygons of the NOAA Atlas 14 temporal distribution areas. This file was constructed using the individual vector ploygons for each volume. Source -
Temporal_Distribution_Data_Map.json
: Metadata used to extract the temporal distribution data from the csv files saved within the Temporal_Distributions folder. -
Temporal_Quartile_Ranks.xlsx
: Excel Workbook that contains the percentage of precipitation events whose temporal distributions are represented by those in each quartile of a specific volume/region/duration. Source
*The (CN Method) is currently the only transform method in use for this project. Other transforms are available and can be adopted into the tool with minor modifications.
-
Run PrecipTable in order to calculate the area-averaged precipitation frequency table for the specified durations as well as to determine the NOAA Atlas 14 volume and region.
Inputs: 1. A vector polygon of the area of interest, i.e. the pluvial domain. 2. Optional/as needed: - Precipitation event durations; the standard durations are 6, 12, 24, and 96 hour. - The polygon's projection as a string if it cannot be determined automatically. Outputs: 1. A spreadsheet with the area-averaged precipitation frequency table for each duration, along with the NOAA Atlas 14 volume and region numbers.
-
Run PM-EventsTable which executes EventsTable in order to calculate excess rainfall events and reEventsTable to perform the stormwater reduction (optional).
Inputs: 1. PrecipTable.xlsx from step 1, which contains precipitation frequency tables and the NOAA Atlas 14 volume and region number. Note that the volume and region number may also be entered manually. 2. Pluvial_Parameters.xlsx metadata file which contains the curve number and information on the stormwater infrastructure. 4. Storm durations 5. Filenames and paths for outputs 6. EventsTable.ipynb Outputs: 1. Precipitation statistics for each duration 2. HTML copy of notebook
Complete project documentation can be found in read the docs.