Merge branch 'master' into pellet-boiler
This commit is contained in:
commit
9752b4b4e6
@ -264,6 +264,9 @@ sector:
|
|||||||
biomass_transport: false # biomass transport between nodes
|
biomass_transport: false # biomass transport between nodes
|
||||||
conventional_generation: # generator : carrier
|
conventional_generation: # generator : carrier
|
||||||
OCGT: gas
|
OCGT: gas
|
||||||
|
biomass_to_liquid: false
|
||||||
|
biosng: false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
industry:
|
industry:
|
||||||
@ -510,6 +513,8 @@ plotting:
|
|||||||
solid biomass for industry co2 from atmosphere: '#736412'
|
solid biomass for industry co2 from atmosphere: '#736412'
|
||||||
solid biomass for industry co2 to stored: '#47411c'
|
solid biomass for industry co2 to stored: '#47411c'
|
||||||
biomass boiler: '#8A9A5B'
|
biomass boiler: '#8A9A5B'
|
||||||
|
biomass to liquid: '#32CD32'
|
||||||
|
BioSNG: '#123456'
|
||||||
# power transmission
|
# power transmission
|
||||||
lines: '#6c9459'
|
lines: '#6c9459'
|
||||||
transmission lines: '#6c9459'
|
transmission lines: '#6c9459'
|
||||||
|
@ -56,8 +56,13 @@ incorporates retrofitting options to hydrogen.
|
|||||||
|
|
||||||
**New features and functionality**
|
**New features and functionality**
|
||||||
|
|
||||||
|
|
||||||
* Add option for biomass boilers (wood pellets) for decentral heating
|
* 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.
|
* 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.
|
||||||
|
|
||||||
* Option ``retrieve_sector_databundle`` to automatically retrieve and extract data bundle.
|
* Option ``retrieve_sector_databundle`` to automatically retrieve and extract data bundle.
|
||||||
|
@ -1878,6 +1878,79 @@ def add_biomass(n, costs):
|
|||||||
lifetime=costs.at['biomass boiler', 'lifetime']
|
lifetime=costs.at['biomass boiler', 'lifetime']
|
||||||
)
|
)
|
||||||
|
|
||||||
|
#Solid biomass to liquid fuel
|
||||||
|
if options["biomass_to_liquid"]:
|
||||||
|
n.madd("Link",
|
||||||
|
spatial.biomass.nodes,
|
||||||
|
suffix=" biomass to liquid",
|
||||||
|
bus0=spatial.biomass.nodes,
|
||||||
|
bus1=spatial.oil.nodes,
|
||||||
|
bus2="co2 atmosphere",
|
||||||
|
carrier="biomass to liquid",
|
||||||
|
lifetime=costs.at['BtL', 'lifetime'],
|
||||||
|
efficiency=costs.at['BtL', 'efficiency'],
|
||||||
|
efficiency2=-costs.at['solid biomass', 'CO2 intensity'] + costs.at['BtL', 'CO2 stored'],
|
||||||
|
p_nom_extendable=True,
|
||||||
|
capital_cost=costs.at['BtL', 'fixed'],
|
||||||
|
marginal_cost=costs.at['BtL', 'efficiency']*costs.loc["BtL", "VOM"]
|
||||||
|
)
|
||||||
|
|
||||||
|
#TODO: Update with energy penalty
|
||||||
|
n.madd("Link",
|
||||||
|
spatial.biomass.nodes,
|
||||||
|
suffix=" biomass to liquid CC",
|
||||||
|
bus0=spatial.biomass.nodes,
|
||||||
|
bus1=spatial.oil.nodes,
|
||||||
|
bus2="co2 atmosphere",
|
||||||
|
bus3=spatial.co2.nodes,
|
||||||
|
carrier="biomass to liquid",
|
||||||
|
lifetime=costs.at['BtL', 'lifetime'],
|
||||||
|
efficiency=costs.at['BtL', 'efficiency'],
|
||||||
|
efficiency2=-costs.at['solid biomass', 'CO2 intensity'] + costs.at['BtL', 'CO2 stored'] * (1 - costs.at['BtL', 'capture rate']),
|
||||||
|
efficiency3=costs.at['BtL', 'CO2 stored'] * costs.at['BtL', 'capture rate'],
|
||||||
|
p_nom_extendable=True,
|
||||||
|
capital_cost=costs.at['BtL', 'fixed'] + costs.at['biomass CHP capture', 'fixed'] * costs.at[
|
||||||
|
"BtL", "CO2 stored"],
|
||||||
|
marginal_cost=costs.at['BtL', 'efficiency'] * costs.loc["BtL", "VOM"]
|
||||||
|
|
||||||
|
#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):
|
def add_industry(n, costs):
|
||||||
|
|
||||||
logger.info("Add industrial demand")
|
logger.info("Add industrial demand")
|
||||||
|
Loading…
Reference in New Issue
Block a user