Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

EPANET2-0.4.0.1dev.zip (158.6 kB view details)

Uploaded Source

Built Distributions

EPANET2-0.4.0.1dev.win-amd64-py3.3.exe (349.5 kB view details)

Uploaded Source

EPANET2-0.4.0.1dev-cp33-none-win_amd64.whl (125.7 kB view details)

Uploaded CPython 3.3 Windows x86-64

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

Hashes for EPANET2-0.4.0.1dev.zip
Algorithm Hash digest
SHA256 cf25995b9f41cc5e1d661a8122533dae8cfcd6d7b53ec87f82d57dc2ad56c494
MD5 1337c8ef7898b5d78d309866694df216
BLAKE2b-256 c08521bec0739db1ebbc11f404a65cc414007bbc1e3e4e596c928cbdbbbfaeeb

See more details on using hashes here.

File details

Details for the file EPANET2-0.4.0.1dev.win-amd64-py3.3.exe.

File metadata

File hashes

Hashes for EPANET2-0.4.0.1dev.win-amd64-py3.3.exe
Algorithm Hash digest
SHA256 05ef4403a3e21efdb16b4a4cc6d6982a5d00e24911bcc3f6e3cadae1e19d0de1
MD5 acc303e2f8d16b6b1d8f9d7337d74ea9
BLAKE2b-256 e43f834d5003a2f346d8a9057ae878ddef5bf03f945663405e851d5a67d19077

See more details on using hashes here.

File details

Details for the file EPANET2-0.4.0.1dev-cp33-none-win_amd64.whl.

File metadata

File hashes

Hashes for EPANET2-0.4.0.1dev-cp33-none-win_amd64.whl
Algorithm Hash digest
SHA256 8cc8f0d2ebd31982d59baf14cf751f45027b2adc435c17e3e9ab797aec2546ee
MD5 82c50883dbe2cfed7e0d761d31de5f70
BLAKE2b-256 75447452ebc5f25b8b3a2cc2bc9da419344094bde8941c91d733bbcad844919a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page