EPANET 2.0 calls from python
Project description
Python interface for the popular urban drainage model EPANET 2.0 engine. EPANET2 is realeased by United States Environmental Protection Agency to public domain. This python package is copyrighted by Assela Pathirana and released under GNU General Public License version 3.
README.txt
Epanet 2.0 Python calling interface
Since version 0.4.0.1 the library is compatible with Python 3.0
What is it?
A python package enabling user to call all the epanet programmers toolkit functions within python scripts.
Installation
- Windows:
Download the MS Windows installer and run to install. Since version 0.4.0.1 “python wheels “ packages are also provided. So, the following command can also be used to install on windows
pip install epanet2
- POSIX (e.g. Linux, OS-X):
Download source archive (zip file), extract and run (as root)
[sudo] python setup.py install
or just type
[sudo] pip install epanet2
Usage:
>>> from epanet2 import epanet2 as et >>> p="epanet2/examples/simple/" >>> ret=et.ENopen(p+"Net3.inp",p+"Net3.rpt","")
- Example 1:
Retrieve simulation properties.
Basic properties of the network
>>> ret,result=et.ENgetcount(et.EN_LINKCOUNT) >>> print(ret) 0 >>> print(result) 119 >>> ret,result=et.ENgetcount(et.EN_NODECOUNT) >>> print(ret) 0 >>> print(result) 97 >>> node='105' >>> ret,index=et.ENgetnodeindex(node) >>> print(ret) 0 >>> print ("Node " + node + " has index : " + str(index)) Node 105 has index : 12
Get the list of nodes
>>> ret,nnodes=et.ENgetcount(et.EN_NODECOUNT) >>> nodes=[] >>> pres=[] >>> time=[] >>> for index in range(1,nnodes): ... ret,t=et.ENgetnodeid(index) ... nodes.append(t) ... t=[] ... pres.append(t) >>> print (nodes) #doctest: +ELLIPSIS ... #doctest: +NORMALIZE_WHITESPACE ['10', '15', '20', '35', '40', '50', '60', ..., '275', 'River', 'Lake', '1', '2']
Hydraulic Simulation
>>> et.ENopenH() 0 >>> et.ENinitH(0) 0 >>> while True : ... ret,t=et.ENrunH() ... time.append(t) ... # Retrieve hydraulic results for time t ... for i in range(0,len(nodes)): ... ret,p=et.ENgetnodevalue(i+1, et.EN_PRESSURE ) ... pres[i].append(p) ... ret,tstep=et.ENnextH() ... if (tstep<=0): ... break >>> ret=et.ENcloseH() >>> print([round(x,4) for x in pres[0]]) #doctest: +ELLIPSIS ... #doctest: +NORMALIZE_WHITESPACE [-0.6398, 40.1651, 40.891, 41.0433, ..., 0.569, -0.8864, 0.2997]
Pressure at the node ‘10’
>>> ret,ind=et.ENgetnodeindex("10") >>> print (ind) 1 >>> print([round(x,4) for x in pres[ind+1]]) # remember epanet count starts at 1. ... #doctest: +ELLIPSIS ... #doctest: +NORMALIZE_WHITESPACE [12.5657, 12.9353, 13.4351, 14.0307, ..., 13.1174, 13.3985, 13.5478]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file EPANET2-0.4.0.1dev.zip
.
File metadata
- Download URL: EPANET2-0.4.0.1dev.zip
- Upload date:
- Size: 158.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf25995b9f41cc5e1d661a8122533dae8cfcd6d7b53ec87f82d57dc2ad56c494 |
|
MD5 | 1337c8ef7898b5d78d309866694df216 |
|
BLAKE2b-256 | c08521bec0739db1ebbc11f404a65cc414007bbc1e3e4e596c928cbdbbbfaeeb |
File details
Details for the file EPANET2-0.4.0.1dev.win-amd64-py3.3.exe
.
File metadata
- Download URL: EPANET2-0.4.0.1dev.win-amd64-py3.3.exe
- Upload date:
- Size: 349.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05ef4403a3e21efdb16b4a4cc6d6982a5d00e24911bcc3f6e3cadae1e19d0de1 |
|
MD5 | acc303e2f8d16b6b1d8f9d7337d74ea9 |
|
BLAKE2b-256 | e43f834d5003a2f346d8a9057ae878ddef5bf03f945663405e851d5a67d19077 |
File details
Details for the file EPANET2-0.4.0.1dev-cp33-none-win_amd64.whl
.
File metadata
- Download URL: EPANET2-0.4.0.1dev-cp33-none-win_amd64.whl
- Upload date:
- Size: 125.7 kB
- Tags: CPython 3.3, Windows x86-64
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cc8f0d2ebd31982d59baf14cf751f45027b2adc435c17e3e9ab797aec2546ee |
|
MD5 | 82c50883dbe2cfed7e0d761d31de5f70 |
|
BLAKE2b-256 | 75447452ebc5f25b8b3a2cc2bc9da419344094bde8941c91d733bbcad844919a |