diff --git a/config/config.default.yaml b/config/config.default.yaml index 5438b249..54701daf 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -590,7 +590,9 @@ sector: resistive_heaters: true oil_boilers: false biomass_boiler: true - overdimension_individual_heating: 1.1 #to cover demand peaks bigger than data + overdimension_heat_generators: + decentral: 1.1 #to cover demand peaks bigger than data + central: 1.0 chp: true micro_chp: false solar_thermal: true diff --git a/doc/configtables/sector.csv b/doc/configtables/sector.csv index 044c8dc4..7de2a173 100644 --- a/doc/configtables/sector.csv +++ b/doc/configtables/sector.csv @@ -89,7 +89,9 @@ boilers,--,"{true, false}",Add option for transforming gas into heat using gas b resistive_heaters,--,"{true, false}",Add option for transforming electricity into heat using resistive heaters (independently from gas boilers) oil_boilers,--,"{true, false}",Add option for transforming oil into heat using boilers biomass_boiler,--,"{true, false}",Add option for transforming biomass into heat using boilers -overdimension_individual_heating,--,float,Add option for overdimensioning individual heating systems by a certain factor. This allows them to cover heat demand peaks e.g. 10% higher than those in the data with a setting of 1.1. +overdimension_heat_generators,,,Add option for overdimensioning heating systems by a certain factor. This allows them to cover heat demand peaks e.g. 10% higher than those in the data with a setting of 1.1. +-- decentral,--,float,The factor for overdimensioning (increasing CAPEX) decentral heating systems +-- central,--,float,The factor for overdimensioning (increasing CAPEX) central heating systems chp,--,"{true, false}",Add option for using Combined Heat and Power (CHP) micro_chp,--,"{true, false}",Add option for using Combined Heat and Power (CHP) for decentral areas. solar_thermal,--,"{true, false}",Add option for using solar thermal to generate heat. diff --git a/doc/release_notes.rst b/doc/release_notes.rst index f8460e14..32c9eed7 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -11,6 +11,8 @@ Release Notes .. Upcoming Release .. ================ +* Made the overdimensioning factor for heating systems specific for central/decentral heating, defaults to no overdimensionining for central heating and no changes to decentral heating compared to previous version. + * bugfix: The carrier of stores was silently overwritten by their bus_carrier as a side effect when building the co2 constraints * bugfix: The oil generator was incorrectly dropped when the config `oil_refining_emissions` was greater than zero. This was the default behaviour in 0.12.0. diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index fcf41d88..9242fbf3 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -1875,8 +1875,6 @@ def add_heat(n: pypsa.Network, costs: pd.DataFrame, cop: xr.DataArray): heat_demand = build_heat_demand(n) - overdim_factor = options["overdimension_individual_heating"] - district_heat_info = pd.read_csv(snakemake.input.district_heat_share, index_col=0) dist_fraction = district_heat_info["district fraction of node"] urban_fraction = district_heat_info["urban fraction"] @@ -1905,6 +1903,9 @@ def add_heat(n: pypsa.Network, costs: pd.DataFrame, cop: xr.DataArray): HeatSystem ): # this loops through all heat systems defined in _entities.HeatSystem + overdim_factor = options["overdimension_heat_generators"][ + heat_system.central_or_decentral + ] if heat_system == HeatSystem.URBAN_CENTRAL: nodes = dist_fraction.index[dist_fraction > 0] else: @@ -2753,7 +2754,9 @@ def add_biomass(n, costs): efficiency=costs.at["biomass boiler", "efficiency"], capital_cost=costs.at["biomass boiler", "efficiency"] * costs.at["biomass boiler", "fixed"] - * options["overdimension_individual_heating"], + * options["overdimension_heat_generators"][ + HeatSystem(name).central_or_decentral + ], marginal_cost=costs.at["biomass boiler", "pelletizing cost"], lifetime=costs.at["biomass boiler", "lifetime"], ) @@ -3275,7 +3278,9 @@ def add_industry(n, costs): efficiency2=costs.at["oil", "CO2 intensity"], capital_cost=costs.at["decentral oil boiler", "efficiency"] * costs.at["decentral oil boiler", "fixed"] - * options["overdimension_individual_heating"], + * options["overdimension_heat_generators"][ + heat_system.central_or_decentral + ], lifetime=costs.at["decentral oil boiler", "lifetime"], )