271 lines
20 KiB
HTML
271 lines
20 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.16"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>EPANET: OutFileFormat</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">EPANET
|
|
 <span id="projectnumber">2.2.0</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.16 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">OutFileFormat</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<p>The Toolkit uses an unformatted binary output file to store both hydraulic and water quality results at uniform reporting intervals. Data written to the file is either 4-byte integers, 4-byte floats, or fixed-size strings whose size is a multiple of 4 bytes. This allows the file to be divided conveniently into 4-byte records. The file consists of four sections of the following sizes in bytes:</p>
|
|
<table class="markdownTable">
|
|
<tr class="markdownTableHead">
|
|
<th class="markdownTableHeadNone">Section </th><th class="markdownTableHeadNone">Size in Bytes </th></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Prolog </td><td class="markdownTableBodyNone">884 + 36*Nnodes + 52*Nlinks + 8*Ntanks </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Energy Usage </td><td class="markdownTableBodyNone">28*Npumps + 4 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Dynamic Results </td><td class="markdownTableBodyNone">(16*Nnodes + 32*Nlinks)*Nperiods </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Epilog </td><td class="markdownTableBodyNone">28 </td></tr>
|
|
</table>
|
|
<p>where:</p><ul>
|
|
<li>Nnodes = number of nodes (junctions + reservoirs + tanks),</li>
|
|
<li>Nlinks = number of links (pipes + pumps + valves),</li>
|
|
<li>Ntanks = number of tanks and reservoirs,</li>
|
|
<li>Npumps = number of pumps,</li>
|
|
<li>Nperiods = number of reporting periods.</li>
|
|
</ul>
|
|
<p>All of these counts are themselves written to the file's Prolog or Epilog sections. </p>
|
|
|
|
|
|
<h3><a id="Output_Prolog"></a>Prolog Section</h3><div class="textblock">The Prolog section of an EPANET binary output file contains the following data:<table class="markdownTable">
|
|
<tr class="markdownTableHead">
|
|
<th class="markdownTableHeadNone">Item </th><th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone"># Bytes </th></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Magic Number = 516114521 </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Version (= 200) </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Number of Nodes </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Number of Reservoirs & Tanks </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Number of Links </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Number of Pumps </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Number of Valves </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Water Quality Option - see EN_QualityType </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Traced Node Index </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Flow Units Option </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Pressure Units Option </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone" colspan="2">0 = psi </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone" colspan="2">1 = meters </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone" colspan="2">2 = kPa </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Report Statistic Type - see EN_StatisticType </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Reporting Start Time (sec) </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Reporting Time Step (sec) </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Simulation Duration (sec) </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Project Title (1st line) </td><td class="markdownTableBodyNone">Char </td><td class="markdownTableBodyNone">80 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Project Title (2nd line) </td><td class="markdownTableBodyNone">Char </td><td class="markdownTableBodyNone">80 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Project Title (3rd line) </td><td class="markdownTableBodyNone">Char </td><td class="markdownTableBodyNone">80 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Name of Input File </td><td class="markdownTableBodyNone">Char </td><td class="markdownTableBodyNone">260 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Name of Report File </td><td class="markdownTableBodyNone">Char </td><td class="markdownTableBodyNone">260 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Name of Quality Chemical </td><td class="markdownTableBodyNone">Char </td><td class="markdownTableBodyNone">32 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Chemical Concentration Units </td><td class="markdownTableBodyNone">Char </td><td class="markdownTableBodyNone">32 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">ID String of Each Node </td><td class="markdownTableBodyNone">Char </td><td class="markdownTableBodyNone">32*Nnodes </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">ID String of Each Link </td><td class="markdownTableBodyNone">Char </td><td class="markdownTableBodyNone">32*Nlinks </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Index of Head Node of Each Link </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4*Nlinks </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Index of Tail Node of Each Link </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4*Nlinks </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Type Code of Each Link (see EN_LinkType) </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4*Nlinks </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Node Index of Each Tank </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4*Ntanks </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Surface Area of Each Tank </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Ntanks </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Elevation of Each Node </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nnodes </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Length of Each Link </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nlinks </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Diameter of Each Link </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nlinks </td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<h3><a id="Output_Energy"></a>Energy Usage Section</h3><div class="textblock">The Energy Usage section of an EPANET binary output file contains the following data:<table class="markdownTable">
|
|
<tr class="markdownTableHead">
|
|
<th class="markdownTableHeadNone">Item (Repeated for Each Pump) </th><th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone"># Bytes </th></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Pump Index in list of links </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Pump Utilization (%) </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Average Efficiency (%) </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Average kwatts/MGal (or kwatts/cu m) </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Average kwatts </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Peak kwatts </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Average Cost per Day </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Peak Energy Usage (kw-hrs) </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<h3><a id="Output_Results"></a>Dynamic Results Section</h3><div class="textblock">The Dynamic Results section of an EPANET binary output file contains the following set of data for each reporting period (the reporting time step is written to the Output File's <a class="el" href="_out_file.html#Output_Prolog">Prolog Section</a> and the number of such steps is written to the <a class="el" href="_out_file.html#Output_Epilog">Epilog Section</a>):<table class="markdownTable">
|
|
<tr class="markdownTableHead">
|
|
<th class="markdownTableHeadNone">Item </th><th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone"># Bytes </th></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Demand at Each Node </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nnodes </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Head (Grade) at Each Node </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nnodes </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Pressure at Each Node </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nnodes </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Water Quality at Each Node </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nnodes </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Flow in Each Link </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nlinks </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone" colspan="2">(negative for reverse flow) </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Velocity in Each Link </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nlinks </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Headloss per 1000 Units of Length for Each Link </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nlinks </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone" colspan="2">(total head for pumps and head loss for valves) </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Average Water Quality in Each Link </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nlinks </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Status Code for Each Link </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nlinks </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone" colspan="2">0 = closed (pump shutoff head exceeded) </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone" colspan="2">1 = temporarily closed </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone" colspan="2">2 = closed </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone" colspan="2">3 = open </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone" colspan="2">4 = active (partially open </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone" colspan="2">5 = open (pump max. flow exceeded) </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone" colspan="2">6 = open (FCV can't supply flow </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone" colspan="2">7 = open (PRV/PSV can't supply pressure) </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Setting for Each Link </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nlinks </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Reaction Rate for Each Link (mass/L/day) </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nlinks </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Friction Factor for Each Link </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4*Nlinks </td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<h3><a id="Output_Epilog"></a>Epilog Section</h3><div class="textblock">The Epilog section of an EPANET binary output file contains the following data:<table class="markdownTable">
|
|
<tr class="markdownTableHead">
|
|
<th class="markdownTableHeadNone">Item </th><th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone"># Bytes </th></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Average bulk reaction rate (mass/hr) </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Average wall reaction rate (mass/hr) </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Average tank reaction rate (mass/hr) </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Average source inflow rate (mass/hr) </td><td class="markdownTableBodyNone">Float </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Number of Reporting Periods </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone">Warning Flag: </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone" colspan="2">0 = no warnings </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone" colspan="2">1 = warnings were generated </td><td class="markdownTableBodyNone"></td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone">Magic Number = 516114521 </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">4 </td></tr>
|
|
</table>
|
|
</div></div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.16
|
|
</small></address>
|
|
</body>
|
|
</html>
|