DHALSIM
Uses the WNTR EPANET wrapper to simulate the behaviour of water distribution systems.
https://github.com/Critical-Infrastructure-Systems-Lab/DHALSIM
Category: Hydrosphere
Sub Category: Freshwater and Hydrology
Keywords
cybersecurity simulation water-distribution
Keywords from Contributors
cyber-physical-systems cyber-security mininet simulation-framework
Last synced: 1 day ago
JSON representation
Repository metadata
Digital Twin for Water Distribution Systems. A work by the SUTD Critical Infrastructure Systems Lab, TU Delft, CISPA, and iTrust
- Host: GitHub
- URL: https://github.com/Critical-Infrastructure-Systems-Lab/DHALSIM
- Owner: Critical-Infrastructure-Systems-Lab
- License: mit
- Created: 2020-03-08T14:19:45.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-09-18T13:25:52.000Z (3 months ago)
- Last Synced: 2025-12-16T00:54:01.546Z (11 days ago)
- Topics: cybersecurity, simulation, water-distribution
- Language: Python
- Homepage:
- Size: 245 MB
- Stars: 60
- Watchers: 10
- Forks: 31
- Open Issues: 6
- Releases: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
Digital HydrAuLic SIMulator (DHALSIM)
A Digital Twin for Water Distribution Systems. A work by the SUTD Critical Infrastructure Systems Lab, TU Delft Department of Water Management, CISPA, and iTrust
DHALSIM uses the WNTR EPANET wrapper to simulate the behaviour of water distribution systems. In addition, DHALSIM uses Mininet and MiniCPS to emulate the behavior of industrial control system controlling a water distribution system. This means that in addition to physical data, DHALSIM can also provide network captures of the PLCs, SCADA server, and other network and industrial devices present in the a water distribution system.
DHALSIM was presented in the ICSS Workshop in ACSAC'20, with the paper: Co-Simulating Physical Processes and Network Data for High-Fidelity Cyber-Security Experiments
Two papers in the Journal of Water Resources Planning and Management explain in detail DHALSIM architecture, features, and capabilities: High-fidelity cyber and physical simulation of water distribution systems. I: Models and Data and High-fidelity cyber and physical simulation of water distribution systems. II: Enabling cyber-physical attack localization
Installation
In order to offer a simple installation we have included an installation script which will install DHALSIM on an Ubuntu 20.04 machine. This script is located in the root of the repository and can be run with ./install.sh.
Running
DHALSIM can be run using the command sudo dhalsim path/to/config.yaml.
Replacing the text between "< >" with the path to one example topology or your own configuration files. For example, for the anytown example, you'd use:
sudo dhalsim <examples/anytown_topology/anytown_config.yaml>
Owner metadata
- Name: CRITICAL Infrastructure Systems Lab
- Login: Critical-Infrastructure-Systems-Lab
- Email: stefano_galelli@sutd.edu.sg
- Kind: organization
- Description: Connecting climate | water | energy
- Website: https://people.sutd.edu.sg/~stefano_galelli/
- Location: Singapore
- Twitter: GalelliStefano
- Company:
- Icon url: https://avatars.githubusercontent.com/u/133989297?v=4
- Repositories: 1
- Last ynced at: 2023-05-19T09:30:00.079Z
- Profile URL: https://github.com/Critical-Infrastructure-Systems-Lab
GitHub Events
Total
- Create event: 3
- Release event: 1
- Issues event: 4
- Watch event: 12
- Issue comment event: 4
- Push event: 5
- Pull request review event: 1
- Pull request event: 7
- Fork event: 7
Last Year
- Issues event: 1
- Watch event: 11
- Issue comment event: 1
- Push event: 1
- Pull request event: 3
- Fork event: 5
- Create event: 2
Committers metadata
Last synced: 5 days ago
Total Commits: 1,237
Total Committers: 17
Avg Commits per committer: 72.765
Development Distribution Score (DDS): 0.612
Commits in past year: 1
Committers in past year: 1
Avg Commits per committer in past year: 1.0
Development Distribution Score (DDS) in past year: 0.0
| Name | Commits | |
|---|---|---|
| afmurillo | a****9@g****m | 480 |
| Robert van Dijk | r****0@s****l | 221 |
| Simcha Vos | a****s@s****l | 179 |
| Maarten Weyns | m****s@s****l | 153 |
| Luc Jonker | l****r@s****l | 150 |
| Luc Jonker | l****r@s****l | 27 |
| Mohammad-Ashrafi | m****g@g****m | 6 |
| Luc Jonker | l****k@g****m | 5 |
| stefano-galelli | s****i@s****g | 3 |
| desktop machine | d****p@c****e | 3 |
| Daveonwave | d****i@m****t | 2 |
| NicolasOrjuela | n****a@u****o | 2 |
| Riccardo Taormina | r****a@g****m | 2 |
| Carlos Augusto Restrepo | c****v@g****m | 1 |
| Nils Ole Tippenhauer | n****i@g****e | 1 |
| Luc Jonker | L****r@s****l | 1 |
| Simcha Vos | 5****s | 1 |
Committer domains:
- student.tudelft.nl: 6
- gmx.de: 1
- uniandes.edu.co: 1
- mail.polimi.it: 1
- cispa.de: 1
- sutd.edu.sg: 1
Issue and Pull Request metadata
Last synced: 2 months ago
Total issues: 19
Total pull requests: 46
Average time to close issues: 4 months
Average time to close pull requests: 3 days
Total issue authors: 10
Total pull request authors: 7
Average comments per issue: 2.26
Average comments per pull request: 0.04
Merged pull request: 42
Bot issues: 0
Bot pull requests: 1
Past year issues: 4
Past year pull requests: 7
Past year average time to close issues: 6 days
Past year average time to close pull requests: about 17 hours
Past year issue authors: 2
Past year pull request authors: 3
Past year average comments per issue: 1.25
Past year average comments per pull request: 0.0
Past year merged pull request: 5
Past year bot issues: 0
Past year bot pull requests: 1
Top Issue Authors
- afmurillo (6)
- FedezT (3)
- jhin-coder (3)
- MuratCaganGogebakan (1)
- thehoodbuddha (1)
- GuilleChinarro (1)
- theh2oweb (1)
- JeroenLam (1)
- JJ-ing (1)
- gomitolof (1)
Top Pull Request Authors
- afmurillo (38)
- marcelopessoa1 (2)
- Tuto96 (2)
- Daveonwave (1)
- dependabot[bot] (1)
- robertdijk (1)
- simchavos (1)
Top Issue Labels
- toDo (3)
- invalid (1)
Top Pull Request Labels
- dependencies (1)
- python (1)
Dependencies
- mininet * development
- pytest * development
- pyyaml * development
- mininet *
- pyyaml *
- scapy *
- PyYAML ==5.4.1
- antlr4-python3-runtime ==4.7.2
- fnfqueue *
- matplotlib ==3.5.0
- pandas ==1.3.4
- progressbar2 *
- pyyaml-include *
- scapy *
- schema *
- wntr *
Score: 7.022868086082641