diff --git a/config.default.yaml b/config.default.yaml index b2fa5f6b..2d9f2c63 100644 --- a/config.default.yaml +++ b/config.default.yaml @@ -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' diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 7430974b..7bf19fdc 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'] ) + #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):