From b211540e03789d724b3504401d2cb8aa52e3ffef Mon Sep 17 00:00:00 2001 From: "christoph.von.oy" <christoph.von.oy@rwth-aachen.de> Date: Tue, 23 Apr 2024 13:15:11 +0200 Subject: [PATCH] Profiles use numpy arrays now --- Model_Library | 2 +- Tooling | 2 +- examples/BusChargingDepot/runme.py | 3 +- examples/BusChargingHPC/runme.py | 51 +++++++++++----------- examples/BusChargingIMC/runme.py | 3 +- examples/aggregation/runme.py | 69 ++++++++++++++---------------- examples/complex_prosumer/runme.py | 3 +- examples/district/runme.py | 3 +- examples/simple_prosumer/runme.py | 3 +- 9 files changed, 70 insertions(+), 69 deletions(-) diff --git a/Model_Library b/Model_Library index bd30f6883a..a5e9a3ab75 160000 --- a/Model_Library +++ b/Model_Library @@ -1 +1 @@ -Subproject commit bd30f6883a18b671970e99c2d64e3ef7ffe6e2cf +Subproject commit a5e9a3ab750522285e6198cd4156bf01fffcb94a diff --git a/Tooling b/Tooling index 18a1cbc81b..380d9f65b8 160000 --- a/Tooling +++ b/Tooling @@ -1 +1 @@ -Subproject commit 18a1cbc81bdf847a5d288cce58e4fd100ba3733c +Subproject commit 380d9f65b85ebf7da92f72727e5fba6ec0b62887 diff --git a/examples/BusChargingDepot/runme.py b/examples/BusChargingDepot/runme.py index 64240dba13..87ab7839ce 100644 --- a/examples/BusChargingDepot/runme.py +++ b/examples/BusChargingDepot/runme.py @@ -29,10 +29,11 @@ from Tooling.input_profile_processor.input_profile_processor import ( ) import json +import numpy as np import pandas as pd t_start = pd.Timestamp("2019-05-10 00:00:00") -dynamic = TrivialDynamic([60 for i in range(24 * 60 - 1)]) +dynamic = TrivialDynamic(np.full(24 * 60 - 1, 60, dtype=int)) input_profile_dict = { "bus_1_demand": {"type": "electricity_demand", "file": "bus_1_demand.csv"}, diff --git a/examples/BusChargingHPC/runme.py b/examples/BusChargingHPC/runme.py index 8d6f4bc7b4..692fd09100 100644 --- a/examples/BusChargingHPC/runme.py +++ b/examples/BusChargingHPC/runme.py @@ -29,10 +29,11 @@ from Tooling.input_profile_processor.input_profile_processor import ( ) import json +import numpy as np import pandas as pd t_start = pd.Timestamp("2019-05-10 00:00:00") -dynamic = TrivialDynamic([60 for i in range(24 * 60 - 1)]) +dynamic = TrivialDynamic(np.full(24 * 60 - 1, 60, dtype=int)) input_profile_dict = { "bus_1_demand": {"type": "electricity_demand", "file": "bus_1_demand.csv"}, @@ -66,30 +67,30 @@ prosumer_json["components"]["bus_1_generation"]["generation"] = input_profiles[ prosumer_json["components"]["bus_2_generation"]["generation"] = input_profiles[ "bus_2_recuperation" ] -prosumer_json["additional_model_logic"]["charger_1_enable"]["enable"] = input_profiles[ - "bus_1_connected" -].values.loc[:, "Connected to depot"] -prosumer_json["additional_model_logic"]["charger_2_enable"]["enable"] = input_profiles[ - "bus_2_connected" -].values.loc[:, "Connected to depot"] -prosumer_json["additional_model_logic"]["HPC_1_bus_1_enable"][ - "enable" -] = input_profiles["bus_1_connected"].values.loc[:, "Connected to HPC 1"] -prosumer_json["additional_model_logic"]["HPC_1_bus_2_enable"][ - "enable" -] = input_profiles["bus_1_connected"].values.loc[:, "Connected to HPC 2"] -prosumer_json["additional_model_logic"]["HPC_2_bus_1_enable"][ - "enable" -] = input_profiles["bus_1_connected"].values.loc[:, "Connected to HPC 3"] -prosumer_json["additional_model_logic"]["HPC_2_bus_2_enable"][ - "enable" -] = input_profiles["bus_2_connected"].values.loc[:, "Connected to HPC 1"] -prosumer_json["additional_model_logic"]["HPC_3_bus_1_enable"][ - "enable" -] = input_profiles["bus_2_connected"].values.loc[:, "Connected to HPC 2"] -prosumer_json["additional_model_logic"]["HPC_3_bus_2_enable"][ - "enable" -] = input_profiles["bus_2_connected"].values.loc[:, "Connected to HPC 3"] +prosumer_json["additional_model_logic"]["charger_1_enable"]["enable"] = ( + input_profiles["bus_1_connected"].values.loc[:, "Connected to depot"].values +) +prosumer_json["additional_model_logic"]["charger_2_enable"]["enable"] = ( + input_profiles["bus_2_connected"].values.loc[:, "Connected to depot"].values +) +prosumer_json["additional_model_logic"]["HPC_1_bus_1_enable"]["enable"] = ( + input_profiles["bus_1_connected"].values.loc[:, "Connected to HPC 1"].values +) +prosumer_json["additional_model_logic"]["HPC_1_bus_2_enable"]["enable"] = ( + input_profiles["bus_1_connected"].values.loc[:, "Connected to HPC 2"].values +) +prosumer_json["additional_model_logic"]["HPC_2_bus_1_enable"]["enable"] = ( + input_profiles["bus_1_connected"].values.loc[:, "Connected to HPC 3"].values +) +prosumer_json["additional_model_logic"]["HPC_2_bus_2_enable"]["enable"] = ( + input_profiles["bus_2_connected"].values.loc[:, "Connected to HPC 1"].values +) +prosumer_json["additional_model_logic"]["HPC_3_bus_1_enable"]["enable"] = ( + input_profiles["bus_2_connected"].values.loc[:, "Connected to HPC 2"].values +) +prosumer_json["additional_model_logic"]["HPC_3_bus_2_enable"]["enable"] = ( + input_profiles["bus_2_connected"].values.loc[:, "Connected to HPC 3"].values +) prosumer = Prosumer("LaTreille", prosumer_json, dynamic) diff --git a/examples/BusChargingIMC/runme.py b/examples/BusChargingIMC/runme.py index 18dc9c02fc..d8b3408bf2 100644 --- a/examples/BusChargingIMC/runme.py +++ b/examples/BusChargingIMC/runme.py @@ -29,10 +29,11 @@ from Tooling.input_profile_processor.input_profile_processor import ( ) import json +import numpy as np import pandas as pd t_start = pd.Timestamp("2019-05-10 00:00:00") -dynamic = TrivialDynamic([60 for i in range(24 * 60 - 1)]) +dynamic = TrivialDynamic(np.full(24 * 60 - 1, 60, dtype=int)) input_profile_dict = { "bus_1_demand": {"type": "electricity_demand", "file": "bus_1_demand.csv"}, diff --git a/examples/aggregation/runme.py b/examples/aggregation/runme.py index 9371b53af9..30323cbc71 100644 --- a/examples/aggregation/runme.py +++ b/examples/aggregation/runme.py @@ -29,10 +29,11 @@ from Tooling.input_profile_processor.input_profile_processor import ( ) import json +import numpy as np import pandas as pd t_start = pd.Timestamp("2019-01-01 00:00:00") -dynamic = TrivialDynamic([3600 for i in range(240)]) +dynamic = TrivialDynamic(np.full(240, 3600, dtype=int)) input_profile_dict = { "irradiance": {"type": "irradiance", "file": "irradiance.csv"}, @@ -48,57 +49,51 @@ input_profiles = process_input_profiles(input_profile_dict, t_start, dynamic) aggregated_dynamic = AggregatedDynamic( dynamic, [[12, 1, 11], [7, 8, 9]], [0, 0, 1, 1, 0, 1, 0, 1, 1, 0] ) -irradiance_1 = pd.Series( +irradiance_1 = np.array( [ - input_profiles["irradiance"].values.loc[0:11].sum() / 12, - input_profiles["irradiance"].values.loc[12], - input_profiles["irradiance"].values.loc[13:23].sum() / 11, - ], - index=[0, 12, 13], + input_profiles["irradiance"].values[0:12].sum() / 12.0, + input_profiles["irradiance"].values[12], + input_profiles["irradiance"].values[13:24].sum() / 11.0, + ] ) -irradiance_2 = pd.Series( +irradiance_2 = np.array( [ - input_profiles["irradiance"].values.loc[24:30].sum() / 7, - input_profiles["irradiance"].values.loc[31:38].sum() / 8, - input_profiles["irradiance"].values.loc[49:47].sum() / 9, - ], - index=[0, 7, 15], + input_profiles["irradiance"].values[24:31].sum() / 7.0, + input_profiles["irradiance"].values[31:39].sum() / 8.0, + input_profiles["irradiance"].values[49:48].sum() / 9.0, + ] ) aggregated_irradiance = Profile({0: irradiance_1, 1: irradiance_2}, aggregated_dynamic) -temperature_1 = pd.Series( +temperature_1 = np.array( [ - input_profiles["temperature"].values.loc[0:11].sum() / 12, - input_profiles["temperature"].values.loc[12], - input_profiles["temperature"].values.loc[13:23].sum() / 11, - ], - index=[0, 12, 13], + input_profiles["temperature"].values[0:12].sum() / 12.0, + input_profiles["temperature"].values[12], + input_profiles["temperature"].values[13:24].sum() / 11.0, + ] ) -temperature_2 = pd.Series( +temperature_2 = np.array( [ - input_profiles["temperature"].values.loc[24:30].sum() / 7, - input_profiles["temperature"].values.loc[31:38].sum() / 8, - input_profiles["temperature"].values.loc[49:47].sum() / 9, - ], - index=[0, 7, 15], + input_profiles["temperature"].values[24:31].sum() / 7.0, + input_profiles["temperature"].values[31:39].sum() / 8.0, + input_profiles["temperature"].values[49:48].sum() / 9.0, + ] ) aggregated_temperature = Profile( {0: temperature_1, 1: temperature_2}, aggregated_dynamic ) -electricity_demand_1 = pd.Series( +electricity_demand_1 = np.array( [ - input_profiles["electricity_demand"].values.loc[0:11].sum() / 12, - input_profiles["electricity_demand"].values.loc[12], - input_profiles["electricity_demand"].values.loc[13:23].sum() / 11, - ], - index=[0, 12, 13], + input_profiles["electricity_demand"].values[0:12].sum() / 12.0, + input_profiles["electricity_demand"].values[12], + input_profiles["electricity_demand"].values[13:24].sum() / 11.0, + ] ) -electricity_demand_2 = pd.Series( +electricity_demand_2 = np.array( [ - input_profiles["electricity_demand"].values.loc[24:30].sum() / 7, - input_profiles["electricity_demand"].values.loc[31:38].sum() / 8, - input_profiles["electricity_demand"].values.loc[49:47].sum() / 9, - ], - index=[0, 7, 15], + input_profiles["electricity_demand"].values[24:31].sum() / 7.0, + input_profiles["electricity_demand"].values[31:39].sum() / 8.0, + input_profiles["electricity_demand"].values[49:48].sum() / 9.0, + ] ) aggregated_electricity_demand = Profile( {0: electricity_demand_1, 1: electricity_demand_2}, aggregated_dynamic diff --git a/examples/complex_prosumer/runme.py b/examples/complex_prosumer/runme.py index f8a8e9e2bb..41515faf8f 100644 --- a/examples/complex_prosumer/runme.py +++ b/examples/complex_prosumer/runme.py @@ -29,10 +29,11 @@ from Tooling.input_profile_processor.input_profile_processor import ( ) import json +import numpy as np import pandas as pd t_start = pd.Timestamp("2019-01-01 00:00:00") -dynamic = TrivialDynamic([3600 for i in range(24)]) +dynamic = TrivialDynamic(np.full(24, 3600, dtype=int)) input_profile_dict = { "irradiance": {"type": "irradiance", "file": "irradiance.csv"}, diff --git a/examples/district/runme.py b/examples/district/runme.py index 970cae69c4..698d0218ed 100644 --- a/examples/district/runme.py +++ b/examples/district/runme.py @@ -29,10 +29,11 @@ from Tooling.input_profile_processor.input_profile_processor import ( ) import json +import numpy as np import pandas as pd t_start = pd.Timestamp("2019-05-10 00:00:00") -dynamic = TrivialDynamic([3600 for i in range(24)]) +dynamic = TrivialDynamic(np.full(24, 3600, dtype=int)) input_profile_dict = { "irradiance": {"type": "irradiance", "file": "irradiance.csv"}, diff --git a/examples/simple_prosumer/runme.py b/examples/simple_prosumer/runme.py index 8f9ab4c647..1366f3295e 100644 --- a/examples/simple_prosumer/runme.py +++ b/examples/simple_prosumer/runme.py @@ -29,10 +29,11 @@ from Tooling.input_profile_processor.input_profile_processor import ( ) import json +import numpy as np import pandas as pd t_start = pd.Timestamp("2019-01-01 00:00:00") -dynamic = TrivialDynamic([3600 for i in range(24)]) +dynamic = TrivialDynamic(np.full(24, 3600, dtype=int)) input_profile_dict = { "irradiance": {"type": "irradiance", "file": "irradiance.csv"}, -- GitLab