def test_json_basic(net_in, tmp_path): # tests the basic json functionality with the encoder/decoder classes filename = os.path.abspath(str(tmp_path)) + "testfile.json" with open(filename, 'w') as fp: json.dump(net_in, fp, cls=PPJSONEncoder) with open(filename) as fp: net_out = json.load(fp, cls=PPJSONDecoder) pp.convert_format(net_out) assert_net_equal(net_in, net_out)
def test_convert_format(version): filename = os.path.join(folder, "example_%s.json"%version) if not os.path.isfile(filename): raise ValueError("File for version %s does not exist"%version) try: net = pp.from_json(filename, convert=False) except: raise UserWarning("Can not load network saved in pandapower version %s"%version) vm_pu_old = net.res_bus.vm_pu.copy() pp.convert_format(net) try: pp.runpp(net) except: raise UserWarning("Can not run power flow in network saved with pandapower version %s"%version) if not np.allclose(vm_pu_old.values, net.res_bus.vm_pu.values): raise UserWarning("Power flow results mismatch with pandapower version %s"%version)
def test_convert_format_pq_bus_meas(): net = pp.from_json(os.path.join(folder, "example_2.3.1.json"), convert=False) net = pp.convert_format(net) pp.runpp(net) bus_p_meas = net.measurement.query( "element_type=='bus' and measurement_type=='p'").set_index("element", drop=True) assert np.allclose(net.res_bus.p_mw, bus_p_meas["value"])
def test_convert_format(version): filename = os.path.join(folder, "example_%s.json" % version) if not os.path.isfile(filename): raise ValueError("File for version %s does not exist" % version) try: net = pp.from_json(filename, convert=False) if ('version' in net) and (vs.parse(str(net.version)) > vs.parse('2.0.1')): _ = pp.from_json(filename, elements_to_deserialize=['bus', 'load']) except: raise UserWarning( "Can not load network saved in pandapower version %s" % version) vm_pu_old = net.res_bus.vm_pu.copy() pp.convert_format(net) try: pp.runpp(net, run_control="controller" in net and len(net.controller) > 0) except: raise UserWarning("Can not run power flow in network " "saved with pandapower version %s" % version) if not np.allclose(vm_pu_old.values, net.res_bus.vm_pu.values): raise UserWarning("Power flow results mismatch " "with pandapower version %s" % version)
import pandapower as pp import pandapower.networks as pn import numpy as np import pandapower.plotting as plot import matplotlib.pyplot as plt from pandapower.plotting.plotly import vlevel_plotly import pandas as pd net = pn.create_cigre_network_lv() net plot.simple_plot(net, show_plot=True) vlevel_plotly(net) #del net.bus_geodata pp.convert_format(net) pp.to_excel(net, "examplecigrelow.xlsx") netcoords = net.bus_geodata netcoords.to_excel('cigrecoords.xlsx') netlv = pp.from_excel("final code/examplecigrelow.xlsx") #lv.bus_geodata #del netlv.bus_geodata netlv plot.simple_plot(netlv, show_plot=True) vlevel_plotly(netlv) #vlevel_plotly(net) netlv net