From a4e03edfcd0db11b960937d77c4b6de70b332a3a Mon Sep 17 00:00:00 2001 From: Bichen Li <bichen.li@eonerc.rwth-aachen.de> Date: Fri, 20 Apr 2018 12:40:22 +0200 Subject: [PATCH] -Correct the file name, use comparison as function --- .../CompareResults/compare_madelica_neplan.py | 55 ------------------ .../CompareResults/compare_modelica_neplan.py | 56 +++++++++++++++++++ 2 files changed, 56 insertions(+), 55 deletions(-) delete mode 100644 examples/CompareResults/compare_madelica_neplan.py create mode 100644 examples/CompareResults/compare_modelica_neplan.py diff --git a/examples/CompareResults/compare_madelica_neplan.py b/examples/CompareResults/compare_madelica_neplan.py deleted file mode 100644 index cf43105..0000000 --- a/examples/CompareResults/compare_madelica_neplan.py +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/python -# -*- coding: UTF-8 -*- -import re - -from dataprocessing.readtools import * -from readin import read_timeseries_NEPLAN_loadflow1 - -# Read in original nepaln result file -file_Neplan = r"C:\Users\admin\Desktop\Slack_RxLine_PVNode\Slack_RxLine_PVNode.rlf" -# Read in original Modeliac result file -file_Modelica = r"C:\Users\admin\Desktop\Slack_RxLine_PVNode\Slack_RxLine_PVNode.mat" -result_neplan = read_timeseries_NEPLAN_loadflow1(file_Neplan) -result_modelica = read_timeseries_Modelica(file_Modelica) - -# neplan result output -f_neplan = open(r"C:\Users\admin\Desktop\Slack_RxLine_PVNode\Slack_RxLine_PVNode_neplan.txt", "w") -# modelica result output -f_modelica = open(r"C:\Users\admin\Desktop\Slack_RxLine_PVNode\Slack_RxLine_PVNode_modelica.txt", "w") -# error result output -f_error = open(r"C:\Users\admin\Desktop\Slack_RxLine_PVNode\output_error_modelica-neplan.txt", "w") -list_del = [] -for i in range(len(result_neplan)): - result_neplan[i].name = result_neplan[i].name.replace(' ', '') - result_neplan[i].name = result_neplan[i].name.upper() - if 'ANGLE' in result_neplan[i].name: - pass - else: - result_neplan[i].values = result_neplan[i].values * 1000 # unification of the unit,which is kV/kA in neplan - f_neplan.write('%s is %s \n' % (result_neplan[i].name, result_neplan[i].values[0])) # result as list of TimeSeries - -for i in range(len(result_modelica)): - result_modelica[i].name = result_modelica[i].name.upper() - if 'ANGLE' in result_modelica[i].name: - result_modelica[i].values = result_modelica[i].values / cmath.pi * 180 # unification of the unit - f_modelica.write('%s is %s \n' % (result_modelica[i].name, result_modelica[i].values[1])) - -timeseries_error = [] # list for error - -len_limit = len(result_modelica) -for i in range(len(result_neplan)): - flag_NOT_found = False - for j in range(len_limit): - if result_neplan[i].name == result_modelica[j].name: # Find the same variable - timeseries_error.append(TimeSeries(result_neplan[i].name, result_modelica[j].time, - TimeSeries.rmse(result_modelica[j], result_neplan[i]))) - j = len_limit + 1 - flag_NOT_found = True - if not flag_NOT_found: - timeseries_error.append(TimeSeries(result_neplan[i].name, 0, -1)) - # No such variable in Modelica model, set the error to -1 - - f_error.write('Error of %s is %f \n Base value' - ' of %s is %s \n\n' % (timeseries_error[i].name, timeseries_error[i].values, - timeseries_error[i].name, result_neplan[i].values[0])) - diff --git a/examples/CompareResults/compare_modelica_neplan.py b/examples/CompareResults/compare_modelica_neplan.py new file mode 100644 index 0000000..020e3b4 --- /dev/null +++ b/examples/CompareResults/compare_modelica_neplan.py @@ -0,0 +1,56 @@ +#!/usr/bin/python +# -*- coding: UTF-8 -*- +import re + +from dataprocessing.readtools import * + +def compare_modelica_neplan(Net_Name): + # Read in original nepaln result file + file_Neplan = os.path.abspath("C:/Users/admin/Desktop/" + Net_Name + "/" + Net_Name + ".rlf") + # Read in original Modelica result file + file_Modelica = os.path.abspath("C:/Users/admin/Desktop/" + Net_Name + "/" + Net_Name + ".mat") + result_neplan = read_timeseries_NEPLAN_loadflow(file_Neplan) + result_modelica = read_timeseries_Modelica(file_Modelica) + + # neplan result output + f_neplan = open(os.path.abspath("C:/Users/admin/Desktop/" + Net_Name + "/" + Net_Name + "_neplan.txt"), "w") + # modelica result output + f_modelica = open(os.path.abspath("C:/Users/admin/Desktop/" + Net_Name + "/" + Net_Name + "_modelica.txt"), "w") + # error result output + f_error = open(os.path.abspath("C:/Users/admin/Desktop/" + Net_Name + "/" + Net_Name + + "_error_modelica_neplan.txt"), "w") + list_del = [] + for i in range(len(result_neplan)): + result_neplan[i].name = result_neplan[i].name.replace(' ', '') + result_neplan[i].name = result_neplan[i].name.upper() + if 'ANGLE' in result_neplan[i].name: + pass + else: + result_neplan[i].values = result_neplan[i].values * 1000 # unification of the unit,which is kV/kA in neplan + f_neplan.write( + '%s is %s \n' % (result_neplan[i].name, result_neplan[i].values[0])) # result as list of TimeSeries + + for i in range(len(result_modelica)): + result_modelica[i].name = result_modelica[i].name.upper() + if 'ANGLE' in result_modelica[i].name: + result_modelica[i].values = result_modelica[i].values / cmath.pi * 180 # unification of the unit + f_modelica.write('%s is %s \n' % (result_modelica[i].name, result_modelica[i].values[1])) + + timeseries_error = [] # list for error + + len_limit = len(result_modelica) + for i in range(len(result_neplan)): + flag_NOT_found = False + for j in range(len_limit): + if result_neplan[i].name == result_modelica[j].name: # Find the same variable + timeseries_error.append(TimeSeries(result_neplan[i].name, result_modelica[j].time, + TimeSeries.rmse(result_modelica[j], result_neplan[i]))) + j = len_limit + 1 + flag_NOT_found = True + if not flag_NOT_found: + timeseries_error.append(TimeSeries(result_neplan[i].name, 0, -1)) + # No such variable in Modelica model, set the error to -1 + + f_error.write('Error of %s is %f \n Base value' + ' of %s is %s \n\n' % (timeseries_error[i].name, timeseries_error[i].values, + timeseries_error[i].name, result_neplan[i].values[0])) -- GitLab