ClearWater Modules
A collection of water quality and vegetation process simulation modules designed to couple with water transport models.
https://github.com/ecohydrologyteam/clearwater-modules
Category: Natural Resources
Sub Category: Water Supply and Quality
Keywords from Contributors
contaminant-transport simulation-model water-quality
Last synced: 42 minutes ago
JSON representation
Repository metadata
A collection of water quality and vegetation process simulation modules designed to couple with water transport models.
- Host: GitHub
- URL: https://github.com/ecohydrologyteam/clearwater-modules
- Owner: EcohydrologyTeam
- License: mit
- Created: 2022-07-16T23:45:11.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2026-05-24T00:09:13.000Z (20 days ago)
- Last Synced: 2026-05-30T00:04:14.882Z (14 days ago)
- Language: Python
- Homepage:
- Size: 30.1 MB
- Stars: 8
- Watchers: 4
- Forks: 2
- Open Issues: 13
- Releases: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
README.md
ClearWater Modules
The ClearWater-modules package is a collection of water quality and vegetation process simulation modules written in modern Python and designed to flexibily couple with a variety of water transport models, such as RAS-2D, GSSHA, CE-Qual-W2, AdH, and others. These modules have been developed by the U.S. Army Engineer Research and Development Center (ERDC), Environmental Laboratory (EL).
- TSM: Temperature Simulation Module (formerly TEMP)
- NSM: Nutrient Simulation Modules (NSM-I and NSM-II)
- GSM: General Constituent Simulation Module
- CSM: Contaminant Simulation Module
- MSM: Mercury Simulation Module
- SSM: Solids Simulation Module (Fortran only)
- RVSM: Riparian Vegetation Simulation Module (Fortran only)
These water quality modules form the central capabilities of the ClearWater (Corps Library for Environmental Analysis and Restoration of Watersheds) software system. The overall goal of the ClearWater system is to couple these water quality simulation capabilites to state-of-the art hydrologic and hydraulic modeling tools, such as HEC-RAS-2D, CE-Qual-W2, and GSSHA, allowing users to leverage existing river, reservoir, and waterhed models for water quality studies. At present, TSM and NSM have been successfully coupled to HEC-RAS-2D models via the ClearWater-riverine package.
A secondary goal is to develop a suite of easy-to-use modern Python tools that build on community-developed scientific workflows, standards, and libraries to automate model setup, prepare input datasets, store output data, and visualize results using Python-based user interfaces such as Jupyter Notebooks.
This Python library is a port and modernization of the algorithms and structures originally written in Fortran 95, released as version 1.0 in 2021, and described in:
- Zhang, Zhonglong and Billy E. Johnson. 2016. Aquatic nutrient simulation modules (NSMs) developed for hydrologic and hydraulic models. Vicksburg, MS: Environmental Laboratory, U. S. Army Engineer Research and Development Center (ERDC). Ecosystem Management and Restoration Research Program (EMRRP). ERDC/EL Technical Report 16-1. https://hdl.handle.net/11681/10112
- Zhang, Zhonglong and Billy E. Johnson. 2016. Aquatic contaminant and mercury simulation modules developed for hydrologic and hydraulic models. Vicksburg, MS: Environmental Laboratory, U. S. Army Engineer Research and Development Center (ERDC). Environmental Quality Technology Research Program (EQTRP). ERDC/EL Technical Report 16-8. https://hdl.handle.net/11681/20249
- Johnson, Billy E. and Zhonglong Zhang. 2016. Testing and Validation Studies of the NSMII-Benthic Sediment Diagenesis Module. Vicksburg, MS: Environmental Laboratory, U. S. Army Engineer Research and Development Center (ERDC). Ecosystem Management and Restoration Research Program (EMRRP). ERDC/EL Technical Report 16-11. https://hdl.handle.net/11681/20343
Repository Directories
src contains the source code to create and run the clearwater_modules.
examples contains tutorials and useful Juptyer Notebooks.
docs contains relevant reference documentation.
tests will contain clearwater_riverine tests once they are developed.
Getting Started
Installation
Follow these steps to install the ClearWater Modeling System and its dependancies in a custom Python environment.
We recommend using pixi, the next-generation reproducible package management tool built on conda tooling.
If you are new to pixi but familiar with conda, this Switching from Conda documentation succinctly compares similarities and differences.
Alternately, use a conda environment with the same dependencies.
1. Install Pixi
Follow Pixi Installation instructions for your platform.
2. Clone or Download the ClearWater family of repositories
There are three repositories which house the dependencies for this project. Navigate to each of the repositories listed below and follow the instructions to clone them to your local machine.
- ClearWater-riverine transport process simulator
- ClearWater-data perforamant data access and storage protocols
- ClearWater-modules (optional) water quality reaction process simulator
From these Github sites, click on the green "Code" dropdown button near the upper right. Select to either "Open in GitHub Desktop" (i.e. git clone) or "Download ZIP".
We recommend using GitHub Desktop, to most easily manage git workflows by providing excellent visuals for stagging commits, exploring commit histories, comparing branches, and resolving merge conflicts in tight integration with Visual Studio Code.
Place your copy of these repos in any convenient location on your computer. Make sure that all are stored in the same directory OR you will need to update the pyproject.toml so that the [pixi.tool.feature.dev.pypi-dependencies] point to the correct location of your local clones.
3. Create Clearwater Workspace and Python Environments
Create a project-specific Pixi workspace and Python enviornment(s) from the pyproject.toml manifest file.
Production
Pardon our mess! Production instructions coming soon. For now you can install using the Developer instructions.
Developers
Developer instructions install all ClearWater repos in "editable" mode in a second dev environment.
From your terminal or console, navigate to the directory of your Clearwater-modules clone and execute the following command to create a dev environment:
pixi install -e dev
To activate this environment in your shell, run the following:
pixi shell -e dev
You should now be able to run the examples and create your own Jupyter Notebooks!
Examples
Try running our [03_Example_Coupled_TSM_and _Riverine.ipynb](examples/03_Example_Coupled_TSM_and _Riverine.ipynb) Jupyter Notebook.
Contributing
We welcome your pull request.
Acknowledgements
This library is developed by ERDC-EL through funding from the ECOMOD project.
Dr. Todd E. Steissberg (ERDC-EL) developed the vision for modernizing TSM, NSM, and related modules into this library, including coding the initial port form Fortran to Python.
The algorithms and structure of this program were adapted from the Fortran 95 version 1.0 of these modules, originally developed by:
- Dr. Billy E. Johnson (ERDC-EL, LimnoTech)
- Dr. Zhonglong Zhang (Portland State University, LimnoTech)
- Mr. Mark Jensen (USACE HEC)
Owner metadata
- Name: Ecohydrology Team
- Login: EcohydrologyTeam
- Email:
- Kind: organization
- Description: 🍃💦 Ecohydrology, Water Quality Modeling, Ecological Engineering, Engineering with Nature
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/112780631?v=4
- Repositories: 3
- Last ynced at: 2023-05-02T22:22:01.900Z
- Profile URL: https://github.com/EcohydrologyTeam
GitHub Events
Total
- Delete event: 7
- Pull request event: 3
- Issues event: 5
- Watch event: 2
- Issue comment event: 4
- Push event: 60
- Create event: 4
Last Year
- Delete event: 7
- Pull request event: 3
- Issues event: 5
- Watch event: 1
- Issue comment event: 3
- Push event: 60
- Create event: 3
Committers metadata
Last synced: 2 days ago
Total Commits: 455
Total Committers: 9
Avg Commits per committer: 50.556
Development Distribution Score (DDS): 0.637
Commits in past year: 95
Committers in past year: 5
Avg Commits per committer in past year: 19.0
Development Distribution Score (DDS) in past year: 0.568
| Name | Commits | |
|---|---|---|
| xaviernogueira | x****a@g****m | 165 |
| Isaac Mudge | 6****5 | 77 |
| kewalak | k****k@u****l | 59 |
| Paul Tomasula | p****a@g****m | 43 |
| Jason M Rutyna | j****a@l****m | 36 |
| Sarah Jordan | s****9@g****m | 32 |
| Anthony Aufdenkampe | a****e@l****m | 30 |
| Todd Steissberg | 4****g | 12 |
| Isaac Mudge | 1****2@m****l | 1 |
Committer domains:
- limno.com: 2
- usace.army.mil: 1
Issue and Pull Request metadata
Last synced: 20 days ago
Total issues: 51
Total pull requests: 52
Average time to close issues: 6 months
Average time to close pull requests: 17 days
Total issue authors: 7
Total pull request authors: 6
Average comments per issue: 2.14
Average comments per pull request: 1.73
Merged pull request: 48
Bot issues: 0
Bot pull requests: 0
Past year issues: 5
Past year pull requests: 5
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 15 days
Past year issue authors: 3
Past year pull request authors: 1
Past year average comments per issue: 1.0
Past year average comments per pull request: 0.4
Past year merged pull request: 4
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- xaviernogueira (19)
- aufdenkampe (12)
- sjordan29 (11)
- jrutyna (3)
- imscw95 (3)
- kewalak (2)
- ptomasula (1)
Top Pull Request Authors
- xaviernogueira (16)
- kewalak (14)
- aufdenkampe (9)
- imscw95 (7)
- sjordan29 (5)
- MarkusHackspacher (1)
Top Issue Labels
- enhancement (12)
- refactor-core (11)
- tsm (9)
- nsm (9)
- bug (5)
- tests (5)
- documentation (4)
- good first issue (3)
- question (3)
- help wanted (2)
Top Pull Request Labels
- enhancement (8)
- tsm (4)
- refactor-core (2)
- nsm (2)
- bug (2)
- documentation (1)
- tests (1)
Package metadata
- Total packages: 2
- Total downloads: unknown
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 0 (may contain duplicates)
- Total versions: 10
proxy.golang.org: github.com/ecohydrologyteam/clearwater-modules
- Homepage:
- Documentation: https://pkg.go.dev/github.com/ecohydrologyteam/clearwater-modules#section-documentation
- Licenses: mit
- Latest release: v0.4.0 (published 21 days ago)
- Last Synced: 2026-06-11T06:02:16.514Z (2 days ago)
- Versions: 5
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.401%
- Average: 5.583%
- Dependent repos count: 5.764%
proxy.golang.org: github.com/EcohydrologyTeam/ClearWater-modules
- Homepage:
- Documentation: https://pkg.go.dev/github.com/EcohydrologyTeam/ClearWater-modules#section-documentation
- Licenses: mit
- Latest release: v0.4.0 (published 21 days ago)
- Last Synced: 2026-06-11T06:02:16.369Z (2 days ago)
- Versions: 5
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.401%
- Average: 5.583%
- Dependent repos count: 5.764%
Dependencies
- actions/checkout v3 composite
- codecov/codecov-action v3 composite
- mamba-org/provision-with-micromamba v15 composite
- numba *
Score: -Infinity