Checking for non-preferred file/folder path names (may take a long time depending on the number of files/folders) ...
This resource contains some files/folders that have non-preferred characters in their name. Show non-conforming files/folders.
This resource contains content types with files that need to be updated to match with metadata changes. Show content type files that need updating.
| Authors: |
|
|
|---|---|---|
| Owners: |
|
This resource does not have an owner who is an active HydroShare user. Contact CUAHSI (help@cuahsi.org) for information on this resource. |
| Type: | Resource | |
| Storage: | The size of this resource is 228.3 KB | |
| Created: | Mar 24, 2025 at 4:26 p.m. (UTC) | |
| Last updated: | Dec 11, 2025 at 2:47 p.m. (UTC) | |
| Citation: | See how to cite this resource | |
| Content types: | Single File Content |
| Sharing Status: | Public |
|---|---|
| Views: | 364 |
| Downloads: | 130 |
| +1 Votes: | Be the first one to this. |
| Comments: | 1 comment |
Abstract
This HydroShare resource delivers a complete, modular workflow for implementing the Next Generation Water Modeling Framework (NextGen) using cloud-based or containerized computing environments. The workflow guides users through each key component of a research-scale hydrologic modeling application, including model input data preparation, model configuration and execution, calibration, and performance evaluation.
To run this workflow, users must launch the resource within an interactive computing environment. From the HydroShare "Open With" web app connector, select "CIROH-2i2c JupyterHub", then choose the pre-configured "CIROH Community NextGen Hub" image. This environment includes all required NextGen tools and dependencies to ensure consistent, reproducible execution.
The workflow is organized into five interoperable Jupyter Notebooks that can be executed independently or as a full end-to-end sequence:
1. NextGen Data Preparation – Subsets the hydrofabric for a user-defined Area of Interest (AOI), generates meteorological forcing data, and creates model configuration files and realizations for CFE and Noah-OWP model components.
2. NextGen Run – Executes the NextGen model using default configurations to establish baseline simulation performance.
3. NextGen TEEHR Evaluation – Compares simulated streamflow results with USGS observations and the National Water Model Retrospective Analysis v3.0 using TEEHR (Tools for Exploratory Evaluation in Hydrologic Research).
4. NextGen Output Analysis – Visualizes water balance components and other model outputs for interpretation and post-processing.
5. NextGen Calibration – Applies SPOTPY-based optimization to improve model performance through automated streamflow calibration.
A lightweight Python wrapper, pyngiab.py, streamlines interaction with the NextGen model engine by managing configuration loading, model execution, and output organization directly from the notebooks.
Supplementary Python utility scripts support data subsetting, visualization, calibration, programmatic execution, and reproducible model management. Together, these components establish a transparent, adaptable, and fully traceable workflow to support collaborative hydrologic research, model testing, and community-driven advancement of the NextGen framework.
Subject Keywords
Coverage
Spatial
Temporal
| Start Date: | |
|---|---|
| End Date: |
Content
README.md
🌊 NextGen Modeling Workflow Resource
🔍 Overview
This HydroShare resource provides a complete, reproducible workflow for preparing, running, evaluating, calibrating, and analyzing research-scale simulations of the Next Generation Water Resources Modeling Framework (NextGen). It is designed for execution on the CIROH 2i2c-JupyterHub cloud platform.
✨ What This Resource Includes
- 📓 Jupyter notebooks for data preparation, model execution, output evaluation (TEEHR), calibration, and analysis
- 🛠️ Python utility modules for forcing data visualization, HydroFabric exploration, calibration workflows, output aggregation, and TEEHR-based NextGen evaluation
This resource enables hydrologic researchers and students to experiment with NextGen components, evaluate model skill against USGS and NWM datasets using TEEHR, visualize HydroFabric layers, and explore hydrologic behavior at subdomain scale.
📂 Contents
1️⃣ Jupyter Notebooks
| Notebook | Description |
|---|---|
NextGen_Data_Preparation.ipynb |
Subsets HydroFabric, prepares forcing data, creates model realizations/configurations, and organizes model input/output directories. |
NextGen_Run.ipynb |
Executes the NextGen model and generates cat-files containing hydrologic variables, nex output, and routing NetCDF results. |
NextGen_Outputs_Analysis.ipynb |
Processes outputs, computes basin-mean variables, and generates CSV summaries. |
ngen_cal.ipynb |
Performs automated calibration with SPOTPY using USGS observations and dynamic parameter updates. |
NextGen_TEEHR_Evaluation.ipynb |
Evaluates NextGen simulated streamflow using TEEHR by pairing USGS observations, NWM v3.0 outputs, and NextGen model results; computes performance metrics and generates diagnostics. |
🛠️ Python Utility Modules
| File | Purpose |
|---|---|
cal_utils.py |
Calibration utilities (parameter updates, t-route output extraction, SPOTPY setup). |
forcings_utils.py |
Forcing data visualization, transformation, and time-series alignment. |
hydrofabric_visualization_utils.py |
Interactive HydroFabric visualization using Folium and GeoPandas. |
ngen_outputs_utils.py |
Aggregates Noah, CFE, and routing outputs with unit conversion and area weighting. |
ngiab_utils.py |
Utility functions supporting TEEHR-based NextGen evaluation and integration with the NextGen_TEEHR_Evaluation.ipynb workflow. |
🚀 Quick Start Guide
💡 Tip: For full evaluation, run in this order: Prepare → Run → Analyze → Evaluate with TEEHR → Calibrate
✔️ Step 1 — Launch the Environment
Open this resource in CIROH 2i2c-JupyterHub to ensure all required NextGen, PyNGIAB, and TEEHR dependencies are available.
✔️ Step 2 — Prepare Inputs
Use NextGen_Data_Preparation.ipynb to subset HydroFabric, forcing datasets, and generate model configuration files.
✔️ Step 3 — Run NextGen
Execute NextGen_Run.ipynb to generate all hydrologic and routing outputs.
✔️ Step 4 — Analyze Outputs
Use NextGen_Outputs_Analysis.ipynb for basin-mean calculations and CSV summaries.
✔️ Step 5 — Evaluate Model Performance with TEEHR
Run NextGen_TEEHR_Evaluation.ipynb to:
- Add USGS, NWM, and NGIAB time series
- Compute metrics like KGE, NSE, MAE
- Visualize performance and diagnostic plots
✔️ Step 6 — Perform Calibration
Use ngen_cal.ipynb to conduct SPOTPY calibration and update model parameters.
👥 Intended Users
This resource is designed for:
- Hydrologic modelers
- CIROH researchers
- Students learning NextGen workflows
- Analysts evaluating hydrologic prediction skill
- Anyone interested in reproducible modeling and model-data evaluation
📫 Contact
For questions or improvements, please contact:
Ayman Nassar – ayman.nassar@usu.edu
David Tarboton – david.tarboton@usu.edu
Credits
Funding Agencies
This resource was created using funding from the following sources:
| Agency Name | Award Title | Award Number |
|---|---|---|
| National Oceanic and Atmospheric Administration (NOAA), University of Alabama | CIROH: Enabling collaboration through data and model sharing with CUAHSI HydroShare | NA22NWS4320003 to University of Alabama, subaward A23-0266-S001 to Utah State University |
How to Cite
This resource is shared under the Creative Commons Attribution CC BY.
http://creativecommons.org/licenses/by/4.0/
Comments
New Comment