{"id":89,"date":"2005-06-01T06:39:47","date_gmt":"2005-06-01T04:39:47","guid":{"rendered":"http:\/\/water-simulation.com\/wsp\/?p=89"},"modified":"2005-06-01T12:44:51","modified_gmt":"2005-06-01T10:44:51","slug":"epanet-toolkit-adaption-to-gnulinux","status":"publish","type":"post","link":"http:\/\/www.water-simulation.com\/wsp\/2005\/06\/01\/epanet-toolkit-adaption-to-gnulinux\/","title":{"rendered":"EPANET Toolkit adaption to GNU\/Linux"},"content":{"rendered":"<p><a href=\"http:\/\/sbe.napier.ac.uk\/~manuel\/\" target=\"_blank\">Manuel L\u05b3\u00b3pez-Ib\u05b3\u00a1\u05b3\u00b1ez<\/a>, currently at the <a href=\"http:\/\/www.sbe.napier.ac.uk\/\" target=\"_blank\">School of the Built Environment<\/a> of <a href=\"http:\/\/www.napier.ac.uk\/\" target=\"_blank\">Napier University<\/a> in Edinburgh (UK), adapted the EPANET Toolkit version 2.00.10 to GNU\/Linux.<\/p>\n<p>A number of new features were added:<\/p>\n<ul>\n<li>Calculation of pump switches<\/li>\n<li>Saves time of day (in seconds) when a pump changes its status. The vector of pump scheduling is obtained using <code>ENgetlinkvalue()<\/code><\/li>\n<li><code>ENgetnodevalue() <\/code>can return the initial (<code>EN_INITVOL<\/code>) and current volume (<code>EN_VOLUME<\/code>) of a tank.<\/li>\n<li><code>ENgetcount()<\/code> returns the number of pumps and the number of reservoirs in the network.<\/li>\n<li>When <code>ENgetcount(EN_CONTROLCOUNT, &count)<\/code>, a control may be added dynamically calling <code>ENsetcontrol()<\/code> with <code>cindex = count + 1<\/code><\/li>\n<\/ul>\n<p>New toolkit functions:<\/p>\n<ul>\n<li><code>ENgettotalenergycost()<\/code> : calculates total energy cost per pump plus demand cost.<\/li>\n<li><code>ENgetpumpswitches()<\/code> : number of switches of a pump.<\/li>\n<li><code>ENaddleveltrig()<\/code> : adds rule with the following format<br \/>\n<code>IF SYSTEM CLOCKTIME &gt;= start_time (in seconds)<br \/>\nAND SYSTEM CLOCKTIME &lt; stop_time  (in seconds)<br \/>\nAND TANK id(tank_index) LEVEL [BELOW|ABOVE] level<br \/>\nTHEN PUMP id(pump_index) STATUS IS status<\/code>\n<\/li>\n<li><code>ENgetminstoptime()<\/code> : returns the shortest time interval (in seconds) that a certain pump was not active.<\/li>\n<li><code>ENgettankindex()<\/code> and <code>ENgetpumpindex()<\/code> : allow to find a pump or tank without knowing its id or index.<\/li>\n<li><code>ENaddpattern()<\/code> adds a new pattern to the database.<\/li>\n<\/ul>\n<p>This version is highly experimental but Manuel is doing a serious effort to document the changes. He is using a Control Version System (CVS) to keep track of the development, so this version is open to contributions from anyone. Manuel is hoping to obtain feedback in the form of code, testing, reports, acknowledge or just complains. \ud83d\ude42<\/p>\n<p>For more information, and download, please see <a href=\"http:\/\/sbe.napier.ac.uk\/~manuel\/epanetlinux.html\" target=\"_blank\">Manuel L\u05b3\u00b3pez-Ib\u05b3\u00a1\u05b3\u00b1ez web page<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Manuel L\u05b3\u00b3pez-Ib\u05b3\u00a1\u05b3\u00b1ez, currently at the School of the Built Environment of Napier University in Edinburgh (UK), adapted the EPANET Toolkit version 2.00.10 to GNU\/Linux. A number of new features were added: Calculation of pump switches Saves time of day (in &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"http:\/\/www.water-simulation.com\/wsp\/2005\/06\/01\/epanet-toolkit-adaption-to-gnulinux\/\"> <span class=\"screen-reader-text\">EPANET Toolkit adaption to GNU\/Linux<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,5,7],"tags":[],"class_list":["post-89","post","type-post","status-publish","format-standard","hentry","category-epanet-related","category-papers-research","category-programming"],"_links":{"self":[{"href":"http:\/\/www.water-simulation.com\/wsp\/wp-json\/wp\/v2\/posts\/89","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.water-simulation.com\/wsp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.water-simulation.com\/wsp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.water-simulation.com\/wsp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.water-simulation.com\/wsp\/wp-json\/wp\/v2\/comments?post=89"}],"version-history":[{"count":0,"href":"http:\/\/www.water-simulation.com\/wsp\/wp-json\/wp\/v2\/posts\/89\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.water-simulation.com\/wsp\/wp-json\/wp\/v2\/media?parent=89"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.water-simulation.com\/wsp\/wp-json\/wp\/v2\/categories?post=89"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.water-simulation.com\/wsp\/wp-json\/wp\/v2\/tags?post=89"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}