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

API Reference

Indices and tables