EPANET 2.2 toolkit in Javascript

I’ve recently been working on converting the full EPANET 2.2 toolkit to javascript to make it easier to develop web applications that use EPANET simulations.

It’s still early days but I’ve got all the functions working now, I’m trying to match the existing API though with some minor changes to match javascript conventions.

The full source code is up on GitHub and also published to npm.

I’ve also thrown together a quick demo you can run in your browser:

I still need to create documentation with examples, extend the test coverage and update the licences on all the packages.

Any questions or requests just let me know.


i am interested in such library, i am willing to develop an app build on the top of flask and react that help to visualize epanet simulation on the browser. some examples related to frameworks such as react and Angular will be helpful.

Also could we compile roadmap of features, so the community could pick up some of those for development?

Thanks for the suggestion, I’ve gone through and added more to the GitHub readme to explain the roadmap.

I want to add more to the documentation so it’s easier for people to get started, mostly examples of different difficulty levels. If anyone wants to help try out the library and create some examples that would be the biggest help to me right now.

I threw together an example fire flow analysis in React. You can select the node you want to test and it will give you the fireflow vs pressure graph and a standard ESP pressure graph.

epanet-js React Fire Flow Example

1 Like

Interesting @ibutler, i am interested on the overall framework as it will help to shape some idea in mind. Will spend more time on the epanet-js and see how to compile more other examples