A set of water quality libraries (modules) was developed by the Environmental Laboratory of the U.S. Army Corps of Engineers Engineer Research and Development Center (ERDC) for use with a variety of hydrologic and hydraulic (H&H) models (Zhang and Johnson, 2010, 2014, 2016a, 2016b, 2016c, 2017). These libraries compute the kinetics of specified constituents within discrete groups of water quality cells in the model domain. The libraries were developed using a modern, plug-in Fortran programming framework, allowing for easier extension and inclusion of new capabilities. Initially designed for depth-averaged hydrologic and hydraulic models, the water quality libraries were modified and adapted for HEC-ResSim to support both 1D longitudinal water quality modeling in rivers and 1D vertical water quality modeling in reservoirs. In reservoirs, the water column is configured with multiple vertical layers, as shown in Schematic of water quality cell discretization in river and reservoir system.

Schematic of water quality cell discretization in river and reservoir system

The three water quality libraries undergone extensive testing, debugging and verification and were integrated into HEC-ResSim as plug-in Dynamic Linked Libraries (DLLs): (1) Water Temperature Simulation Module (WTSM), (2) General Constituent Simulation Module (GCSM), and (3) Nutrient Simulation Module I (NSMI).

WTSM computes the kinetics of water temperature, sediment temperature and heat exchange between the water column and bed sediment. GCSM computes simple kinetics of user-defined general constituents in the water column. A conservative tracer, coliform bacteria, and reactive particles are some of the general constituents that can be modeled with GCSM. NSMI models 14 water quality state variables in the water column, e.g., algae, benthic algae, organic nitrogen, ammonium, nitrate, organic phosphorous, inorganic phosphorous, particulate organic carbon, dissolved organic carbon, dissolved inorganic carbon, dissolved oxygen, alkalinity, and multi-groups of CBOD and pathogen.