Commit 544adbc6 authored by Jan Dinkelbach's avatar Jan Dinkelbach

refactoring example script for comparison of neplan and dpsim results

parent 1cd070f7
...@@ -2,33 +2,31 @@ from villas.dataprocessing.readtools import * ...@@ -2,33 +2,31 @@ from villas.dataprocessing.readtools import *
from villas.dataprocessing.timeseries import * from villas.dataprocessing.timeseries import *
import villas.dataprocessing.validationtools as validationtools import villas.dataprocessing.validationtools as validationtools
# reference rtf data directory # Path to NEPLAN result file (power flow result in *.rlf format)
file=r"..\..\..\reference-results\Neplan\ReferenceGrids\CIGRE_MV_NoTap.rlf" neplan_result_file=r"D:\git\data\reference-results\Neplan\ReferenceGrids\CIGRE_MV_NoTap.rlf"
# Read in NEPLAN data # Path to DPsim result file (power flow result in *.csv format)
dpsim_result_file = "D:\\git\\code\\dpsim-powerflow-integration\\dpsim\\build\\Dependencies\\fpotencia\\src\\test\\Logs\\CIGRE-MV-NoTap-Neplan.csv"
print('************************ Test for read in all variable start ****************') # Read in NEPLAN results
ts_NEPLAN = read_timeseries_NEPLAN_loadflow(file) print('************************ reading neplan power flow data start ****************')
ts_NEPLAN = read_timeseries_NEPLAN_loadflow(neplan_result_file)
for i in range(len(ts_NEPLAN)): for i in range(len(ts_NEPLAN)):
print('%s is %s' % (ts_NEPLAN[i].name, ts_NEPLAN[i].values)) # result as list of TimeSeries print('%s is %s' % (ts_NEPLAN[i].name, ts_NEPLAN[i].values)) # result as list of TimeSeries
print('************************ Test for read in all variable end ****************') print('************************ reading neplan power flow data end ****************')
print('\n') print('\n')
# Read in CIM powerflow data # Read in DPsim powerflow results
print('************************ reading dpsim power flow data start ****************') print('************************ reading dpsim power flow data start ****************')
path = "D:\\HiWi_ACS\\dpsim_jzh_pfinteg\\dpsim\\build\\Dependencies\\fpotencia\\src\\test\\Logs\\" ts_dpsim = read_timeseries_csv(dpsim_result_file)
logName = 'CIGRE-MV-NoTap-Neplan';
dataType = '.csv';
logFilename = path + logName + dataType;
ts_dpsim = read_timeseries_csv(logFilename)
for ts,values in ts_dpsim.items(): for ts,values in ts_dpsim.items():
ts_abs = values.abs(ts + '.Vpp') ts_abs = values.abs(ts + '.Vpp')
ts_phase = values.phase(ts + '.Vangle') ts_phase = values.phase(ts + '.Vangle')
print(ts_abs.name + ': ' + str(ts_abs.values) + '\n' +ts_phase.name+' :'+ str(ts_phase.values)) print(ts_abs.name + ': ' + str(ts_abs.values) + '\n' +ts_phase.name+' :'+ str(ts_phase.values))
print('************************ reading dpsim power flow data end ****************') print('************************ reading dpsim power flow data end ****************')
# compare CIM-pf data with NEPLAN # Converting both timeseries objects to a common format (here the Modelica format) and afterwards compare and assert the results
net_name='WSCC-9bus' net_name='CIGRE_MV_NoTap'
threshold=0.5 threshold=0.5
print('************************ convert neplan to modelica start ****************') print('************************ convert neplan to modelica start ****************')
res_ref=validationtools.convert_neplan_to_modelica_timeseries(ts_NEPLAN) res_ref=validationtools.convert_neplan_to_modelica_timeseries(ts_NEPLAN)
...@@ -37,16 +35,12 @@ for i in range(len(res_ref)): ...@@ -37,16 +35,12 @@ for i in range(len(res_ref)):
print(res_ref[i].values) print(res_ref[i].values)
print('************************ convert neplan to modelica end ****************') print('************************ convert neplan to modelica end ****************')
print('************************ convert dpsim to modelica start ****************') print('************************ convert dpsim to modelica start ****************')
ts_dpsimList=validationtools.convert_dpsim_to_modelica_timeseries(ts_dpsim) ts_dpsimList=validationtools.convert_dpsim_to_modelica_timeseries(ts_dpsim)
for i in range(len(ts_dpsimList)): for i in range(len(ts_dpsimList)):
print(ts_dpsimList[i].name) print(ts_dpsimList[i].name)
print(ts_dpsimList[i].values) print(ts_dpsimList[i].values)
print('************************ convert dpsim to modelica end ****************') print('************************ convert dpsim to modelica end ****************')
res_err=validationtools.compare_timeseries(res_ref,ts_dpsimList) res_err=validationtools.compare_timeseries(res_ref,ts_dpsimList)
validationtools.assert_modelia_results(net_name,res_err,threshold) validationtools.assert_modelia_results(net_name,res_err,threshold)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment