diff --git a/config/config.default.yaml b/config/config.default.yaml index ee61d366..60eff164 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -606,6 +606,7 @@ sector: conventional_generation: OCGT: gas biomass_to_liquid: false + electrobiofuels: false biosng: false limit_max_growth: enable: false @@ -1030,6 +1031,7 @@ plotting: services rural biomass boiler: '#c6cf98' services urban decentral biomass boiler: '#dde5b5' biomass to liquid: '#32CD32' + electrobiofuels: 'red' BioSNG: '#123456' # power transmission lines: '#6c9459' diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index dfa06cac..1a1f97c0 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -2505,6 +2505,36 @@ def add_biomass(n, costs): marginal_cost=costs.at["BtL", "efficiency"] * costs.at["BtL", "VOM"], ) + #Electrobiofuels (BtL with hydrogen addition to make more use of biogenic carbon). + #Combination of efuels and biomass to liquid, both based on Fischer-Tropsch. + #Experimental version - use with caution + if options['electrobiofuels'] and options.get("biomass_spatial", options["biomass_transport"]): + efuel_scale_factor = costs.at['BtL', 'C stored'] + n.madd( + "Link", + spatial.biomass.nodes, + suffix=" electrobiofuels", + bus0=spatial.biomass.nodes, + bus1=spatial.oil.nodes, + bus2=spatial.h2.nodes, + bus3="co2 atmosphere", + carrier="electrobiofuels", + lifetime=costs.at['electrobiofuels', 'lifetime'], + efficiency=costs.at['electrobiofuels', 'efficiency-biomass'], + efficiency2=-costs.at['electrobiofuels', 'efficiency-hydrogen'], + efficiency3=-costs.at['solid biomass', 'CO2 intensity'] + costs.at['BtL', 'CO2 stored'] + * (1 - costs.at['Fischer-Tropsch', 'capture rate']), + p_nom_extendable=True, + capital_cost=costs.at['BtL', 'fixed'] + * costs.at['BtL', 'efficiency'] / costs.at['electrobiofuels', 'efficiency-biomass'] + + efuel_scale_factor * costs.at['Fischer-Tropsch', 'fixed'] + * costs.at['Fischer-Tropsch', 'efficiency'] / costs.at['electrobiofuels', 'efficiency-hydrogen'], + marginal_cost=costs.at['BtL', 'VOM'] + * costs.at['BtL', 'efficiency'] / costs.at['electrobiofuels', 'efficiency-biomass'] + + efuel_scale_factor * costs.at['Fischer-Tropsch', 'VOM'] + * costs.at['Fischer-Tropsch', 'efficiency'] / costs.at['electrobiofuels', 'efficiency-hydrogen'] + ) + # BioSNG from solid biomass if options["biosng"]: n.madd(