diff --git a/rest simulation/run runme_21.py b/rest simulation/run runme_21.py new file mode 100644 index 0000000000000000000000000000000000000000..e31b6e2238d8303fdb5fc8d9cf6af7987f141f76 --- /dev/null +++ b/rest simulation/run runme_21.py @@ -0,0 +1,52 @@ +""" +This script is to run scenarios automatically +""" + +import os +import datetime +import pandas as pd +from runme import run_V2X_scenario + + +def run_different_scenarios(): + battery_size = [40] # 18.4, 22, 30 are too small for driving consumption + charging_power = [3.7] + strategies = [ # 'V2X_PS_', + # 'V2X_V2H_PS_', + # 'V2X_V2H_PS_FCR_aFRR_SMT_', + 'V2X_PS_FCR_aFRR_SMT_' + ] + + file_path = '../input_files/models/prosumer_models/V2X_jfu/' + file_name = 'components.csv' + new_file_name = 'components2.csv' + components_df = pd.read_csv(r'' + file_path + file_name, index_col=False) + + # run different parameters + for bat in battery_size: + for power in charging_power: + components_df.loc[components_df['name'] == 'battery', 'min_size'] = bat + components_df.loc[components_df['name'] == 'battery', 'max_size'] = bat + components_df.loc[components_df['name'] == 'inv_bat', 'min_size'] = power + components_df.loc[components_df['name'] == 'inv_bat', 'max_size'] = power + components_df.to_csv(file_path + new_file_name, index=False) + os.remove(file_path + file_name) + os.rename(file_path + new_file_name, file_path + file_name) + + #run different weeks + t_starts = [] + start_date = datetime.datetime(2022, 1, 1) # start from the second week + days_to_first_monday = (7 - start_date.weekday()) % 7 + monday_start = start_date + datetime.timedelta(days=days_to_first_monday) + # ********************* 2022 ********************************************************* + while monday_start.year == 2022: + t_starts.append(monday_start.strftime('%Y-%m-%d %H:%M:%S')) + monday_start += datetime.timedelta(days=7) + + #for t_start_str in t_starts: + for strategy in strategies: + t_start = pd.Timestamp('2022-07-04 00:00:00') + run_V2X_scenario(bat, power, t_start, strategy) + + +run_different_scenarios() \ No newline at end of file diff --git a/rest simulation/run runme_22.py b/rest simulation/run runme_22.py new file mode 100644 index 0000000000000000000000000000000000000000..91c27ca53258144871ff0f7258e8bfc15c6863c4 --- /dev/null +++ b/rest simulation/run runme_22.py @@ -0,0 +1,52 @@ +""" +This script is to run scenarios automatically +""" + +import os +import datetime +import pandas as pd +from runme import run_V2X_scenario + + +def run_different_scenarios(): + battery_size = [40] # 18.4, 22, 30 are too small for driving consumption + charging_power = [11] + strategies = [ # 'V2X_PS_', + # 'V2X_V2H_PS_', + # 'V2X_V2H_PS_FCR_aFRR_SMT_', + 'V2X_PS_FCR_aFRR_SMT_' + ] + + file_path = '../input_files/models/prosumer_models/V2X_jfu/' + file_name = 'components.csv' + new_file_name = 'components2.csv' + components_df = pd.read_csv(r'' + file_path + file_name, index_col=False) + + # run different parameters + for bat in battery_size: + for power in charging_power: + components_df.loc[components_df['name'] == 'battery', 'min_size'] = bat + components_df.loc[components_df['name'] == 'battery', 'max_size'] = bat + components_df.loc[components_df['name'] == 'inv_bat', 'min_size'] = power + components_df.loc[components_df['name'] == 'inv_bat', 'max_size'] = power + components_df.to_csv(file_path + new_file_name, index=False) + os.remove(file_path + file_name) + os.rename(file_path + new_file_name, file_path + file_name) + + #run different weeks + t_starts = [] + start_date = datetime.datetime(2022, 1, 1) # start from the second week + days_to_first_monday = (7 - start_date.weekday()) % 7 + monday_start = start_date + datetime.timedelta(days=days_to_first_monday) + # ********************* 2022 ********************************************************* + while monday_start.year == 2022: + t_starts.append(monday_start.strftime('%Y-%m-%d %H:%M:%S')) + monday_start += datetime.timedelta(days=7) + + #for t_start_str in t_starts: + for strategy in strategies: + t_start = pd.Timestamp('2022-07-04 00:00:00') + run_V2X_scenario(bat, power, t_start, strategy) + + +run_different_scenarios() \ No newline at end of file diff --git a/rest simulation/run runme_23.py b/rest simulation/run runme_23.py new file mode 100644 index 0000000000000000000000000000000000000000..6f1ebcb0c17d6ce5b3b6e684da7f482f69a2ebaa --- /dev/null +++ b/rest simulation/run runme_23.py @@ -0,0 +1,52 @@ +""" +This script is to run scenarios automatically +""" + +import os +import datetime +import pandas as pd +from runme import run_V2X_scenario + + +def run_different_scenarios(): + battery_size = [40] # 18.4, 22, 30 are too small for driving consumption + charging_power = [22] + strategies = [ # 'V2X_PS_', + # 'V2X_V2H_PS_', + # 'V2X_V2H_PS_FCR_aFRR_SMT_', + 'V2X_PS_FCR_aFRR_SMT_' + ] + + file_path = '../input_files/models/prosumer_models/V2X_jfu/' + file_name = 'components.csv' + new_file_name = 'components2.csv' + components_df = pd.read_csv(r'' + file_path + file_name, index_col=False) + + # run different parameters + for bat in battery_size: + for power in charging_power: + components_df.loc[components_df['name'] == 'battery', 'min_size'] = bat + components_df.loc[components_df['name'] == 'battery', 'max_size'] = bat + components_df.loc[components_df['name'] == 'inv_bat', 'min_size'] = power + components_df.loc[components_df['name'] == 'inv_bat', 'max_size'] = power + components_df.to_csv(file_path + new_file_name, index=False) + os.remove(file_path + file_name) + os.rename(file_path + new_file_name, file_path + file_name) + + #run different weeks + t_starts = [] + start_date = datetime.datetime(2022, 1, 1) # start from the second week + days_to_first_monday = (7 - start_date.weekday()) % 7 + monday_start = start_date + datetime.timedelta(days=days_to_first_monday) + # ********************* 2022 ********************************************************* + while monday_start.year == 2022: + t_starts.append(monday_start.strftime('%Y-%m-%d %H:%M:%S')) + monday_start += datetime.timedelta(days=7) + + #for t_start_str in t_starts: + for strategy in strategies: + t_start = pd.Timestamp('2022-07-04 00:00:00') + run_V2X_scenario(bat, power, t_start, strategy) + + +run_different_scenarios() \ No newline at end of file diff --git a/rest simulation/run runme_24.py b/rest simulation/run runme_24.py new file mode 100644 index 0000000000000000000000000000000000000000..96fc77b46450c17f60e81f2bb70f84195a36518a --- /dev/null +++ b/rest simulation/run runme_24.py @@ -0,0 +1,52 @@ +""" +This script is to run scenarios automatically +""" + +import os +import datetime +import pandas as pd +from runme import run_V2X_scenario + + +def run_different_scenarios(): + battery_size = [60] # 18.4, 22, 30 are too small for driving consumption + charging_power = [3.7] + strategies = [ # 'V2X_PS_', + # 'V2X_V2H_PS_', + # 'V2X_V2H_PS_FCR_aFRR_SMT_', + 'V2X_PS_FCR_aFRR_SMT_' + ] + + file_path = '../input_files/models/prosumer_models/V2X_jfu/' + file_name = 'components.csv' + new_file_name = 'components2.csv' + components_df = pd.read_csv(r'' + file_path + file_name, index_col=False) + + # run different parameters + for bat in battery_size: + for power in charging_power: + components_df.loc[components_df['name'] == 'battery', 'min_size'] = bat + components_df.loc[components_df['name'] == 'battery', 'max_size'] = bat + components_df.loc[components_df['name'] == 'inv_bat', 'min_size'] = power + components_df.loc[components_df['name'] == 'inv_bat', 'max_size'] = power + components_df.to_csv(file_path + new_file_name, index=False) + os.remove(file_path + file_name) + os.rename(file_path + new_file_name, file_path + file_name) + + #run different weeks + t_starts = [] + start_date = datetime.datetime(2022, 1, 1) # start from the second week + days_to_first_monday = (7 - start_date.weekday()) % 7 + monday_start = start_date + datetime.timedelta(days=days_to_first_monday) + # ********************* 2022 ********************************************************* + while monday_start.year == 2022: + t_starts.append(monday_start.strftime('%Y-%m-%d %H:%M:%S')) + monday_start += datetime.timedelta(days=7) + + #for t_start_str in t_starts: + for strategy in strategies: + t_start = pd.Timestamp('2022-07-04 00:00:00') + run_V2X_scenario(bat, power, t_start, strategy) + + +run_different_scenarios() \ No newline at end of file diff --git a/rest simulation/run runme_25.py b/rest simulation/run runme_25.py new file mode 100644 index 0000000000000000000000000000000000000000..1815b4696c2af003a88adf32b191598bec8a0c4a --- /dev/null +++ b/rest simulation/run runme_25.py @@ -0,0 +1,52 @@ +""" +This script is to run scenarios automatically +""" + +import os +import datetime +import pandas as pd +from runme import run_V2X_scenario + + +def run_different_scenarios(): + battery_size = [60] # 18.4, 22, 30 are too small for driving consumption + charging_power = [22] + strategies = [ # 'V2X_PS_', + # 'V2X_V2H_PS_', + # 'V2X_V2H_PS_FCR_aFRR_SMT_', + 'V2X_PS_FCR_aFRR_SMT_' + ] + + file_path = '../input_files/models/prosumer_models/V2X_jfu/' + file_name = 'components.csv' + new_file_name = 'components2.csv' + components_df = pd.read_csv(r'' + file_path + file_name, index_col=False) + + # run different parameters + for bat in battery_size: + for power in charging_power: + components_df.loc[components_df['name'] == 'battery', 'min_size'] = bat + components_df.loc[components_df['name'] == 'battery', 'max_size'] = bat + components_df.loc[components_df['name'] == 'inv_bat', 'min_size'] = power + components_df.loc[components_df['name'] == 'inv_bat', 'max_size'] = power + components_df.to_csv(file_path + new_file_name, index=False) + os.remove(file_path + file_name) + os.rename(file_path + new_file_name, file_path + file_name) + + #run different weeks + t_starts = [] + start_date = datetime.datetime(2022, 1, 1) # start from the second week + days_to_first_monday = (7 - start_date.weekday()) % 7 + monday_start = start_date + datetime.timedelta(days=days_to_first_monday) + # ********************* 2022 ********************************************************* + while monday_start.year == 2022: + t_starts.append(monday_start.strftime('%Y-%m-%d %H:%M:%S')) + monday_start += datetime.timedelta(days=7) + + #for t_start_str in t_starts: + for strategy in strategies: + t_start = pd.Timestamp('2022-07-04 00:00:00') + run_V2X_scenario(bat, power, t_start, strategy) + + +run_different_scenarios() \ No newline at end of file diff --git a/rest simulation/run runme_26.py b/rest simulation/run runme_26.py new file mode 100644 index 0000000000000000000000000000000000000000..f177929301c52e472215c9160f575396c1b9f1b2 --- /dev/null +++ b/rest simulation/run runme_26.py @@ -0,0 +1,52 @@ +""" +This script is to run scenarios automatically +""" + +import os +import datetime +import pandas as pd +from runme import run_V2X_scenario + + +def run_different_scenarios(): + battery_size = [80] # 18.4, 22, 30 are too small for driving consumption + charging_power = [11] + strategies = [ # 'V2X_PS_', + # 'V2X_V2H_PS_', + # 'V2X_V2H_PS_FCR_aFRR_SMT_', + 'V2X_PS_FCR_aFRR_SMT_' + ] + + file_path = '../input_files/models/prosumer_models/V2X_jfu/' + file_name = 'components.csv' + new_file_name = 'components2.csv' + components_df = pd.read_csv(r'' + file_path + file_name, index_col=False) + + # run different parameters + for bat in battery_size: + for power in charging_power: + components_df.loc[components_df['name'] == 'battery', 'min_size'] = bat + components_df.loc[components_df['name'] == 'battery', 'max_size'] = bat + components_df.loc[components_df['name'] == 'inv_bat', 'min_size'] = power + components_df.loc[components_df['name'] == 'inv_bat', 'max_size'] = power + components_df.to_csv(file_path + new_file_name, index=False) + os.remove(file_path + file_name) + os.rename(file_path + new_file_name, file_path + file_name) + + #run different weeks + t_starts = [] + start_date = datetime.datetime(2022, 1, 1) # start from the second week + days_to_first_monday = (7 - start_date.weekday()) % 7 + monday_start = start_date + datetime.timedelta(days=days_to_first_monday) + # ********************* 2022 ********************************************************* + while monday_start.year == 2022: + t_starts.append(monday_start.strftime('%Y-%m-%d %H:%M:%S')) + monday_start += datetime.timedelta(days=7) + + #for t_start_str in t_starts: + for strategy in strategies: + t_start = pd.Timestamp('2022-07-04 00:00:00') + run_V2X_scenario(bat, power, t_start, strategy) + + +run_different_scenarios() \ No newline at end of file diff --git a/rest simulation/run runme_27.py b/rest simulation/run runme_27.py new file mode 100644 index 0000000000000000000000000000000000000000..722857b087ebe38ca7a12a53fd5e0a5363b309e2 --- /dev/null +++ b/rest simulation/run runme_27.py @@ -0,0 +1,52 @@ +""" +This script is to run scenarios automatically +""" + +import os +import datetime +import pandas as pd +from runme import run_V2X_scenario + + +def run_different_scenarios(): + battery_size = [80] # 18.4, 22, 30 are too small for driving consumption + charging_power = [22] + strategies = [ # 'V2X_PS_', + # 'V2X_V2H_PS_', + # 'V2X_V2H_PS_FCR_aFRR_SMT_', + 'V2X_PS_FCR_aFRR_SMT_' + ] + + file_path = '../input_files/models/prosumer_models/V2X_jfu/' + file_name = 'components.csv' + new_file_name = 'components2.csv' + components_df = pd.read_csv(r'' + file_path + file_name, index_col=False) + + # run different parameters + for bat in battery_size: + for power in charging_power: + components_df.loc[components_df['name'] == 'battery', 'min_size'] = bat + components_df.loc[components_df['name'] == 'battery', 'max_size'] = bat + components_df.loc[components_df['name'] == 'inv_bat', 'min_size'] = power + components_df.loc[components_df['name'] == 'inv_bat', 'max_size'] = power + components_df.to_csv(file_path + new_file_name, index=False) + os.remove(file_path + file_name) + os.rename(file_path + new_file_name, file_path + file_name) + + #run different weeks + t_starts = [] + start_date = datetime.datetime(2022, 1, 1) # start from the second week + days_to_first_monday = (7 - start_date.weekday()) % 7 + monday_start = start_date + datetime.timedelta(days=days_to_first_monday) + # ********************* 2022 ********************************************************* + while monday_start.year == 2022: + t_starts.append(monday_start.strftime('%Y-%m-%d %H:%M:%S')) + monday_start += datetime.timedelta(days=7) + + #for t_start_str in t_starts: + for strategy in strategies: + t_start = pd.Timestamp('2022-07-04 00:00:00') + run_V2X_scenario(bat, power, t_start, strategy) + + +run_different_scenarios() \ No newline at end of file diff --git a/rest simulation/run runme_28.py b/rest simulation/run runme_28.py new file mode 100644 index 0000000000000000000000000000000000000000..d34d0fa540775407a8a708ea0052865f4fb1ada7 --- /dev/null +++ b/rest simulation/run runme_28.py @@ -0,0 +1,52 @@ +""" +This script is to run scenarios automatically +""" + +import os +import datetime +import pandas as pd +from runme import run_V2X_scenario + + +def run_different_scenarios(): + battery_size = [40] # 18.4, 22, 30 are too small for driving consumption + charging_power = [11] + strategies = [ # 'V2X_PS_', + # 'V2X_V2H_PS_', + 'V2X_V2H_PS_FCR_aFRR_SMT_', + # 'V2X_PS_FCR_aFRR_SMT_' + ] + + file_path = '../input_files/models/prosumer_models/V2X_jfu/' + file_name = 'components.csv' + new_file_name = 'components2.csv' + components_df = pd.read_csv(r'' + file_path + file_name, index_col=False) + + # run different parameters + for bat in battery_size: + for power in charging_power: + components_df.loc[components_df['name'] == 'battery', 'min_size'] = bat + components_df.loc[components_df['name'] == 'battery', 'max_size'] = bat + components_df.loc[components_df['name'] == 'inv_bat', 'min_size'] = power + components_df.loc[components_df['name'] == 'inv_bat', 'max_size'] = power + components_df.to_csv(file_path + new_file_name, index=False) + os.remove(file_path + file_name) + os.rename(file_path + new_file_name, file_path + file_name) + + #run different weeks + t_starts = [] + start_date = datetime.datetime(2022, 1, 1) # start from the second week + days_to_first_monday = (7 - start_date.weekday()) % 7 + monday_start = start_date + datetime.timedelta(days=days_to_first_monday) + # ********************* 2022 ********************************************************* + while monday_start.year == 2022: + t_starts.append(monday_start.strftime('%Y-%m-%d %H:%M:%S')) + monday_start += datetime.timedelta(days=7) + + #for t_start_str in t_starts: + for strategy in strategies: + t_start = pd.Timestamp('2022-07-04 00:00:00') + run_V2X_scenario(bat, power, t_start, strategy) + + +run_different_scenarios() \ No newline at end of file diff --git a/rest simulation/run runme_29.py b/rest simulation/run runme_29.py new file mode 100644 index 0000000000000000000000000000000000000000..63993ff1099c68726907d626c36c44fc9ff36944 --- /dev/null +++ b/rest simulation/run runme_29.py @@ -0,0 +1,52 @@ +""" +This script is to run scenarios automatically +""" + +import os +import datetime +import pandas as pd +from runme import run_V2X_scenario + + +def run_different_scenarios(): + battery_size = [60] # 18.4, 22, 30 are too small for driving consumption + charging_power = [11] + strategies = [ # 'V2X_PS_', + # 'V2X_V2H_PS_', + 'V2X_V2H_PS_FCR_aFRR_SMT_', + # V2X_PS_FCR_aFRR_SMT_' + ] + + file_path = '../input_files/models/prosumer_models/V2X_jfu/' + file_name = 'components.csv' + new_file_name = 'components2.csv' + components_df = pd.read_csv(r'' + file_path + file_name, index_col=False) + + # run different parameters + for bat in battery_size: + for power in charging_power: + components_df.loc[components_df['name'] == 'battery', 'min_size'] = bat + components_df.loc[components_df['name'] == 'battery', 'max_size'] = bat + components_df.loc[components_df['name'] == 'inv_bat', 'min_size'] = power + components_df.loc[components_df['name'] == 'inv_bat', 'max_size'] = power + components_df.to_csv(file_path + new_file_name, index=False) + os.remove(file_path + file_name) + os.rename(file_path + new_file_name, file_path + file_name) + + #run different weeks + t_starts = [] + start_date = datetime.datetime(2022, 1, 1) # start from the second week + days_to_first_monday = (7 - start_date.weekday()) % 7 + monday_start = start_date + datetime.timedelta(days=days_to_first_monday) + # ********************* 2022 ********************************************************* + while monday_start.year == 2022: + t_starts.append(monday_start.strftime('%Y-%m-%d %H:%M:%S')) + monday_start += datetime.timedelta(days=7) + + #for t_start_str in t_starts: + for strategy in strategies: + t_start = pd.Timestamp('2022-07-04 00:00:00') + run_V2X_scenario(bat, power, t_start, strategy) + + +run_different_scenarios() \ No newline at end of file