Recent Releases of ClearWater-Riverine
ClearWater-Riverine - v0.7.0: NSM Coupling Demo w/ improved accuracy, testing, & performance
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
- Empty Cell Bug Fix by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/88
- Load mesh for plotting and post-processing by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/90
- Updates to loading constituents by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/91
- Read additional output from hdf5 file by @jrutyna in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/92
- Add NSM demo notebooks by @jrutyna with #93
- Add NSM demo notebooks by @jrutyna with #93
- Update demo notebooks by @sjordan29 with #94
Full Changelog: https://github.com/EcohydrologyTeam/ClearWater-riverine/compare/v0.6.0...v0.7.0
Hydrosphere - Freshwater and Hydrology
- Python
Published by aufdenkampe 7 months ago

ClearWater-Riverine - v0.6.0: Simulating Multiple Constituents
What's Changed
General
- Address wetting and drying concentration spikes by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/69
- Testing larger domain and boundary condition fix by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/74
Multiple Constituents
- Add ability to model multiple constituents by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/75
- Fix and document mass balance differences by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/79
- Updating constituents at a timestep by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/82
- Update plotting by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/83
- Saving to netcdf by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/84
- Update Demo Notebooks by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/85
- Simulating multiple constituents by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/86
Full Changelog: https://github.com/EcohydrologyTeam/ClearWater-riverine/compare/v0.5.0...v0.6.0
Hydrosphere - Freshwater and Hydrology
- Python
Published by sjordan29 9 months ago

ClearWater-Riverine - v0.5.0: Coupling Demo with ClearWater-modules TSM
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
- Updates to integrate with Clearwater-Modules @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/53
- Development of example notebooks by @sjordan29 and @aufdenkampe in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/63 and https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/64
- Determine timestep required to preserve mass balance in example materials by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/56
- Addition of
datetime_range
initialization parameter by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/62
Performance Improvements
- Speed up Boundary Conditions by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/50
- Speed up Summing Coefficients to Diffusion Term by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/58
Bug Fixes
- Update mass flux calculation by @sjordan29 in https://github.com/EcohydrologyTeam/ClearWater-riverine/pull/54
Hydrosphere - Freshwater and Hydrology
- Python
Published by sjordan29 about 1 year ago

ClearWater-Riverine - v0.4.0: Mass Balance Testing and Fixes
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
Hydrosphere - Freshwater and Hydrology
- Python
Published by sjordan29 over 1 year ago

ClearWater-Riverine - ClearWater-Riverine V1.0
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.
Hydrosphere - Freshwater and Hydrology
- Python
Published by TSteissberg almost 2 years ago

ClearWater-Riverine - v0.2.0: Clearwater Riverine Refactored with OOP
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 systemsmesh
: functions required for defining UGRID compliant unstructured model meshras2dwq
: containsClearwaterRiverine
classutilities
: functions required for calculating advection-diffusion transport equationvariables
: define global variablesio
: scripts for I/Oinputs
: input reader factoryoutputs
output writer factoryhdf
: io related to HDF files
Hydrosphere - Freshwater and Hydrology
- Python
Published by sjordan29 over 2 years ago

ClearWater-Riverine - v0.1.0: Clearwater-Riverine first functioning release
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.
Hydrosphere - Freshwater and Hydrology
- Python
Published by sjordan29 over 2 years ago
