diff --git a/config.default.yaml b/config.default.yaml index 2d9f2c63..ffb9cd2e 100644 --- a/config.default.yaml +++ b/config.default.yaml @@ -263,9 +263,11 @@ sector: biomass_transport: false # biomass transport between nodes conventional_generation: # generator : carrier OCGT: gas + biomass_to_liquid: false biosng: false + industry: St_primary_fraction: 0.3 # fraction of steel produced via primary route versus secondary route (scrap+EAF); today fraction is 0.6 # 2020: 0.6 @@ -509,6 +511,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 to liquid: '#32CD32' BioSNG: '#123456' # power transmission lines: '#6c9459' diff --git a/doc/release_notes.rst b/doc/release_notes.rst index f1fb12fe..1d4735ca 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -56,6 +56,10 @@ 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 + * 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. diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 7bf19fdc..1f10d36f 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -1860,6 +1860,42 @@ def add_biomass(n, costs): lifetime=costs.at[key, '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", @@ -1894,6 +1930,7 @@ def add_biomass(n, costs): 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"] + )