Merge pull request #254 from millingermarkus/biosng

BioSNG (methane from solid biomass) with and without CC
This commit is contained in:
lisazeyen 2022-08-04 15:39:55 +02:00 committed by GitHub
commit 2d625f5a80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 38 additions and 0 deletions

View File

@ -263,6 +263,7 @@ sector:
biomass_transport: false # biomass transport between nodes
conventional_generation: # generator : carrier
OCGT: gas
biosng: false
industry:
@ -508,6 +509,7 @@ plotting:
solid biomass for industry CC: '#47411c'
solid biomass for industry co2 from atmosphere: '#736412'
solid biomass for industry co2 to stored: '#47411c'
BioSNG: '#123456'
# power transmission
lines: '#6c9459'
transmission lines: '#6c9459'

View File

@ -1860,6 +1860,42 @@ def add_biomass(n, costs):
lifetime=costs.at[key, 'lifetime']
)
#BioSNG from solid biomass
if options["biosng"]:
n.madd("Link",
spatial.biomass.nodes,
suffix=" solid biomass to gas",
bus0=spatial.biomass.nodes,
bus1=spatial.gas.nodes,
bus3="co2 atmosphere",
carrier="BioSNG",
lifetime=costs.at['BioSNG', 'lifetime'],
efficiency=costs.at['BioSNG', 'efficiency'],
efficiency3=-costs.at['solid biomass', 'CO2 intensity'] + costs.at['BioSNG', 'CO2 stored'],
p_nom_extendable=True,
capital_cost=costs.at['BioSNG', 'fixed'],
marginal_cost=costs.at['BioSNG', 'efficiency']*costs.loc["BioSNG", "VOM"]
)
#TODO: Update with energy penalty for CC
n.madd("Link",
spatial.biomass.nodes,
suffix=" solid biomass to gas CC",
bus0=spatial.biomass.nodes,
bus1=spatial.gas.nodes,
bus2=spatial.co2.nodes,
bus3="co2 atmosphere",
carrier="BioSNG",
lifetime=costs.at['BioSNG', 'lifetime'],
efficiency=costs.at['BioSNG', 'efficiency'],
efficiency2=costs.at['BioSNG', 'CO2 stored'] * costs.at['BioSNG', 'capture rate'],
efficiency3=-costs.at['solid biomass', 'CO2 intensity'] + costs.at['BioSNG', 'CO2 stored'] * (1 - costs.at['BioSNG', 'capture rate']),
p_nom_extendable=True,
capital_cost=costs.at['BioSNG', 'fixed'] + costs.at['biomass CHP capture', 'fixed'] * costs.at[
"BioSNG", "CO2 stored"],
marginal_cost=costs.at['BioSNG', 'efficiency']*costs.loc["BioSNG", "VOM"]
)
def add_industry(n, costs):