Welcome to EPyT-Control’s documentation!
EPANET Python Toolkit Control – EPyT-Control
EPyT-Control is a Python package building on top of EPyT-Flow for implementing and evaluating control algorithms & strategies in water distribution networks (WDN).
Besides related control tasks such as state estimation and event diagnosis, a special focus of this Python package is Reinforcement Learning for data-driven control in WDNs and therefore it provides full compatibility with the Stable-Baselines3 package.
Unique Features
Unique features of EPyT-Control are the following:
Support of hydraulic and (advanced) water quality simulation (i.e. EPANET and EPANET-MSX are supported)
Compatibility with Gymnasium and integration of Stable-Baselines3
Wide variety of pre-defined actions (e.g. pump state actions, pump speed actons, valve state actions, species injection actions, etc.)
Implementation of classic control aglorithms such as PID and LQR controllers
Signal processing methods such as state estimation (e.g. Kalman filters) and event diagnosis
High- and low-level interface
Object-orientated design that is easy to extend and customize
Examples
Jupyter notebooks