Skip to content

A Novel Research-Oriented Streamflow Evaluation Tool to evaluation hydrological model performance using a standardized NHDPlus data model.

License

Notifications You must be signed in to change notification settings

CIROH-UA/Community-Streamflow-Evaluation-System

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Github_top

Community Streamflow Evaluation System (CSES)

GitHub GitHub top language GitHub repo size GitHub language count GitHub commit activity GitHub Pipenv locked Python version GitHub branch checks state GitHub issues GitHub milestones GitHub milestones GitHub milestones

A Novel Community Streamflow Evaluation System (CSES) to evaluate hydrological model performance using a standardized NHDPlus data model. CSES evaluates modeled streamflow to a repository of over 5,000 in situ USGS monitoring sites, with interactive visualizations supporting an in-depth analysis.

Application Overview

National-scale streamflow modeling remains a modern challenge, as changes in the underlying hydrology from land use and land cover (LULC) change, anthropogentic streamflow modification, and general process components (reach length, hydrogeophysical processes, precipitation, temperature, etc) greatly influence hydrological modeling. In a changing climate, there is a need to anticipate flood intensity, impacts of groundwater depletion on streamflow, western mountain low-flow events, eastern rain-on-snow events, storm-induced flooding, and other severe environmental problems that challenge the management of water resources. Given the National Water Model (NWM) bridges the gap between the spatially coarse USGS streamflow observations by providing a near-continuous 2.7 million reach predictions of streamflow using the standardized NHDPlus framework, there lies the potential to improve upon the capabilities of the model by characterizing predictive performance across the heterogeneity of processes and land covers present at the national scale. The python-based Community-Streamflow-Evaluation-System package provides a foundation to evaluate national hydrography dataset (nhd) based model outputs with colocated USGS/NWIS streamflow monitoring stations (parameter: 060) without the need to download in-situ or NWM v2.1 data (NWM v3.0 coming soon!). The package contains three key methods for evaluation: state-based LULC, HUC level analysis, and USGS station-based analysis. Below is a description of each method and application. Designed to assess NWM version 2.1 retrospective performance, by using the exemplified data model the tool can evaluate other model predictions, with the motivation to improve regionally dominant hydrological modeling skill. By using Community-Streamflow-Evaluation-System, researchers can identify locations where a model may benefit from further training/calibration/parameterization or a need for new model processes/features (e.g., integration of reservoir release operations) to ultimately create new post-processing methods and/or hydrological modeling formulations to improve streamflow prediction capabilities with respect to modeling needs (e.g., stormflow, supply, emergency management, flooding, etc).

Data Access

Community-Streamflow-Evaluation-System leverages USGS/NWIS observations from 1980-2020 and colocated and while all data is publically available through the respective agencies, we found the download time to be preventative for a timely model evaluation. The Alabama Water Institute at the University of Alabama hosts NWM v2.1 retrospective for all colocated USGS monitoring stations at a daily temporal resolution and provides the data free of charge via access to Amazon AWS S3 cloud storage. Community-Streamflow-Evaluation-System can quickly access observed and predicted data supporting a fast and repeatable tool for evaluating modeled streamflow performance.

Dependencies (versions, environments)

Python: Version 3.9.12.

Required packages

The included requirements.txt file should set up the correct Community-Streamflow-Evaluation-System environment. To use Community-Streamflow-Evaluation-System, create a virtual Python environment and run the requirement.txt file to ensure all package versions are correct. To get started, click the Here

Streamflow Evaluation Options

Each streamflow evaluation method requires similar inputs, including a start date, end date, and model. There are currently three different evaluation classes, each providing the user with a unique method for evaluating streamflow modeling performance:

  • Class Eval_State(): Modeled Streamflow Evaluation by StreamStats
  • Class HUC_Eval(): Modeled Streamflow Evaluation by Hydrologic Unit Code (HUC)
  • Class Reach_Eval(): - NHD - USGS Streamflow Evaluation

For all examples, the predictions are from the NWM v2.1 retrospective. Please see the Examples folder for more information on applying each specific class.

Modeled Streamflow Evaluation by StreamStats

To determine how LULC affects the predictive performance of streamflow models, Community-Streamflow-Evaluation-System uses StreamStats to categorize the watershed upstream of each USGS monitoring site by watershed characteristics. Please see the State Land Use - Land Cover Evaluation.md readme to use the tool.

LULC_mapping

Running the Community-Streamflow-Evaluation-System LULC_Eval class loads, processes, and visualizes model performance for the state, category, and size of interest

LULC_mapping_highlight

By clicking on a marker a popup of the modeled vs. observed performance at the inputted temporal frequency will appear

LULC_holoviews

The Community-Streamflow-Evaluation-System supports an interactive engagement with model results

Modeled Streamflow Evaluation by Hydrologic Unit Code (HUC)

The HUC_Eval class allows the user to evaluate modeled streamflow with observed in situ NWIS monitoring sites for watershed(s) of interest. The user can input multiple watersheds (e.g., Great Salt Lake: ['1601', '1602']) The user must enter a start date, end date, watersheds, and model to compare (NWM v2.1 is set up). NWM retrospective data spans from 1980 - 2020, and USGS/NWIS data is location-dependent.

LULC_HUC_GSL

The HUC_Eval class loads all USGS and colocated modeled NHD reaches for evaluation. Color coding of the markers allows for quick identification of poor and well-performing reaches and clicking on the markers will put up a modeled vs. observed graph at the desired temporal resolution.

LULC_holoviews_HUCEval

Similar to the State_Eval class, the HUC_Eval class supports a more in-depth graphical analysis of the modeled vs. observed using the holoviews package

Modeled Streamflow Evaluation - NHD - USGS Streamflow Evaluation

The Reach_Eval class allows the user to evaluate modeled streamflow with selected NWIS monitoring sites of interest. The user can input multiple USGS sites (e.g., ['02378780', '02339495', '02342500']) Similar to the other classes, enter a start date, end date, and model to compare (NWM v2.1 is set up). NWM retrospective data spans from 1980 to 2020, and USGS/NWIS data is location-dependent

LULC_ReachEval_map

The Reach_Eval class quickly loads and maps the selected USGS streamflow monitoring locations, along with the colocated model predictions of NHD reaches. The color code of the marker indicates the model performance at the respective USGS monitoring station site, and by clicking on a marker, the interactive map produces a graph at the desired temporal resolution.

LULC_holoviews_Reach_Eval

Similar to the State_Eval and HUC_Eval classes, the Reach_Eval class supports a more in-depth graphical analysis of the modeled vs. observed using the holoviews package

About

A Novel Research-Oriented Streamflow Evaluation Tool to evaluation hydrological model performance using a standardized NHDPlus data model.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 98.5%
  • Python 1.5%