Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 8

EPANET 2 UPDATE HISTORY

=======================

------------------------
Builds 2.00.01 - 2.00.04
------------------------
Beta releases A through D.

----------------------
Build 2.00.05 (6/1/00)
----------------------
The first official release of EPANET 2.0.

-----------------------
Build 2.00.06 (9/11/00)
-----------------------
User Interface Bug Fixes (epanet2w.exe):

1. Using the Property Editor to edit the Base Demand


for a junction with multiple demand categories now
correctly updates its value in the internal database.

2. The distances between nodes displayed on a Profile


Plot have been corrected.

3. The demands in an imported demand scenario file


are now assigned correctly to the nodes in the
network.

4. Curved pipes are no longer represented as straight


lines in map files exported in DXF format.

5. In a Group Edit operation, conditions placed on string


properties, such as Tags or Demand Patterns, are now
processed correctly.

Computational Engine Bug Fixes (epanet2.dll and


epanet2d.exe):

1. The conversion factor used for IMGD flow units has been
corrected. (All flow conversion factors have been
updated to maintain 4-5 significant digits. This
might cause some minor differences in computed results
from earlier versions.)

2. Any bulk reaction coefficient assigned to a tank


is now correctly inactivated when a source trace
analysis is made.

3. The check to see if pipes to full/empty tanks should be


closed has been modified to account for conditions where
the headloss across the pipe is negligible (a leftover
bug from Version 1.1).

4. An FCV closed by a rule can now be restored to either


an open or active status at a later time via another
rule.

5. Several tuning parameters and steps of the hydraulic


analyis algorithm were modified to enhance its
robustness. Appendix D of the EPANET Users Manual has
been revised to reflect these changes.

------------------------
Build 2.00.07 (12/11/00)
------------------------
User Interface Bug Fixes (epanet2w.exe)

6. Using the Property Editor to edit the Base Demand for a


junction with multiple demand categories now correctly
updates its value in the internal database (see Bug 1
above) and also passes this value to the network solver
when an analysis is made.

7. The program now runs correctly when there are no


printers installed for Windows.

8. A custom zoom window can now be drawn in any direction.


Before if the window was not drawn from top-left to
bottom-right then a default zoom (2x) would occur.

9. If the Map Window is in Vertex Editing mode and an


object is selected from either the Browser or the Map
Finder then vertex editing will now be disabled and
the map will be placed into Object Selection mode.

10. The '&' character in an ID label will now display


correctly in the Flyover map labels.

11. The simulation Time Legend will now display correctly


when the Clock Start Time option is expressed in decimal
hours instead of hours:minutes notation.

12. Map printing has been modified so that line widths and
font sizes remain close to how they appear on the screen.

13. For safety's sake, the Auto-Length feature is automatically


disabled whenever a new project is opened.

Computational Engine Bug Fixes (epanet2.dll and


epanet2d.exe):

6. The units of SYSTEM DEMAND in rule-based controls have


been fixed to match those set by the user (rather than
always be cfs).

7. The 2-compartment tank mixing model has been modified to


prevent water quality concentrations from "blowing up"
when tank inflow is almost equal to its outflow.

8. Error message 222 has been added to test if both ends


of a link are the same node.

9. File names with spaces in them will now be recognized in


the Toolkit functions ENsavehydfile and ENusehydfile.

10. The Toolkit function ENgetlinkvalue will now correctly


return the flow in a pump whose status was changed from
what its initial value was.

11. An error in the way that multi-point pump curves were


adjusted for a variable speed setting has been fixed.

------------------------
Build 2.00.07a (1/2/01)
------------------------
This build corrects problems that cropped up when fixes
were made to GUI bugs 6 and 12 in Build 2.00.07.

------------------------
Build 2.00.07b (1/5/01)
------------------------
Corrects an oversight in Build 2.00.07a that prevents .NET files
created with Build 2.00.07 from being read by later builds.

-----------------------
Build 2.00.08 (3/2/01)
-----------------------
User Interface Bug Fixes (epanet2w.exe)

14. The Sepoint Booster and Flow Paced Booster options for water
quality sources were being switched when a network was
exported to file in ASCE text format.

15. Clicking the Options button on the Standard Toolbar had no


effect when one wanted to edit options for Graphs,
Contour Plots, Tables or Calibration Reports.

16. The view variable Headloss is now labelled as Unit Headloss


to reinforce the fact that it represents the headloss per
1000 ft (or 1000 m) of pipe.

Computational Engine Bug Fixes (epanet2.dll and


epanet2d.exe):

12. The Toolkit function ENsaveinpfile was not correctly writing


to file the name of an efficiency curve specified for a pump.

13. The Toolkit function ENgetcontrol was not returning a setting


value of 0 when the control in question closed a pipe (as
opposed to a pump).

14. The Toolkit function ENsetqualtype was not re-setting the


unit conversion factor for concentration when the water
quality analysis was being changed between chemical, age,
and trace analyses.

15. In the Toolkit function ENinitH(flag), the flag argument can


now be a 2-digit number. A 0 or 1 in the right-most digit
determines if hydraulic results are saved to file or not.
A 0 or 1 in the left digit determines whether all flows will
be re-initialized to 1 cfs or not.

16. When a numerical setting (as opposed to an OPEN/CLOSED status)


was assigned to a pipe as the action in a control or rule, the
action was ignored. Now a numerical setting of 0 means that
the pipe will close, while a setting greater than 0 will open
the pipe.

17. It is now illegal to have a Flow Control Valve connected


directly to the upstream node of a Pressure Sustaining Valve
or to the downstream node of a Pressure Reducing Valve.

NOTE: The computational engine (epanet2.dll and epanet2d.exe) was


re-compiled using version 5.5.1 of Borland C++ and version
5.00 of the Borland linker. Toolkit users who program in
C/C++ must use the .lib files in the latest version of the
Toolkit (Build 2.00.08 or higher) to link EPANET2.DLL
sucessfully with their projects.

------------------------
Build 2.00.09 (11/19/01)
------------------------
User Interface Bug Fixes (epanet2w.exe)

17. The problem with the Setpoint Booster and Flow Paced Booster
source types being switched when exported (see Item 14 above)
has finally been fixed.

18. The Background map was not being panned with the network when
the Find dialog caused a zoomed-in map to pan to the found item.

19. ID labels with double quotes in them, such as 123"abc"456, were


being imported from .INP files as separate tokens (123, abc,
and 456) instead of as a single string.

20. X and Y coordinates with many significant digits (i.e., > 8)


were not being read with full precision from imported .INP files.

Computational Engine Bug Fixes (epanet2.dll and


epanet2d.exe):

18. The flow tolerance used to test the status of PRVs and other
valves was too large, causing the program to miss some status
changes under very small flows.

19. The check used to prevent outflow from an empty tank could fail
when the headloss through the outflow pipe was negligible.

20. The logic used to determine if pumps connected directly to


full or empty tanks should be closed has been corrected.

21. In the toolkit function ENgetlinkvalue, the check for a closed


pipe was using the initial pipe status instead of the current
status.

22. The toolkit function ENsaveinpfile was not writing to file


correctly the nodal demands and the emitter exponent value.

------------------------
Build 2.00.09a (12/8/01)
------------------------
User Interface Bug Fixes (epanet2w.exe)
21. When drawing objects on the map, the user would be switched back to
object selection mode after each object was drawn, rather than
remaining in drawing mode until the switch was made manually.

------------------------
Build 2.00.10 (6/24/02)
------------------------
User Interface Bug Fixes (epanet2w.exe)

22. The SPEED keyword in the [PUMP] lines of an imported .INP file
was not being recognized.

23. There was no way to change the reaction order parameter for tanks.
Now it is always set equal to the value specified for bulk order.

24. More space was added to the columns of a Calibration Report for
displaying the mean observed and mean predicted values at each
sampling location.

Computational Engine Bug Fixes (epanet2.dll and


epanet2d.exe):

23. At intermediate times when tanks would normally become full they
could actually be just below full because EPANET measures time
in integer seconds. In some cases this would cause water age in
the tank to continually increase with time and never reach an
equilbrium value.

24. The report generated by the command-line or toolkit versions of


EPANET was printing an incorrect demand charge in its Energy
section when no demand charge was specified in the input file.

25. The report was also not always able to display very small or very
large values in its tables.

26. The Status Report could not distinguish the time of events that
occurred within seconds of one another (status time is now shown
as hours:minutes:seconds).

27. No check was being made to ensure that the time pattern assigned
to a non-primary demand category at a node actually existed.

28. The following toolkit problems were corrected:


a. map coordinate data was being lost when the ENsaveinpfile
function was called to overwrite the original input file
b. not enough decimal places were being used to write out D-W
roughness heights with the ENsaveinpfile function
c. when demands are specified in the [DEMANDS] section of the
input file instead of the [JUNCTIONS] section, using
ENgetnodevalue to check on a base demand would return zero
and trying to change the demand using ENsetnodevalue would
instead create a new demand category.
d. ENgetlinkvalue could return an invalid energy value for a
closed link.

-----------------------
Build 2.00.11 (8/15/07)
-----------------------
Computational Engine Changes (epanet2.dll and epanet2d.exe):
===============================================================================
CODE MODULES CHANGES
===============================================================================
All All variables previously declared as floats were re-defined as
doubles except for those used to write results to binary output
files and those used as arguments in the toolkit functions. The
engine is now compiled using Microsoft Visual C/C++ 6.
-------------------------------------------------------------------------------
EPANET.C The symbols CLE (for command line executable) and SOL (for shared
object library) were introduced in addition to the existing
symbol DLL (for dynamic linked library) to support conditional
compliation for shared object libraries on Unix/Linux.
-------------------------------------------------------------------------------
EPANET.C EN_INITVOLUME, EN_MIXMODEL and EN_MIXZONEVOL were added to the
EPANET2.H list of tank parameters that can be retrieved with
TOOLKIT.H ENgetnodevalue.
-------------------------------------------------------------------------------
EPANET.C Missing code was added to the ENgetnodevalue function to return
a value for EN_SOURCEPAT when requested.
-------------------------------------------------------------------------------
EPANET.H The function declarations in these "include" files were modified
TOOLKIT.H to support conditional compliation for shared object libraries
on Unix/Linux.
-------------------------------------------------------------------------------
INPUT3.C The keyword "HEADLOSS" is no longer confused with "HEAD" when
parsing reporting variable names in the [REPORT] section of the
input file.
-------------------------------------------------------------------------------
RULES.C The input values for a tank's FILLTIME or DRAINTIME in a rule
premise are now correctly converted to seconds in the
newpremise() function.
-------------------------------------------------------------------------------
HYDRAUL.C During hydraulic balancing, status checks on control valves are
now made only when the convergence error drops to less than a
factor of 10 of the accuracy limit and a damping factor of 0.6
is applied to flow changes computed at each iteration beyond
this point.
-------------------------------------------------------------------------------
HYDRAUL.C The logic for determining the status of PRVs and PSVs was changed
to produce more robust solutions, including the case of parallel
PRVs.
-------------------------------------------------------------------------------
HYDRAUL.C The matrix coefficients for fully open control valves are now set
directly rather than by assuming the valve has a certain length
and friction factor.
-------------------------------------------------------------------------------
HYDRAUL.C Changes were made to how the P-coefficient for FCVs and the Y-
coefficient for GPVs are calculated.
-------------------------------------------------------------------------------
HYDRAUL.C An extraneous "if" statement was removed from the resistance()
function; the Y-coefficient value in gpvcoeff() was corrected;
the P-coefficient value in fcvcoeff() was corrected.
-------------------------------------------------------------------------------
QUALITY.C The memory pool used for water quality routing segments was given
the name SegPool and declared as a static global variable.
-------------------------------------------------------------------------------
QUALITY.C In the release() function, the upstream node quality is now mixed
together with that of the upstream pipe segment when the quality
difference between the two is less than the CTOL tolerance.
-------------------------------------------------------------------------------
INPFILE.C The ENsaveinpfile toolkit function now writes disabled reporting
variables to the [REPORT] section of the generated input file.
-------------------------------------------------------------------------------
INPFILE.C The appearance of an extraneous character at the end of the .INP
file produced by the toolkit function ENsaveinpfile was fixed.
-------------------------------------------------------------------------------
TYPES.H MAXID was increased to allow ID names to contain up to 31
HASH.C characters.
-------------------------------------------------------------------------------
TYPES.H The code version was changed to 20011.
===============================================================================

User Interface Changes (epanet2w.exe)


===============================================================================
CODE MODULES CHANGES
-------------------------------------------------------------------------------
FMAIN.PAS The user's program settings are now stored in the user's
UGLOBALS.PAS Application\Epanet folder on their file system rather than to
UINIFILE.PAS the Epanet installation folder.
UUTILS.PAS
--------------------------------------------------------------------------------
FSTATUS.PAS The CopyFile function was replaced by the Delphi library function
UFILEIO.PAS of the same name.
UUTILS.PAS
--------------------------------------------------------------------------------
UGLOBALS.PAS The maximum length of an object ID name was increased to 31
UOUTPUT.PAS characters + a terminating character.
--------------------------------------------------------------------------------
ALL FILES Epanet2w.exe was recompiled using Delphi 7.
================================================================================

-----------------------
Build 2.00.12 (2/25/08)
-----------------------

Computational Engine Changes (epanet2.dll and epanet2d.exe):


===============================================================================
CODE MODULES CHANGES
===============================================================================
EPANET.C Temporary files are now written to the users's current working
INPUT1.C directory or to the designated Temporary Directory when running
VARS.H the Windows GUI, thus avoiding file access problems for users
FUNCS.H who do not have administrative privileges on their machine.
-------------------------------------------------------------------------------
EPANET.C The following tank parameters were made available for retrieval
TOOLKIT.H using the Toolkit's ENgetnodevalue function: tank diameter,
EPANET2.H minimum volume, index of the tank's volume curve, the initial,
minimum, and maximum water levels, the fraction of a 2-compart-
ment tank devoted to the mixing zone, and the tank's bulk
reaction rate coefficient. These same parameters (with the
exception of the volume curve) were made modifiable using the
ENsetnodevalue function, as was the choice of mixing model.
See the Toolkit Help file for details.
-------------------------------------------------------------------------------
EPANET.C A new Toolkit function, ENaddpattern, was added that allows
TOOLKIT.C programmers to add a new time pattern to the network in any
EPANET2.H custom code that they write.
-------------------------------------------------------------------------------
HYDRAUL.C A DAMPLIMIT parameter was added to control at what point during
INPUT1.C the hydraulic solution iterations status checks on PRVs and PSVs
INPUT3.C begin and subsequent flow changes are dampened.
REPORT.C
VARS.H
TEXT.H
-------------------------------------------------------------------------------
HYDRAUL.C Demands for tanks (net inflows/outflows) were not always being
set to zero when the tank was full or empty which was causing
problems in the water quality routing solutions.
-------------------------------------------------------------------------------
QUALITY.C The water quality functions for all of the tank mixing models
were modified so as to produce more robust results for cases
where there is a significant amount of volume exchange over a
water quality time step.
-------------------------------------------------------------------------------
EPANET.C A problem with the system not recognizing that water quality
QUALITY.C reactions could begin after some initial period of time when
VARS.H the Toolkit was used to modify reaction rate coefficients was
fixed.
-------------------------------------------------------------------------------
INPFILE.C A problem with extraneous lines being written to the [REPORT]
section of an EPANET input file created with the ENsaveinpfile
function was fixed. Also the number of decimal places for some
items written to the saved file, such as nodal demands, was
increased.
-------------------------------------------------------------------------------
TYPES.H The code version was changed to 20012 and INT4 was explicitly
defined as an "int" data type.
===============================================================================

User Interface Changes (epanet2w.exe)


===============================================================================
CODE MODULES CHANGES
-------------------------------------------------------------------------------
UIMPORT.PAS The previously undocumented parameters CHECKFREQ and MAXCHECK
UINPUT.PAS and the new parameter DAMPLIMIT were added to the list of
UGLOBALS.PAS Hydraulic Options that can be edited within the Property Editor.
UEXPORT.PAS See the Help file topic "Analysis Options - Hydraulics" for
CONSTS.TXT the meaning of these parameters.
-------------------------------------------------------------------------------
DCURVE.PAS A bug in the Delphi charting package was worked around by
requiring that curves edited in the Curve Editor dialog must have
at least 2 points to be displayed.
===============================================================================

You might also like