WaterFutures / EPyT-Flow

A high-level interface designed for the easy generation of hydraulic and water quality scenario data.
https://epyt-flow.readthedocs.io/en/stable
MIT License
18 stars 3 forks source link

JOSS Review #10

Open kbonney opened 3 weeks ago

kbonney commented 3 weeks ago

Hi @andreArtelt, nice work on the package and paper. Below are some comments for improving both. The only points that I need resolved to complete my review are marked by a :exclamation:, the rest are suggestions you can take or leave now or later.

Functionality

Documentation

Software Paper

andreArtelt commented 1 week ago

Thanks for your review -- much appreciated 🙏. I was busy with administrative tasks the last days after I returned from a longer vacation -- sorry about the delay.

andreArtelt commented 1 week ago

Your comment on controls is very similar to the one raised by the other reviewer in #9 I think I did not make this clear enough in the paper. EPyT-Flow supports arbitrary controls that go beyond "simple" IF-THEN-ELSE rules as supported by EPANET. For instance, you could use a neural network to make control decisions based on the observed sensor readings. I added a clarifying statement to the paper and documentation in commit dee0de5 Let me know, what you think.

andreArtelt commented 1 week ago

Regarding your comment on missing quality dynamics in WNTR: You are right that WNTR provides access to EPANET quality dynamics and hopefully to EPANET-MSX as well soon. However, if I understood it correctly, those simulators can not be used with the other (custom) simulator and therefore lack some features such as the effect of leakages, earth quakes, etc.. This is not the case in EPyT-Flow, here everything is integrated into a single simulator -- e.g. leakages and quality dynamics can be modeled together.

My suggestion would be to relax and rephrase the statement in the paper, e.g. "does not fully integrate (advanced) quality dynamics" or smth. similar. What do you think?

andreArtelt commented 1 week ago

Right now, the statement of need is only in the paper. However, in efa61b5 I just added it to the landing page of the documentation as well.

andreArtelt commented 1 week ago

Regarding your comment on contribution guidelines: I did not know about those templates -- thanks a lot for pointing this out to me. I just added issue and pull-request templates and also added a short comment to the README on how to get support.

Let me know if you suggest anything else.

kbonney commented 1 week ago

Your comment on controls is very similar to the one raised by the other reviewer in #9 I think I did not make this clear enough in the paper. EPyT-Flow supports arbitrary controls that go beyond "simple" IF-THEN-ELSE rules as supported by EPANET. For instance, you could use a neural network to make control decisions based on the observed sensor readings. I added a clarifying statement to the paper and documentation in commit dee0de5 Let me know, what you think.

Thanks, that helps clarify the differences. It is also nice to highlight the use of ML throughout the paper, as I think that aspect is a bit understated.

Regarding your comment on missing quality dynamics in WNTR: You are right that WNTR provides access to EPANET quality dynamics and hopefully to EPANET-MSX as well soon. However, if I understood it correctly, those simulators can not be used with the other (custom) simulator and therefore lack some features such as the effect of leakages, earth quakes, etc.. This is not the case in EPyT-Flow, here everything is integrated into a single simulator -- e.g. leakages and quality dynamics can be modeled together.

My suggestion would be to relax and rephrase the statement in the paper, e.g. "does not fully integrate (advanced) quality dynamics" or smth. similar. What do you think?

Yes, the leaks in the custom simulator can't be used with the EPANET simulator. I think in your rephrasing I would mention the specific cases you brought up. "does not fully integrate (advanced) quality dynamics with scenarios such as pipe leaks."

kbonney commented 1 week ago

Right now, the statement of need is only in the paper. However, in efa61b5 I just added it to the landing page of the documentation as well.

Thanks. That placement looks good, but I haven't seen it update on the actual documentation page. Not sure what triggers the docs to be updated, perhaps it is only on releases?

kbonney commented 1 week ago

Regarding your comment on contribution guidelines: I did not know about those templates -- thanks a lot for pointing this out to me. I just added issue and pull-request templates and also added a short comment to the README on how to get support.

Let me know if you suggest anything else.

These look great, thanks. I'll mark the item as resolved.

andreArtelt commented 6 days ago

Right now, the statement of need is only in the paper. However, in efa61b5 I just added it to the landing page of the documentation as well.

Thanks. That placement looks good, but I haven't seen it update on the actual documentation page. Not sure what triggers the docs to be updated, perhaps it is only on releases?

Yes, the documentation is only rebuilt in case of a new release. However, you can check out the documentation of the dev branch on https://epyt-flow.readthedocs.io/en/latest/ -- I just triggered the build of this one manually, so that you can see how it will look like if I make a new release.

andreArtelt commented 6 days ago

Your comment on controls is very similar to the one raised by the other reviewer in #9 I think I did not make this clear enough in the paper. EPyT-Flow supports arbitrary controls that go beyond "simple" IF-THEN-ELSE rules as supported by EPANET. For instance, you could use a neural network to make control decisions based on the observed sensor readings. I added a clarifying statement to the paper and documentation in commit dee0de5 Let me know, what you think.

Thanks, that helps clarify the differences. It is also nice to highlight the use of ML throughout the paper, as I think that aspect is a bit understated.

Regarding your comment on missing quality dynamics in WNTR: You are right that WNTR provides access to EPANET quality dynamics and hopefully to EPANET-MSX as well soon. However, if I understood it correctly, those simulators can not be used with the other (custom) simulator and therefore lack some features such as the effect of leakages, earth quakes, etc.. This is not the case in EPyT-Flow, here everything is integrated into a single simulator -- e.g. leakages and quality dynamics can be modeled together. My suggestion would be to relax and rephrase the statement in the paper, e.g. "does not fully integrate (advanced) quality dynamics" or smth. similar. What do you think?

Yes, the leaks in the custom simulator can't be used with the EPANET simulator. I think in your rephrasing I would mention the specific cases you brought up. "does not fully integrate (advanced) quality dynamics with scenarios such as pipe leaks."

Done in 21b9344 -- I also added a few sentenced highlighting the benefits for AI and ML research

andreArtelt commented 5 days ago

When I run the test suite all tests pass except for the benchmark tests which seem to get caught up on some request issues. I'll work on this a little bit more but if I can't resolve it I'll open a separate issue about the problem.

Does this issue still exist? All tests run successfully on my machine as well as on GitHub (see Actions) -- all tests are run when a commit is pushed.