def test_suburb_1():
    net = pn.create_synthetic_voltage_control_lv_network('suburb_1')
    assert abs(net.line.length_km.sum() - 4.897) < 1e-6
    assert abs(net.load.p_mw.sum() - 578.3e-3) < 1e-6
    assert len(net.bus.index) == 204
    assert len(net.line.index) == 202
    assert len(net.trafo.index) == 1
    pp.runpp(net)
    assert net.converged
def test_village_2():
    net = pn.create_synthetic_voltage_control_lv_network('village_2')
    assert abs(net.line.length_km.sum() - 1.832) < 1e-6
    assert abs(net.load.p_mw.sum() - 183.6e-3) < 1e-6
    assert len(net.bus.index) == 74
    assert len(net.line.index) == 72
    assert len(net.trafo.index) == 1
    pp.runpp(net)
    assert net.converged
def test_village_1():
    net = pn.create_synthetic_voltage_control_lv_network('village_1')
    assert abs(net.line.length_km.sum() - 2.6) < 1e-6
    assert abs(net.load.p_mw.sum() - 262.1e-3) < 1e-6
    assert len(net.bus.index) == 80
    assert len(net.line.index) == 78
    assert len(net.trafo.index) == 1
    pp.runpp(net)
    assert net.converged
def test_rural_2():
    net = pn.create_synthetic_voltage_control_lv_network('rural_2')
    assert abs(net.line.length_km.sum() - 0.567) < 1e-6
    assert abs(net.load.p_mw.sum() - 64.5e-3) < 1e-6
    assert len(net.bus.index) == 18
    assert len(net.line.index) == 16
    assert len(net.trafo.index) == 1
    pp.runpp(net)
    assert net.converged
def test_rural_1():
    net = pn.create_synthetic_voltage_control_lv_network('rural_1')
    assert abs(net.line.length_km.sum() - 1.616) < 1e-6
    assert abs(net.load.p_mw.sum() - 77e-3) < 1e-6
    assert len(net.bus.index) == 26
    assert len(net.line.index) == 24
    assert len(net.trafo.index) == 1
    pp.runpp(net)
    assert net.converged
""" Pandapower tutorial on Colormaps.
Date: 3/June/2021
"""
import pandapower as pp
import pandapower.networks as nw
import pandapower.plotting as plot
import matplotlib.pyplot as plt
import numpy as np

# load network case
# net = nw.mv_oberrhein()
# net=nw.case33bw()
net = nw.create_synthetic_voltage_control_lv_network(network_class='rural_1')
# run pf
pp.runpp(net)


def plot_network(net):
    # create buses ID
    buses = net.bus.index.tolist()  # list of all bus indices
    coords = zip(net.bus_geodata.x.loc[buses].values + 0.15,
                 net.bus_geodata.y.loc[buses].values +
                 0.07)  # tuples of all bus coords
    bic = plot.create_annotation_collection(size=0.2,
                                            texts=np.char.mod('%d', buses),
                                            coords=coords,
                                            zorder=3,
                                            color="black")
    # creating a color function to get a linear a colormap with color centers green at 30%, yellow at 50% and red at 60%
    # line loading
    cmap_list_lines = [(20, "green"), (50, "yellow"), (60, "red")]