Version 1.0

CE-QUAL-W2 has been under continuous development since 1975. The original model was known as LARM (Laterally Averaged Reservoir Model) developed by Edinger and Buchak (1975). The first LARM application was on a reservoir with no branches. Subsequent modifications to allow for multiple branches and estuarine boundary conditions resulted in the code known as GLVHT (Generalized Longitudinal-Vertical Hydrodynamics and Transport Model). Addition of the water quality algorithms by the Water Quality Modeling Group at the US Army Engineer Waterways Experiment Station (WES) resulted in CE-QUAL-W2 Version 1.0 (Environmental and Hydraulic Laboratories, 1986).

Version 2.0

Version 2.0 was a result of major modifications to the code to improve the mathematical description of the prototype and increase computational accuracy and efficiency. Numerous new capabilities were included in Version 2.0, including:

  1. An algorithm that calculates the maximum allowable time­step and adjusts the timestep to ensure hydrodynamic stability requirements are not violated (autostepping)
  2. A selective withdrawal algorithm that calculates a withdrawal zone based on outflow, outlet geometry, and upstream density gradients
  3. A higher-order transport scheme (QUICKEST) that reduces numerical diffusion (Leonard, 1979)
  4. Time-weighted vertical advection and fully implicit vertical diffusion
  5. Step function or linear interpolation of inputs
  6. Improved ice-cover algorithm
  7. Internal calculation of equilibrium temperatures and coefficients of surface heat exchange or a term-by-term accounting of surface heat exchange
  8. Variable layer heights and segment lengths
  9. Surface layer extending through multiple layers
  10. Generalized time-varying data input subroutine with input data accepted at any frequency
  11. Volume and mass balances to machine accuracy
  12. Sediment/water heat exchange

Version 3.0

Version 3.0 is a result of additional improvements to the numerical solution scheme and water quality algorithms, as well as extending the utility of the model to provide state-of-the-art capabilities for modeling entire waterbasins in two-dimensions. The new capabilities included in Version 3 include:

  1. An implicit solution for the effects of vertical eddy viscosity in the horizontal momentum equation
  2. Addition of Leonard's ULTIMATE algorithm that eliminates over/undershoots in the numerical solution scheme
  3. Inclusion of momentum transfer between branches
  4. The ability to model multiple waterbodies in the same computational grid including multiple reservoirs, steeply sloping riverine sections between reservoirs, and estuaries
  5. Additional vertical turbulence algorithms more appropriate for rivers
  6. Additional reaeration algorithms more appropriate for rivers
  7. Variable vertical grid spacing between waterbodies
  8. Numerical algorithms for pipe, weir, and pump flow
  9. Internal weir algorithm for submerged or skimmer weirs
  10. Three algal groups
  11. Arbitrary constituents defined by a decay rate, settling rate, and temperature rate multiplier
  12. Nine inorganic suspended solids groups
  13. Dissolved and particulate biogenic silica
  14. Age of water
  15. Derived constituents such as total DOC, organic nitrogen, organic phosphorus, etc. that are not state variables
  16. A graphical pre/postprocessor
  17. Converted to FORTRAN 90/95 with Dynamic Array Allocation eliminating the need to recompile the code for each application
  18. User defined evaporation models including the Ryan-Harleman model

Version 3.1

Version 3.1 is a result of additional improvements to the water quality algorithms including:

  1. User defined number of
    1. generic constituents
    2. inorganic suspended solids
    3. CBOD groups
    4. algal groups
    5. epiphyton/periphyton groups
  2. Computation of kinetic fluxes (sources/sinks) for ease in water quality calibration
  3. Ability to animate any state variable, such as dissolved oxygen, or derived variable, such as total organic carbon, as well as terms in the solution of the momentum equation
  4. Redesign of control file inputs for easier use and code for easier understanding
  5. GUI preprocessor
  6. Salt water correction for DO saturation
  7. Dynamic light extinction inputs
  8. Dynamic topographic and vegetative shading algorithm
  9. Spatially varying wind sheltering coefficients
  10. CBOD nutrient recycling
  11. Kinetic flux algorithms

Version 3.2

Version 3.2 is a result of additional improvements to the model. These new capabilities include:

  1. Internal code rewrite to reduce code size, simplify code maintenance, and improve model execution speed
  2. New screen display during model run-time. The new screen display allows for controlling the processor usage, examining output variables, and stopping, starting and restarting a model run on the fly. This allows the model user to stop a code, then make changes in the control file or any input file, and then restart the model at the point that it was stopped
  3. Addition of a new algorithm to estimate suspended solids resuspension as a result of wind-wave action
  4. Reorganization of the graph.npt file to allow more output control formatting possibilities
  5. New turbulent kinetic energy-turbulent dissipation turbulence closure model was added to the model
  6. Model restart cacapabilities are now working again

Version 3.5

Version 3.5 is a result of significant enhancements to the model. These new capabilities include:

  1. Addition of the macrophyte model of Berger and Wells (in-review) with a user-defined number of species
  2. Addition of a zooplankton model with a user-defined number of species based on an updated version of the CE-QUAL-R1 model (Environmental Laboratory, 1995)
  3. Addition of a new focusing or settling velocity for sediments that accumulate in the first order sediment model. In earlier versions, sediment focusing occurred at the velocity given foe POM. In this version a user can specify that focusing velocity. This means that sediments can still migrate toward the bottom of the channel over time even after they have hit the sidewalls of the channel
  4. User-defined time-variable input of P and N associated with organic matter inputs. In earlier versions, the P or N associated with organic matter was based on a static stoichiometric coefficient specified in the control file. Now, the user provides in the input files the dynamic P and N associated with organic matter inputs from tributaries or inflows. This is essentially allowing for variable stoichiometry in the input boundary conditions
  5. Based on the above refinement, the organic matter fractions within the model now have variable stoichiometry for P and N. This preserves P and N mass balances. The stoichiometry given in the input files is merely the initial value of the C-N-P stoichiometry of POM and DOM compartments. Hence, organic P and organic N are tracked correctly in the code
  6. The first order sediment model also tracks the C-N-P correctly and has a dynamic stoichiometry as it accumulates organic matter in the sediment. Prior versions of W2 had a user-defined value of fixed stoichiometry for the 1st order sediment model
  7. CBOD groups now have a user-defined settling velocity. Hence, the user can define organic matter groups as particulate and dissolved based on specification of the settling velocity. As in prior versions, CBOD has associated stoichiometry and if there is settling, it will accumulate in the 1st order sediment compartment
  8. A sediment burial rate was added to the 1st order sediment model
  9. A Monod formulation was implemented for the inititation of anaerobic processes and reduction of aerobic processes. In earlier model versions there was a specified oxygen concentration that acted like a step function turning these processes on or off

Version 3.6

This version is file compatible with version 3.5. Hence no changes need to be made to any input files. Even though there are some new features in the input files, these are not required for users of V3.5 and can be kept blank. The primary change is allowing the code to run on multiple processors. The following changes have been made in the code from V3.5 to V3.6:

 

1.    The code has been rewritten into smaller subroutines to allow better code compilation and optimization.

2.    The code has been revised with the goal of improving the computational speed. This new compiled code using Intel Visual Fortran 10 should be faster on a single processor than the V3.5 code compiled on a PC with CVF 6.6.

3.    The code now has OPENMP commands embedded to allow for limited parallelization of some of the routines. Current tests show that going from 1 processor to 2 can result in up to 20-40% speed improvement.

4.    The TKE algorithm has been updated with new algorithms that match experimental tank data for kinetic energy and dissipation. This is based on a Master’s degree project by Sam Gould at Portland State University. A new user option is the TKE1 algorithm, in addition to the legacy algorithm TKE.

5.    The roughness height of the water for correction of the vertical velocity wind profile is now a user-defined input, z0. Prior to this the model had hardwired the value of z0=0.003 m for wind speed correction at 2m (for evaporation where wind height at 2 m is typical) and z0=0.01 m for wind at 10 m (for shear stress calculations where wind height of 10 m is typical). For consistency, both conversions now use the same value of roughness height. If the user does not specify the value of z0 (for example if he/she leaves the spaces blank for z0 using a V3.5 control file), the code uses 0.001 m.

6.    The Windows user interface no longer uses Array Viewer. The dialog box and PC executable no longer require installation of Array Viewer (which is now obsolete) nor do they need the Array Viewer DLL. The Dialog box has some minor improvements: model run directory displayed and a progress bar.

7.    Fixed error with Algae/chlorophyll a ratio in user manual and fixed pre-processor. The earlier language in the user manual discussed an Algae/Chlorophyll a ratio but presented information that was the ratio of chlorophyll a/algae – this has been revised and fixed in User Manual and in preprocessor.

8.    Spreadsheet output: in earlier versions put in an alphanumeric character as a space for the spreadsheet to preserve the formatting. This was changed to a default value of -99 to facilitate numeric data processing. Also, the “–Depth” output value was changed to just “Depth” since modern plotting programs can reverse an axis.

9.    Preprocessor improvements. Added variable checks for new parameters, fixed bugs, new check for wsc.npt file (not checked in earlier versions).

10. For the generic constituent, added temperature dependence on 0th order decay and fixed errors in User Manual for units of zero order decay coefficient.

11. Added the kinetic flux rates to the TSR file output for easier analysis using a spreadsheet of the flux terms for specific locations in the modeled system.

12. Revised the computation of the drag coefficient for low wind speeds so that the model now agrees better with theory in this wind speed range.

13. The light extinction coefficient (in m-1) is now included as an output variable in the TSR opt file. Because the model internally computes the light extinction coefficient based on water, SS, POM, algae, zooplankton, and macrophytes, this is an important parameter understanding the internal light transmission predicted by the model. This variable replaces the equilibrium temperature as an output variable.

14. A new option for output is in the format required for TECPLOT. For TECPLOT animation there is only a flag in the CPL output line. This allows for easy model animation of the variables U, W, T, RHO, and all active constituents at the frequency specified by the CPL file as a function of distance and elevation.

15. A new variable for determining the fraction of NO3-N that is diffused into the sediments that becomes organic matter, or SED-N was introduced. 16. In V3.5 the model computed an average decay coefficient of the sediments based on what was deposited. The user now has the option to dynamically compute that decay rate or to have it fixed and controlled by the model user. A new variable was introduced called

16. DYNSEDK which is either ON/OFF to allow or not allow dynamic computation of the sediment decay rate.

17. Added Kinetic flux output that sums up fluxes for all cells of a waterbody at the output frequency specified in the kinetic flux output. The output filenames are called “kflux_jw#.opt” where # is the waterbody number. All active fluxes are summed for the waterbody. This is an important overall diagnostic tool to evaluate the important fluxes in the waterbody over time. Instantaneous fluxes are output in the TSR file for individual cells and a series of fluxes at given segments are shown in the Flux output file which is similar in format as the SNP file. This new file is easy to import into a spreadsheet for analysis.

18. The selective withdrawal algorithm computation was adjusted to more closely follow the Corps’ model code SELECT (based on personal communication with Gary Hauser, 2008). The variable DLRHOMAX is used to compute the relative velocity profile. In V3.5 and earlier, this variable was the maximum for the entire profile above and below the outlet, i.e., DLRHOMAX=MAX(DLRHOT, DLRHOB). In V3.6 and later, DLRHOT is used above the outlet and DLRHOB is used below the outlet.

Planned Enhancements

The following model enhancements are planned for CE-QUAL-W2 along with their status:

#

Item

Description

Status

1

Fish

Fish Bioenergetics model

Undergoing development

2

Sediment transport

 

 

3

Particle tracking model

 

Tested and working in research code

4

Smart particle tracking – Fish model

 

Tested and working in research code

5

Sediment Diagenesis

Complex sediment diagenesis model

 

6

Simultaneous water level solution

Currently, water surface is solved branch-by-branch. The new technique will involve solving all water surfaces for the system or waterbody simultaneously.

Tested and working in research code

7

W3

3D version of W2

 

8

Hyporheic flow algorithm

Groundwater-surface water interaction

Tested and working in research code.

9

Sediment channel bottom heating algorithm

Dynamic heat transfer between channel bottom and stream

Tested and working in research code.