Skip to content
Snippets Groups Projects
Commit 780f5242 authored by Christoph von Oy's avatar Christoph von Oy
Browse files

Merge branch 'dev_cvo_dynamics' into 'main'

Resampling

See merge request focus/focus-framework!33
parents eda31eb6 ca702ca1
No related branches found
No related tags found
No related merge requests found
Subproject commit ba6678d2f4b50bc525d62221dd99440d03993efe
Subproject commit 02172ebbda8402a975dba5dd3fafff0a6ceb4645
Subproject commit f82ba6f7d9f1316a3cd36b8af27c99953803d17d
Subproject commit 0961692dd8a92856b5600013bd5ddbba5618b311
......@@ -24,6 +24,7 @@ THE SOFTWARE.
import pandas as pd
import Tooling.input_profile_processor.input_profile_processor
from Tooling.dynamics.Dynamic import GlobalDynamic
import Model_Library.Prosumer.main as main_prosumer
import Model_Library.District.main as main_district
from enum import Enum
......@@ -35,8 +36,8 @@ class SimulationScope(Enum):
simulation_scope = SimulationScope.DISTRICT
t_start = pd.Timestamp("2019-05-10 00:00:00") # start time of simulation
t_horizon = 240 # number of time steps to be simulated
t_step = 1 # length of a time step in hours
global_dynamic = GlobalDynamic([3600 for i in range(240)])
dynamic = global_dynamic.root()
input_profile_dict = {'irradiance_1': {'type': 'irradiance', 'file': 'input_files/data/irradiance/Lindenberg2006BSRN_Irradiance_60sec.csv'},
'temperature_1': {'type': 'air_temperature', 'file': 'input_files/data/temperature/temperature.csv'},
......@@ -55,7 +56,7 @@ input_profile_dict = {'irradiance_1': {'type': 'irradiance', 'file': 'input_file
'demand_hot_water_3': {'type': 'hot_water_demand', 'generate': {'yearly_demand': 0, 'temperature': 'temperature_3'}},
'elec_price_1': {'type': 'elec_price', 'file': 'input_files/data/prices/day-ahead/hourly_price.csv'}}
input_profiles = Tooling.input_profile_processor.input_profile_processor.process_input_profiles(input_profile_dict, t_start, t_horizon, t_step)
input_profiles = Tooling.input_profile_processor.input_profile_processor.process_input_profiles(input_profile_dict, t_start, dynamic)
prosumer_paths = {'SCN2_CAT1_PV11_3000_6000': 'input_files/models/prosumer_models/SCN2_CAT1_PV11/prosumer.json',
'SCN0_CAT1_3000_6000': 'input_files/models/prosumer_models/SCN0_CAT1/prosumer.json'}
......@@ -75,7 +76,7 @@ for prosumer_name, component_profiles in prosumer_profiles.items():
for component_name, profiles in component_profiles.items():
prosumer_dict[prosumer_name]['components'][component_name].update(profiles)
prosumer_main = main_prosumer.ProsumerMain(prosumer_dict, input_profiles, t_horizon, t_step)
prosumer_main = main_prosumer.ProsumerMain(prosumer_dict, input_profiles, dynamic)
prosumer_sizing_strategy = 'annuity'
prosumer_main.optimize_sizing(prosumer_sizing_strategy)
......@@ -98,7 +99,7 @@ for district_asset_name, component_profiles in district_asset_profiles.items():
for component_name, profiles in component_profiles.items():
district_asset_dict[district_asset_name]['components'][component_name].update(profiles)
district_assets = main_prosumer.DistrictAssetMain(district_asset_dict, input_profiles, t_horizon, t_step).district_assets
district_assets = main_prosumer.DistrictAssetMain(district_asset_dict, input_profiles, dynamic).district_assets
district_paths = {'community': 'input_files/models/district_models/example_community/district.json'}
district_profiles = {'community': {'wholesale_price': 'elec_price_1', 'injection_price': 'elec_price_1'}}
......@@ -110,7 +111,7 @@ for district_name, district_path in district_paths.items():
for district_name, profiles in district_profiles.items():
district_dict[district_name].update(profiles)
district_main = main_district.DistrictMain(district_dict, prosumers, district_assets, input_profiles, t_horizon, t_step)
district_main = main_district.DistrictMain(district_dict, prosumers, district_assets, input_profiles, dynamic)
district_sizing_strategy = 'max_operational_profit'
district_main.optimize_sizing(district_sizing_strategy)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment