From c71fa78bfa4fe7471817416387837cf66623209c Mon Sep 17 00:00:00 2001 From: millingermarkus Date: Thu, 4 Jul 2024 10:18:19 +0200 Subject: [PATCH] Added biomass imports to prepare sector network --- config/config.default.yaml | 6 ++++ scripts/prepare_sector_network.py | 46 +++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/config/config.default.yaml b/config/config.default.yaml index ee61d366..a618ed95 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -628,6 +628,11 @@ sector: max_boost: 0.25 var_cf: true sustainability_factor: 0.0025 + solid_biomass_import: + enable: false + price: 54 #EUR/MWh + max_amount: 5 #EJ + upstream_emissions_factor: .1 #share of solid biomass CO2 emissions at full combustion # docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#industry industry: @@ -1017,6 +1022,7 @@ plotting: biogas: '#e3d37d' biomass: '#baa741' solid biomass: '#baa741' + solid biomass import: '#d5ca8d' solid biomass transport: '#baa741' solid biomass for industry: '#7a6d26' solid biomass for industry CC: '#47411c' diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index dfa06cac..8332858a 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -2285,6 +2285,52 @@ def add_biomass(n, costs): e_initial=solid_biomass_potentials_spatial, ) + if options["solid_biomass_import"].get("enable", False): + biomass_import_price = options["solid_biomass_import"]["price"] + biomass_import_max_amount = round(options["solid_biomass_import"]["max_amount"] + * 1e9 / 3.6,0) #EJ --> MWh + biomass_import_upstream_emissions = round(options["solid_biomass_import"]["upstream_emissions_factor"] + * costs.at['solid biomass', 'CO2 intensity'],4) + + print("Adding biomass import with cost", biomass_import_price, + "EUR/MWh, a limit of", options["solid_biomass_import"]["max_amount"], + "EJ, and embedded emissions of", + options["solid_biomass_import"]["upstream_emissions_factor"] * 100, '%') + + n.add("Carrier", "solid biomass import") + + n.madd( + "Bus", + ["EU solid biomass import"], + location="EU", + carrier="solid biomass import" + ) + + n.madd( + "Store", + ["solid biomass import"], + bus=["EU solid biomass import"], + carrier="solid biomass import", + e_nom=biomass_import_max_amount, + marginal_cost=biomass_import_price, + e_initial=biomass_import_max_amount + ) + + n.madd( + "Link", + spatial.biomass.nodes, + suffix=" solid biomass import", + bus0=["EU solid biomass import"], + bus1=spatial.biomass.nodes, + bus2="co2 atmosphere", + carrier="solid biomass import", + efficiency=1., + efficiency2=biomass_import_upstream_emissions, + p_nom_extendable=True + ) + + + n.madd( "Link", spatial.gas.biogas_to_gas,