Skip to content

Releases: EcohydrologyTeam/ClearWater-riverine

v0.7.0: NSM Coupling Demo w/ improved accuracy, testing, & performance

28 Sep 00:02
f6a7034
Compare
Choose a tag to compare

DOI

The ClearWater-riverine package is a 2D water quality transporter model to calculate conservative advection and diffusion of constituents from an unstructured grid of flows. It is written in modern Python, leveraging high-performance libraries such as xarray, and developed by the the U.S. Army Engineer Research and Development Center (ERDC), Environmental Laboratory (EL).

This release demonstrates the coupling of the newly refactored Nutrient Simulation Module (NSM) in Clearwater-Modules with a HEC-RAS 2D model, adding two new Jupyter Notebooks to the examples. This release also improves on our recent multi-constituent modeling capabilities.

What's Changed

Full Changelog: v0.6.0...v0.7.0

v0.6.0: Simulating Multiple Constituents

26 Jul 19:51
a38581c
Compare
Choose a tag to compare

What's Changed

General

  • Address wetting and drying concentration spikes by @sjordan29 in #69
  • Testing larger domain and boundary condition fix by @sjordan29 in #74

Multiple Constituents

Full Changelog: v0.5.0...v0.6.0

v0.5.0: Coupling Demo with ClearWater-modules TSM

15 Feb 19:57
474bf70
Compare
Choose a tag to compare

What's Changed

The latest release added demonstrative materials and updates to the code base to allow for integration with Clearwater-Modules. As part of this effort, some performance improvements and minor bugs were also addressed, as described below.

Coupling with Clearwater-Modules

Performance Improvements

Bug Fixes

v0.4.0: Mass Balance Testing and Fixes

06 Oct 21:43
Compare
Choose a tag to compare

This release adds new testing and unit conversion features and fixes some bugs related to conserving mass balance of constituents.

Added

  • A new testing system using pytest starting with a suite of tests for mass balance with #32 and #44, addressing #22
    • The test suite includes various models, including a 5x10 test case and a 1x2 test case, addressing #31.
  • A new class to handle unit conversions with #42, addressing #38

Fixed

  • Corrected mass balance issue #40 by leveraging ghost cell data stored in HDF file.
  • Adjusted matrix solver to further improve mass-balance accuracy, addressing #30

v0.3.0: ClearWater-Riverine generalized constituent transport

25 May 16:14
Compare
Choose a tag to compare

Generalized water quality transport has been completed. This version of the model can be used to simulate water quality by:

  • Setting up an simulating a 2D HEC-RAS hydraulics model for an event of interest
  • Linking ClearWater-Riverine to the HEC-RAS HDF5 output file
  • Setting up a constituent of interest
  • Setting the time period of the simulation
  • Running the simulation
  • Plotting the results

Ongoing development will extend these capabilities to simulate general reactive constituents, temperature, nutrients, dissolved oxygen, and algae.

v0.2.0: Clearwater Riverine Refactored with OOP

16 Jan 21:23
b6f097f
Compare
Choose a tag to compare

This release integrates principles of object-oriented programming into the Clearwater Riverine water quality model.

Notable changes:

  • #14 - Refactor IO to enhance code flexibility and extendibility

  • Creation of ClearwaterRiverine class with the following methods:

    • initial_conditions()
    • boundary_conditions()
    • simulate_wq()
    • quick_plot()
    • plot()
  • Splitting code into modules

    • linalg: contains LHS (left-hand side) and RHS (right-hand side) classes used for solving linear algebra systems
    • mesh: functions required for defining UGRID compliant unstructured model mesh
    • ras2dwq: contains ClearwaterRiverine class
    • utilities: functions required for calculating advection-diffusion transport equation
    • variables: define global variables
    • io: scripts for I/O
      • inputs: input reader factory
      • outputs output writer factory
      • hdf: io related to HDF files

v0.1.0: Clearwater-Riverine first functioning release

05 Dec 17:07
b3440b4
Compare
Choose a tag to compare

Clearwater Riverine takes RAS2D output and does water quality calculations on top of that.

This release is the first functioning version. This release reads output from RAS2D output and performs a total-load advection-diffusion equation (so far, not accounting for the total-load source/sink term).

Future work will implement object-oriented programming best practices, integrate Clearwater Python modules for the source/sink term, and integrate plotting into the module.