From 28b6aed5c2c2baa5df431f5902cd25d71ac621c0 Mon Sep 17 00:00:00 2001 From: nesnoj Date: Thu, 31 Aug 2023 17:42:43 +0200 Subject: [PATCH 1/4] Add central HP targets to slider #181 --- .../store/datasets/app_settings/config.yml | 2 +- .../store/datasets/app_settings/create.smk | 2 ++ .../datasets/app_settings/scripts/panels.py | 26 +++++++++++-------- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/digipipe/store/datasets/app_settings/config.yml b/digipipe/store/datasets/app_settings/config.yml index fa054ff8..83699d3f 100644 --- a/digipipe/store/datasets/app_settings/config.yml +++ b/digipipe/store/datasets/app_settings/config.yml @@ -185,7 +185,7 @@ panel_settings_templates: 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..b92f7768 100644 --- a/digipipe/store/datasets/app_settings/scripts/panels.py +++ b/digipipe/store/datasets/app_settings/scripts/panels.py @@ -323,51 +323,55 @@ 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), + start=round(heat_pump_share_dec.loc[2022] * 100), step=5, - status_quo=round(heat_pump_share.loc[2022] * 100), - future_scenario=round(heat_pump_share.loc[2045] * 100), + status_quo=round(heat_pump_share_dec.loc[2022] * 100), + future_scenario=round(heat_pump_share_dec.loc[2045] * 100), ), w_d_wp_3=dict( max=100, min=0, - start=round(heat_pump_share.loc[2022] * 100), + start=round(heat_pump_share_dec.loc[2022] * 100), step=5, ), w_d_wp_4=dict( max=100, min=0, - start=round(heat_pump_share.loc[2022] * 100), + start=round(heat_pump_share_dec.loc[2022] * 100), step=5, ), w_d_wp_5=dict( max=100, min=0, - start=round(heat_pump_share.loc[2022] * 100), + start=round(heat_pump_share_dec.loc[2022] * 100), step=5, ), w_z_wp_1=dict( max=100, min=0, - start=round(heat_pump_share.loc[2022] * 100), + start=round(heat_pump_share_cen.loc[2022] * 100), step=5, - status_quo=round(heat_pump_share.loc[2022] * 100), - # TODO: Insert cen heating structure targets - # future_scenario=0, + status_quo=round(heat_pump_share_cen.loc[2022] * 100), + future_scenario=round(heat_pump_share_cen.loc[2045] * 100), ), ) ) From dc2399702a291c782d0fde9ec0e579d4d352f95c Mon Sep 17 00:00:00 2001 From: nesnoj Date: Thu, 31 Aug 2023 17:54:57 +0200 Subject: [PATCH 2/4] Restrict heat pump sliders to not move under 50% --- .../store/datasets/app_settings/config.yml | 5 ++ .../datasets/app_settings/scripts/panels.py | 73 ++++++++++--------- 2 files changed, 44 insertions(+), 34 deletions(-) diff --git a/digipipe/store/datasets/app_settings/config.yml b/digipipe/store/datasets/app_settings/config.yml index 83699d3f..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,21 +168,25 @@ 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 diff --git a/digipipe/store/datasets/app_settings/scripts/panels.py b/digipipe/store/datasets/app_settings/scripts/panels.py index b92f7768..e67b9cf7 100644 --- a/digipipe/store/datasets/app_settings/scripts/panels.py +++ b/digipipe/store/datasets/app_settings/scripts/panels.py @@ -339,40 +339,45 @@ def add_heat_panel_settings( panel_settings.update( **dict( - w_d_wp_1=dict( - max=100, - min=0, - 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=dict( - max=100, - min=0, - start=round(heat_pump_share_dec.loc[2022] * 100), - step=5, - ), - w_d_wp_4=dict( - max=100, - min=0, - start=round(heat_pump_share_dec.loc[2022] * 100), - step=5, - ), - w_d_wp_5=dict( - max=100, - min=0, - start=round(heat_pump_share_dec.loc[2022] * 100), - step=5, - ), - w_z_wp_1=dict( - max=100, - min=0, - 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), - ), + 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), + }, ) ) From 3b6af2cfab589cab7f0e8c7058f156c815d66b1a Mon Sep 17 00:00:00 2001 From: nesnoj Date: Thu, 31 Aug 2023 17:55:12 +0200 Subject: [PATCH 3/4] Update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) 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 From 52cf649b42a33a02ad2b1abeff46c25aed1500a4 Mon Sep 17 00:00:00 2001 From: nesnoj Date: Thu, 31 Aug 2023 17:55:49 +0200 Subject: [PATCH 4/4] Amend install instructions --- docs/sections/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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!