Release notes

v0.1.4 (Master branch)

  • Added a faster EPANET binary output file reader
  • Added ability to get the names of all required objects that are queried or acted upon by the control (see requires)
  • Modified the structure of the WaterNetworkOptions object to group options into types (API change, see WaterNetworkOptions)
  • Created a Pattern object that can be called to get the pattern value at a specific time (see Pattern)
  • Created a TimeSeries object that contains a base value, Pattern object, and category. The object can be called to get its value at a specific time. TimeSeries are used to store junction demand, source injection, pricing, pump speed, and reservoir head. (see TimeSeries)
  • Created a Demands object that contains multiple demands for a single junction and can calculate demand values at a specific time. Change to the way multiple demands are stored makes the Junction.base_demand and Junction.demand_pattern_name read-only attributes (API change).
  • Added support for flow control valves (FCV), multiple demands at a junction, and variable reservoir head in the WNTRSimulator
  • Modified the WaterNetworkModel.add_pattern() to no longer accept start_time and end_time options. Binary patterns can be created using the Patterns object (API change, see BinaryPattern).

v0.1.3 (October 3, 2017)

  • Added method to compute pump energy and cost
  • Added methods to plot fragility curves and pump curves
  • Bug fix to support 24-hour clocktime format and correct tank volume curve name in EPANET INP files
  • Added ability to create network graphics in subplots (API change, see plot_network)
  • Changed argument in the WNTRSimulator specifying demand-driven or pressure dependent demand (API change, see WNTRSimulator)
  • Updated use of NetworkX to be compatible v2.0
  • Bug fix in method used to split pipes. The updated method modifies the original pipe and retains rules and controls associated with that pipe. (API change, see split_pipe, replaces split_pipe_with_junction)
  • Updated documentation

v0.1.2 (May 19, 2017)

  • Improved EPANET INP file reader/writer with unit conversions
  • Added EPANET binary file reader
  • Improved model option handling with the EpanetSimulator
  • Added water network compatibility with EPANET INP file SOURCES and RULES
  • Restructured code base (API change)
    • Added epanet package which contains an epanet toolkit, EPANET INP file reader/writer, and unit conversions. Removed pyepanet package.
    • Added graphics package which contains functions to plot networks. Renamed draw_graph to plot_network. Added a function to create network graphics using Plotly.
    • Reorganized metrics, network, scenario, sim, and utils packages
    • Removed Waterquality class from the scenario package. This functionality has been replaced with Source class in the water network model.
  • Updated documentation

v0.1.1 (February 6, 2017)

  • Updated package for Python 3.4 and 3.5 compatibility
  • Added install requirements to
  • Bug fix in animation example
  • Updated documentation

v0.1.0 (October 17, 2016)

This is the first official release of WNTR. Features include basic functionality to:

  • Generate water network models
  • Modify network structure and operations
  • Add disruptive incident and response/repair strategies
  • Simulate network hydraulics using pressure dependent demand or demand-driven hydraulic simulation
  • Run probabilistic simulations using fragility curves
  • Compute resilience using topographic, hydraulic, water quality/security, and economic metrics
  • Analyze results and generate graphics