From 6eba20c78589c1919e67b7ce88b62f50a5cf79f5 Mon Sep 17 00:00:00 2001 From: Jonas Paul Brucksch <jonas.brucksch@isea.rwth-aachen.de> Date: Mon, 10 Apr 2023 08:28:04 +0200 Subject: [PATCH] Add missing building configs for scenario analysis --- .../AC_0_PV8.0_STR/components.csv | 7 +++++ .../AC_0_PV8.0_STR/config.csv | 2 ++ .../AC_0_PV8.0_STR/connections.csv | 11 ++++++++ .../A_16_PV9.0/components.csv | 5 ++++ .../A_16_PV9.0/config.csv | 2 ++ .../A_16_PV9.0/connections.csv | 9 +++++++ .../A_4_PV9.0_STR/components.csv | 7 +++++ .../A_4_PV9.0_STR/config.csv | 2 ++ .../A_4_PV9.0_STR/connections.csv | 11 ++++++++ runme.py | 26 +++++++++++++------ 10 files changed, 74 insertions(+), 8 deletions(-) create mode 100644 input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/components.csv create mode 100644 input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/config.csv create mode 100644 input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/connections.csv create mode 100644 input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/components.csv create mode 100644 input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/config.csv create mode 100644 input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/connections.csv create mode 100644 input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/components.csv create mode 100644 input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/config.csv create mode 100644 input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/connections.csv diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/components.csv b/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/components.csv new file mode 100644 index 0000000000..fa80863238 --- /dev/null +++ b/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/components.csv @@ -0,0 +1,7 @@ +name,name,type,model,min_size,max_size,current_size +pv_roof,pv_roof,PVGenerator,PV2,7.5034625,7.5034625,0.0 +inv_pv,inv_pv,StaticInverter,INVPV,7.5034625,7.5034625,0.0 +battery,battery,LiionBattery,BAT1,0.0,1000.0,0.0 +grd,grd,ElectricalGrid,GRD1,1000000.0,1000000.0,0.0 +elec_cns,elec_cns,ElectricalConsumption,,,, +inv_bat,inv_bat,StaticBiInverter,INVBAT,0.0,1000.0,0.0 diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/config.csv b/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/config.csv new file mode 100644 index 0000000000..975002f601 --- /dev/null +++ b/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/config.csv @@ -0,0 +1,2 @@ +grd_injection_price,gas_grd_price,grd_price,gas_grd_injection_price,grd_emission,gas_grd_emission,yearly_interest,planning_horizon +0.0793,0.0606,0.3046,0,0.401,0.21,0.03,20 diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/connections.csv b/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/connections.csv new file mode 100644 index 0000000000..20bc94fbda --- /dev/null +++ b/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/connections.csv @@ -0,0 +1,11 @@ +,from,output,to,input +0,pv_roof,1,inv_pv,1 +1,inv_pv,1,grd,1 +2,inv_pv,1,elec_cns,1 +3,inv_pv,1,battery,1 +4,battery,1,inv_bat,2 +5,grd,1,elec_cns,1 +6,grd,1,inv_bat,1 +7,inv_bat,2,battery,1 +8,inv_bat,1,grd,1 +9,inv_bat,1,elec_cns,1 diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/components.csv b/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/components.csv new file mode 100644 index 0000000000..765a12fcfc --- /dev/null +++ b/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/components.csv @@ -0,0 +1,5 @@ +name,name,type,model,min_size,max_size,current_size +pv_roof,pv_roof,PVGenerator,PV2,8.962421829,8.962421829,0.0 +inv_pv,inv_pv,StaticInverter,INVPV,8.962421829,8.962421829,0.0 +grd,grd,ElectricalGrid,GRD1,1000000.0,1000000.0,0.0 +elec_cns,elec_cns,ElectricalConsumption,,,, diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/config.csv b/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/config.csv new file mode 100644 index 0000000000..975002f601 --- /dev/null +++ b/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/config.csv @@ -0,0 +1,2 @@ +grd_injection_price,gas_grd_price,grd_price,gas_grd_injection_price,grd_emission,gas_grd_emission,yearly_interest,planning_horizon +0.0793,0.0606,0.3046,0,0.401,0.21,0.03,20 diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/connections.csv b/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/connections.csv new file mode 100644 index 0000000000..5df171b0e1 --- /dev/null +++ b/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/connections.csv @@ -0,0 +1,9 @@ +,from,output,to,input +0,pv_roof,1,inv_pv,1 +1,inv_pv,1,grd,1 +2,inv_pv,1,elec_cns,1 +3,inv_pv,1,battery,1 +5,grd,1,elec_cns,1 +6,grd,1,inv_bat,1 + + diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/components.csv b/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/components.csv new file mode 100644 index 0000000000..7ef9374f36 --- /dev/null +++ b/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/components.csv @@ -0,0 +1,7 @@ +name,name,type,model,min_size,max_size,current_size +pv_roof,pv_roof,PVGenerator,PV2,8.962421829,8.962421829,0.0 +inv_pv,inv_pv,StaticInverter,INVPV,8.962421829,8.962421829,0.0 +grd,grd,ElectricalGrid,GRD1,1000000.0,1000000.0,0.0 +elec_cns,elec_cns,ElectricalConsumption,,,, +inv_bat,inv_bat,StaticBiInverter,INVBAT,0.0,1000.0,0.0 +battery,battery,LiionBattery,BAT1,0.0,1000.0,0.0 diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/config.csv b/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/config.csv new file mode 100644 index 0000000000..975002f601 --- /dev/null +++ b/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/config.csv @@ -0,0 +1,2 @@ +grd_injection_price,gas_grd_price,grd_price,gas_grd_injection_price,grd_emission,gas_grd_emission,yearly_interest,planning_horizon +0.0793,0.0606,0.3046,0,0.401,0.21,0.03,20 diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/connections.csv b/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/connections.csv new file mode 100644 index 0000000000..20bc94fbda --- /dev/null +++ b/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/connections.csv @@ -0,0 +1,11 @@ +,from,output,to,input +0,pv_roof,1,inv_pv,1 +1,inv_pv,1,grd,1 +2,inv_pv,1,elec_cns,1 +3,inv_pv,1,battery,1 +4,battery,1,inv_bat,2 +5,grd,1,elec_cns,1 +6,grd,1,inv_bat,1 +7,inv_bat,2,battery,1 +8,inv_bat,1,grd,1 +9,inv_bat,1,elec_cns,1 diff --git a/runme.py b/runme.py index e1040cc5de..67f2bbbabc 100644 --- a/runme.py +++ b/runme.py @@ -24,21 +24,31 @@ def extract_base_name(s): # Define a function to split strings and extract base names def extract_str_name(s): splits = s.split("_") - if len(splits) == 3 and 'STR' in splits[2]: # only storage in prosumer -> return original - return s - elif len(splits) == 3 and 'PV' in splits[2]: # only pv in prosumer --> add storage + if len(splits) == 3 and 'PV' in splits[2]: # only PV in prosumer --> add storage return s + '_STR' - else: # pv and storage in prosumer --> return original + elif len(splits) == 3 and 'STR' in splits[2]: + if 'A_16' in s or 'A_4' in s or 'A_11 in s': # only storage --> add PV + pv_size = str(9.0) + elif 'A_14' in s: + pv_size = str(10.0) + return splits[0] + "_" + splits[1] + "_PV" + pv_size + '_STR' + else: # pv and storage already included return s # Define a function to split strings and extract base names def extract_pv_name(s): splits = s.split("_") - if len(splits) > 2 and 'PV' in splits[2]: # only give back pv system - return splits[0] + "_" + splits[1] + "_" + splits[2] - else: # there is a storage in the prosumer --> exclude it - return splits[0] + "_" + splits[1] + if len(splits) == 3 and 'PV' in splits[2]: # only give back pv system + return s + elif len(splits) == 3 and 'STR' in splits[2]: + if 'A_16' in s or 'A_4' in s or 'A_11' in s: # only storage --> add PV + pv_size= str(9.0) + elif 'A_14' in s: + pv_size = str(10.0) + return splits[0] + "_" + splits[1] + "_PV" + pv_size + else: # pv and storage already included + return s simulation_scope = SimulationScope.DISTRICT t_start = pd.Timestamp("2019-01-01 00:00:00") # start time of simulation -- GitLab