From abba2a4f3ee6355fceab1d513f9b3d7c752b7077 Mon Sep 17 00:00:00 2001 From: Markus Millinger <50738187+millingermarkus@users.noreply.github.com> Date: Mon, 1 Aug 2022 13:22:58 +0200 Subject: [PATCH 1/4] Added BioSNG process with and w/o CC --- scripts/prepare_sector_network.py | 34 +++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 7abdadff..ddc5b151 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -1860,6 +1860,40 @@ def add_biomass(n, costs): lifetime=costs.at[key, 'lifetime'] ) + #BioSNG from solid biomass + if options["biosng"]: + n.madd("Link", + spatial.biomass.nodes + " 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 + " 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): From 603d1597c4702dd3635630dfb65038049477c212 Mon Sep 17 00:00:00 2001 From: Markus Millinger <50738187+millingermarkus@users.noreply.github.com> Date: Mon, 1 Aug 2022 13:24:04 +0200 Subject: [PATCH 2/4] Added BioSNG toggle to yaml --- config.default.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/config.default.yaml b/config.default.yaml index b2fa5f6b..1baf392d 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: true industry: From 6211823514c943881aad702cb20a3bc4484e3a85 Mon Sep 17 00:00:00 2001 From: millingermarkus Date: Mon, 1 Aug 2022 15:13:59 +0200 Subject: [PATCH 3/4] Added color for BioSNG and minor adaptations --- config.default.yaml | 1 + scripts/prepare_sector_network.py | 56 ++++++++++++++++--------------- 2 files changed, 30 insertions(+), 27 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index 1baf392d..f99b1b7a 100644 --- a/config.default.yaml +++ b/config.default.yaml @@ -509,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 ddc5b151..9b05ed83 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -1863,36 +1863,38 @@ def add_biomass(n, costs): #BioSNG from solid biomass if options["biosng"]: n.madd("Link", - spatial.biomass.nodes + " 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"] - ) + 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 + " 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"] - ) + 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): From 23539ee219c39b07969b66c3fa8a5f0cae405650 Mon Sep 17 00:00:00 2001 From: lisazeyen <35347358+lisazeyen@users.noreply.github.com> Date: Thu, 4 Aug 2022 15:34:20 +0200 Subject: [PATCH 4/4] Update config.default.yaml set default of biosng to false --- config.default.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.default.yaml b/config.default.yaml index f99b1b7a..2d9f2c63 100644 --- a/config.default.yaml +++ b/config.default.yaml @@ -263,7 +263,7 @@ sector: biomass_transport: false # biomass transport between nodes conventional_generation: # generator : carrier OCGT: gas - biosng: true + biosng: false industry: