diff --git a/CHANGELOG.md b/CHANGELOG.md index e5176010..699adce7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -131,6 +131,8 @@ and the versioning aim to respect [Semantic Versioning](http://semver.org/spec/v - Fix clean rule - Update raw datapackage URL - Restrict snakemake version to v7.32.0 +- Add central heat pump targets to slider +- Restrict heat pump sliders to not move under 50% ### Removed diff --git a/digipipe/store/datasets/app_settings/config.yml b/digipipe/store/datasets/app_settings/config.yml index fa054ff8..10e6d83c 100644 --- a/digipipe/store/datasets/app_settings/config.yml +++ b/digipipe/store/datasets/app_settings/config.yml @@ -160,6 +160,7 @@ panel_settings_templates: w_d_wp_1: max: none min: none + from-min: none start: none step: none status_quo: none @@ -167,25 +168,29 @@ panel_settings_templates: w_d_wp_3: max: none min: none + from-min: none start: none step: none w_d_wp_4: max: none min: none + from-min: none start: none step: none w_d_wp_5: max: none min: none + from-min: none start: none step: none w_z_wp_1: max: none min: none + from-min: none start: none step: none status_quo: none - # future_scenario: none + future_scenario: none w_v_1: max: none min: none diff --git a/digipipe/store/datasets/app_settings/create.smk b/digipipe/store/datasets/app_settings/create.smk index 8064f1c8..6d9fdc83 100644 --- a/digipipe/store/datasets/app_settings/create.smk +++ b/digipipe/store/datasets/app_settings/create.smk @@ -58,6 +58,7 @@ rule create_panel_settings: storage_pv_roof=rules.datasets_bnetza_mastr_storage_region_create_storage_pv_roof_stats.output, heating_structure_decentral=rules.datasets_demand_heat_region_heating_structure_hh_cts.output.heating_structure_esys_dec, + heating_structure_central=rules.datasets_demand_heat_region_heating_structure_hh_cts.output.heating_structure_esys_cen, demand_hh_heat=get_abs_dataset_path("datasets", "demand_heat_region") / "data" / "demand_hh_heat_demand.csv", demand_cts_heat=get_abs_dataset_path("datasets", "demand_heat_region") / "data" / "demand_cts_heat_demand.csv", demand_ind_heat=get_abs_dataset_path("datasets", "demand_heat_region") / "data" / "demand_ind_heat_demand.csv", @@ -103,6 +104,7 @@ rule create_panel_settings: panel_settings_heat = add_heat_panel_settings( panel_settings_heat, heating_structure_decentral=pd.read_csv(input.heating_structure_decentral, index_col="year"), + heating_structure_central=pd.read_csv(input.heating_structure_central, index_col="year"), demand_hh_heat=pd.read_csv(input.demand_hh_heat, index_col="municipality_id"), demand_cts_heat=pd.read_csv(input.demand_cts_heat, index_col="municipality_id"), demand_ind_heat=pd.read_csv(input.demand_ind_heat, index_col="municipality_id"), diff --git a/digipipe/store/datasets/app_settings/scripts/panels.py b/digipipe/store/datasets/app_settings/scripts/panels.py index fe10354c..e67b9cf7 100644 --- a/digipipe/store/datasets/app_settings/scripts/panels.py +++ b/digipipe/store/datasets/app_settings/scripts/panels.py @@ -323,52 +323,61 @@ def add_electricity_panel_settings( def add_heat_panel_settings( panel_settings: PanelSettings, heating_structure_decentral: pd.DataFrame, + heating_structure_central: pd.DataFrame, demand_hh_heat: pd.DataFrame, demand_cts_heat: pd.DataFrame, demand_ind_heat: pd.DataFrame, ) -> PanelSettings: # Supply - heat_pump_share = heating_structure_decentral.loc[ + heat_pump_share_dec = heating_structure_decentral.loc[ heating_structure_decentral.carrier == "heat_pump" ].demand_rel + heat_pump_share_cen = heating_structure_central.loc[ + heating_structure_central.carrier == "heat_pump" + ].demand_rel + panel_settings.update( **dict( - w_d_wp_1=dict( - max=100, - min=0, - start=round(heat_pump_share.loc[2022] * 100), - step=5, - status_quo=round(heat_pump_share.loc[2022] * 100), - future_scenario=round(heat_pump_share.loc[2045] * 100), - ), - w_d_wp_3=dict( - max=100, - min=0, - start=round(heat_pump_share.loc[2022] * 100), - step=5, - ), - w_d_wp_4=dict( - max=100, - min=0, - start=round(heat_pump_share.loc[2022] * 100), - step=5, - ), - w_d_wp_5=dict( - max=100, - min=0, - start=round(heat_pump_share.loc[2022] * 100), - step=5, - ), - w_z_wp_1=dict( - max=100, - min=0, - start=round(heat_pump_share.loc[2022] * 100), - step=5, - status_quo=round(heat_pump_share.loc[2022] * 100), - # TODO: Insert cen heating structure targets - # future_scenario=0, - ), + w_d_wp_1={ + "max": 100, + "min": 0, + "from-min": 50, + "start": round(heat_pump_share_dec.loc[2022] * 100), + "step": 5, + "status_quo": round(heat_pump_share_dec.loc[2022] * 100), + "future_scenario": round(heat_pump_share_dec.loc[2045] * 100), + }, + w_d_wp_3={ + "max": 100, + "min": 0, + "from-min": 50, + "start": round(heat_pump_share_dec.loc[2022] * 100), + "step": 5, + }, + w_d_wp_4={ + "max": 100, + "min": 0, + "from-min": 50, + "start": round(heat_pump_share_dec.loc[2022] * 100), + "step": 5, + }, + w_d_wp_5={ + "max": 100, + "min": 0, + "from-min": 50, + "start": round(heat_pump_share_dec.loc[2022] * 100), + "step": 5, + }, + w_z_wp_1={ + "max": 100, + "min": 0, + "from-min": 50, + "start": round(heat_pump_share_cen.loc[2022] * 100), + "step": 5, + "status_quo": round(heat_pump_share_cen.loc[2022] * 100), + "future_scenario": round(heat_pump_share_cen.loc[2045] * 100), + }, ) ) diff --git a/docs/sections/installation.md b/docs/sections/installation.md index 9c01d32f..5c503d58 100644 --- a/docs/sections/installation.md +++ b/docs/sections/installation.md @@ -58,4 +58,4 @@ To trigger a check manually, execute: ## Runtime and resources **Warning:** Conversion and extraction process needs ~50 GB disk space and may -take a lot of time! +take a couple of hours to finish!