WaterModelsAnalytics.jl

Build Status codecov

WaterModelsAnalytics.jl is a Julia package to to support WaterModels.jl (and possibly WaterSystems.jl) with visualizations and solution validations. Current functionality includes:

  • network graph visualizations
  • plotting of pump curves for pumps in the network
  • feasibility validation of optimal solutions (using WNTR/EPANET)

In addition to Julia package dependencies (captured in Project.toml), Python and the following modules are required (along with their sub-dependencies):

  • pygraphviz (>=1.5)
  • PyPDF2 (>=1.26.0)
  • wntr (>=0.3.0)

And also the program graphviz (specifically dot) to write out the graph visualization files.

Basic working example for graph visualization:

import InfrastructureModels
const IM = InfrastructureModels
import WaterModels
const WM = WaterModels
import WaterModelsAnalytics
const WMA = WaterModelsAnalytics

basepath = dirname(dirname(pathof(WaterModels)))
data = WM.parse_file(joinpath(basepath, "test/data/epanet/van_zyl.inp"))
IM.load_timepoint!(data, 1)

WMA.write_visualization(data, "van_zyl_wm")