Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add EPANET MSX enhancements #426

Open
wants to merge 104 commits into
base: main
Choose a base branch
from
Open

Add EPANET MSX enhancements #426

wants to merge 104 commits into from

Conversation

dbhart
Copy link
Collaborator

@dbhart dbhart commented May 20, 2024

This provides updates to WNTR that integrate EPANET-MSX into the EpanetSimulator.

In addition to the new simulation options, this provides MSX model objects, such as species, terms, etc., that can be added to a water network model in a similar way to how WNTR works currently.

Demonstration is located in examples/demos/

dbhart and others added 30 commits August 17, 2023 14:37
The class will be similar to the WaterNetworkModel in terms of its
structure and options.
Merge main into development branch
Update to add basic citation class
* Update to exception documentation

* Update documentation for EN errors
dbhart and others added 10 commits March 13, 2024 10:43
* Updated MSX binaries, PR issued to EPANETMSX main
* Updated toolkit to match modified code in MSX DLL
* Fixed an error in the filename encoding
* Move library to new directory
* Updates to documentation
* New ipynb demo
* various bug fixes
@kaklise kaklise requested a review from kbonney June 7, 2024 21:03
Copy link
Collaborator

@kbonney kbonney left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, PR is well organized and well written. The MSX code and API follows the current WNTR style and is integrated clearly with the existing code base. Documentation and examples are provided to help users learn to use the new MSX features. A test suite is provided, but should be expanded to cover more of the code and common use cases.

I have commented on some minor items throughout. Aside from a typo preventing correct code execution in the example, nothing is of high importance. I recommend that we expand the test suite before merging, which I'd be happy to help with.

documentation/conf.py Outdated Show resolved Hide resolved

The EpanetSimulator can use EPANET-MSX 2.0 :cite:p:`shang2023` to run
multi-species water quality simulations.
Additional multi-species simulation options are discussed in :ref:`advanced_simulation`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could link directly to the "Building MSX models" section here.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

documentation/waterquality_msx.rst Show resolved Hide resolved
documentation/waterquality_msx.rst Show resolved Hide resolved
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Suggest adding a direct link to epa msx user manual.
  • Suggest making T/T1 consistent (choose one or the other instead of having both throughout) .
  • In Cell 11, recommend removal of leftover testing comment.
  • Suggest adding axes labels for last figure from cell 9 .
  • Cell 17 naming error, need to lowercase mutlisource-cl.

wntr/msx/model.py Outdated Show resolved Hide resolved
wntr/epanet/msx/io.py Show resolved Hide resolved
wntr/msx/options.py Show resolved Hide resolved
wntr/network/base.py Outdated Show resolved Hide resolved
wntr/tests/test_epanet_msx_io.py Outdated Show resolved Hide resolved
documentation/conf.py Outdated Show resolved Hide resolved
@kbonney kbonney mentioned this pull request Sep 23, 2024
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants