Recent Releases of EPyT-Flow

EPyT-Flow - v0.17.0

  • Bugfix ScenarioVisualizer: Support multiple reservoirs, pumps, and tanks
  • Bugfix Leak and source pattern: Correctly handle arbitrary pattern time steps
  • ScenarioSimulator:
    • Bugfix curves in get_topology
    • Bugfix invalid pattern in randomize_demands
    • Handle mixed pressure units independent of the flow units
  • NetworkTopology:
    • Convert units of curves
    • Bugfix: HEAD curves are in feet/meter
  • SCADA data:
    • Sensor ordering can be changed
    • Do not leak references to internal data

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt 27 days ago

EPyT-Flow - v0.16.1

NOTE: This release fixes a critical security issue that can
lead to remote code execution when deserializing JSON in the REST API or
loading from a file. Thanks to Jarrett Chan (@syphonetic) for reporting it.

  • Fix unsafe JSON deserialization
  • NetworkTopology:
    • Bugfix in to_gis
  • Fix broken links to EPANET documentation

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt 2 months ago

EPyT-Flow - v0.16.0

  • Drop support of Python 3.9
  • Memory efficient serialization of NumPy arrays
  • Networktopology:
    • Several bug fixes
    • Include more attributes
    • Add to_inp_file() method
  • ScenarioSimulator:
    • Several bug fixes
    • Add parameter for float precision
    • Export NetworkTopology to .inp file if .inp file from ScenarioConfig does not exit
    • Fix EPANET-PLUS deprecation warnings
    • Reinitialize flows when running a hydraulic simulation
  • ModelUncertainty:
    • Discard invalid index from demand pattern set
    • Moved seeding of RNG to init
  • ScenarioControlEnv:
    • set_pump_speed now uses link setting instead of pattern
  • SensorConfig:
    • Introduced a sensor_ordering property of SensorConfig
  • Event and control/rule classes:
    • Make private attributes protected
  • Visuaklization:
    • Added dpi parameter to show plot

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt 2 months ago

EPyT-Flow - v0.15.0

  • Switch to EPANET-PLUS as the back-end for accessing EPANET-(MSX)
  • Support Python 3.14

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt 5 months ago

EPyT-Flow - v0.15.0b1

  • Replace EPyT by EPANET-PLUS

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt 6 months ago

EPyT-Flow - v0.14.2

  • Downgrade EPANET to 2.2 because of buggy pump states
  • Add a function for downloading from Google Drive
  • Docs: Group Jupyter notebooks
  • ScadaData: Bugfix type of default warnings code
  • NetworkTopology: Bugfix regarding tank mixing model

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt 7 months ago

EPyT-Flow - v0.14.1

  • Downgrade EPyT dependency (yanked release)
  • Upgrade EPANET source code to 2.3
  • ModelUncertainty:
    • Change class variables from private to protected
    • Add undo function and fix re-apply in run_simulation
  • ScenarioControlEnv: Add parameter reapply_uncertainties_at_reset
  • ScadaData: Set default parameter for end_tim in extract_time_window
  • NetworkTopology: Compare adj matrix in eq

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt 8 months ago

EPyT-Flow - v0.14.0

  • Bugfix: clip function in Uncertainty class
  • ScenarioSimulator:
    • Add an attribute for controlling the re-application of uncertainties in simulation runs
    • Add custom error/warning handling
    • Do not override error/warnings in between report time steps
    • Add EPANET-MSX error codes
    • Output warnings as a default
  • ScadaData:
    • Speed up extract_time_window
    • Set a default value if no warning codes are given
  • Add arsenic contamination example
  • Upgrade gcc version on macOS for compiling EPANET

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt 9 months ago

EPyT-Flow - v0.13.1

  • Bugfix in simulation: boolean indicating termination

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt 11 months ago

EPyT-Flow - v0.13.0

  • EPANET-MSX: Bugfix integer overflow in MSX.Dur if compiled with gcc
  • Simulation generators: Add a boolean indicating whether the end of the simulation has been reached
  • ScenarioSimulator: run_advanced_quality_simulation: Add default success code to all ScadaData
  • SensorNoise: Remove deprecated argument 'uncertainty'

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt 11 months ago

EPyT-Flow - v0.12.0

  • Several bug fixes and (minor) improvements
  • Speed up simulation: Cache network topology whenever possible
  • ScenarioSimulator:
    • Add EPANET-MSX time step to "set_general_parameters"
    • Add get_node_base_demand() function
  • Visualization:
    • Add pump energy consumption and efficiency as node features
    • Bulk species concentration can be plotted
  • Add custom EPANET and EPANET-MSX wrapper with improved error/warning handling
  • Add warning/error codes to ScadaData
  • Add helper function: level_to_volume
  • Update REST API
  • Remove several deprecated modules

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt 12 months ago

EPyT-Flow - v0.11.0

  • Several bug fixes and (minor) improvements
  • Uncertainties: Add seed for random number generation
  • Enhanced visualization
  • ScadaData: GNN (i.e. PyTorch Geometric) compatible export
  • NetworkTopology:
    • Include node comments
    • Add adjacency list export
  • ScenarioSimulator:
    • Add functions for initial link/pump status and tank level
    • Add function for setting EPANET quality parameters
    • Add a function for specifying initial species concentrations
    • Add functions for working with pump energy price patterns

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt about 1 year ago

EPyT-Flow - v0.10.0

  • Several bug fixes and (minor) improvements
  • Support Python 3.13
  • Full support of simple controls (i.e. [CONTROLS] section in .inp files)
  • Full support of complex controls (i.e. [RULES] section in .inp files)
  • Rename "AdvancedControl" to "CustomControl"
  • SensorConfig: Add "junctions" property

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt about 1 year ago

EPyT-Flow - v0.9.0

  • Add local uncertainties (incl. sensor noise)
  • ScenarioSimulator: Add functions for working with (demand) patterns
  • Drop support of deprecated SCADA data files
  • Several bug fixes

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt over 1 year ago

EPyT-Flow - v0.8.1

Hotfix: Replace GitHub links with links to own file server -- note that GitHub is blocking the readthedocs build server

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt over 1 year ago

EPyT-Flow - v0.8.0

  • Several bug fixes
  • New event type: SpeciesInjectionEvent for injecting species in EPANET-MSX scenarios
  • ScenarioControlEnv is now fully EPANET-MSX compatible
  • Extended visualization capabilities
  • Several classes in EPyT-Flow are now more customizable
  • More syntactic sugar for easy usage -- e.g. plot functions in ScadaData
  • Add export to Pandas data frames

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt over 1 year ago

EPyT-Flow - v0.7.3

  • JOSS submission: Revise according to the editor's suggestions
  • SensorConfig: Support custom mass unit in EPANET-MSX

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt over 1 year ago

EPyT-Flow - v0.7.2

JOSS submission: Revise paper according to editor's suggestions

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt over 1 year ago

EPyT-Flow - v0.7.1

  • Several bugfixes
  • New function add_species_injection_source() for injecting MSX species
  • Add plot functions to ScadaData

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt over 1 year ago

EPyT-Flow - v0.7.0

  • Serialization: Add functions for loading and saving to .json files
  • New function in ScenarioSimulator: get_reporting_time_step()
  • Add y_ticks and legend to plot functions (plots can now also be saved to a file)
  • More regresion metrics
  • Several bug fixes
  • Minor changes

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt over 1 year ago

EPyT-Flow - v0.6.0

  • Remove PDA as a default hydraulic model
  • Add helper functions to ScenarioControlEnv
  • Add functions for placing sensors everywhere
  • Add sensors for pump energy consumption and pump efficiency
  • SensorConfig: Add function for placing sensors everywhere and test for empty sensor config
  • .inp and .msx files can be opened several times (workaround for EPyT bug 54)
  • Bugfix: ScenarioConfig for handling relative paths
  • Add helper functions to NetworkTopoloy
  • Minor fixes

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt over 1 year ago

EPyT-Flow - v0.5.0

  • NetworkTopology: Add helper functions for accessing different types of elements
  • Add axis labels to plot_timeseries_prediction()
  • Documentation: Add link to source code
  • Fix some doc strings

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt almost 2 years ago

EPyT-Flow - v0.4.0

  • NetworkTopology: Add export to GeoDataFrames
  • ParallelScenarioSimulation returns return values of the callback function
  • Several (minor) bug fixes

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt almost 2 years ago

EPyT-Flow - v0.3.0

  • Major bugfix: Flow units are considered in leakage modeling
  • EPANET and EPANET-MSX are compiled on macOS with CPU specific optimizations enabled
  • ScadaData and NetworkTopology can convert measurement units
  • Add node coordinates, valves, and pumps to NetworkTopology
  • Several (minor) bug fixes

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt almost 2 years ago

EPyT-Flow - v0.2.0

New in this release:

  • Several bugfixes
  • Units of measurement are stored in sensor configuration and network topology
  • Extended REST API
  • CPU-specific optimization when compiling EPANET on Linux

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt almost 2 years ago

EPyT-Flow - v0.1.1

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt almost 2 years ago

EPyT-Flow - v0.1.0

Natural Resources - Water Supply and Quality - Python
Published by andreArtelt almost 2 years ago