popo#

popo is a Python library for simulating and estimating the state of low-voltage distribution networks.

Apache 2.0
Install pip install "popo-flow[all]"
Tutorial 01's six-house network at peak load, each bus coloured by voltage status.

Model

Load an OpenDSS circuit as Python records, read its results back as tables by element and phase, and check every voltage against a named standard.

Read the user guide
Voltage over two days at 80% PV: the substation busbar stays near 1.04 pu while the most exposed customer rises above the 1.10 pu limit.

Simulate

Step a feeder through household, PV and EV profiles, recording transformer power, feeder-head power and every customer's voltage at each step.

Read the user guide
True and estimated voltage at each of the feeder's buses, ordered by true voltage; the two agree throughout.

Estimate

Convert a feeder to pandapower, check that the measurements can determine its state, and estimate the voltage at every bus by weighted least squares.

Read the user guide

How the parts fit together

A feeder simulated forward under rooftop solar and EV uptake, and its state estimated from the measurements available.

popo is Swahili for bat. It is developed alongside twiga (Swahili for giraffe), a forecasting library.