Merge pull request #260 from PyPSA/pellet-boiler

add biomass pellet boiler for decentral heating
This commit is contained in:
lisazeyen 2022-08-05 12:26:00 +02:00 committed by GitHub
commit d9ac089fef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 2 deletions

View File

@ -225,6 +225,7 @@ sector:
central: 180
boilers: true
oil_boilers: false
biomass_boiler: true
chp: true
micro_chp: false
solar_thermal: true
@ -511,6 +512,7 @@ plotting:
solid biomass for industry CC: '#47411c'
solid biomass for industry co2 from atmosphere: '#736412'
solid biomass for industry co2 to stored: '#47411c'
biomass boiler: '#8A9A5B'
biomass to liquid: '#32CD32'
BioSNG: '#123456'
# power transmission

View File

@ -56,9 +56,12 @@ incorporates retrofitting options to hydrogen.
**New features and functionality**
* option for BioSNG (methane from biomass) with and without CC is added
* option for BtL (Biomass to liquid fuel/oil) with and without CC is added
* Add option for biomass boilers (wood pellets) for decentral heating
* Add option for BioSNG (methane from biomass) with and without CC
* Add option for BtL (Biomass to liquid fuel/oil) with and without CC
* Units are assigned to the buses. These only provide a better understanding. The specifications of the units are not taken into account in the optimisation, which means that no automatic conversion of units takes place.

View File

@ -1522,6 +1522,7 @@ def add_heat(n, costs):
lifetime=costs.at[key, 'lifetime']
)
if options["solar_thermal"]:
n.add("Carrier", name + " solar thermal")
@ -1860,6 +1861,22 @@ def add_biomass(n, costs):
lifetime=costs.at[key, 'lifetime']
)
if options["pellet_boiler"]:
#TODO: Add surcharge for pellets
nodes_heat = create_nodes_for_heat_sector()[0]
for name in ["residential rural", "services rural",
"residential urban decentral", "services urban decentral"]:
n.madd("Link",
nodes_heat[name] + f" {name} biomass boiler",
p_nom_extendable=True,
bus0=spatial.biomass.df.loc[nodes_heat[name], "nodes"].values,
bus1=nodes_heat[name] + f" {name} heat",
carrier=name + " biomass boiler",
efficiency=costs.at['biomass boiler', 'efficiency'],
capital_cost=costs.at['biomass boiler', 'efficiency'] * costs.at['biomass boiler', 'fixed'],
lifetime=costs.at['biomass boiler', 'lifetime']
)
#Solid biomass to liquid fuel
if options["biomass_to_liquid"]: