Merge branch 'master' into jrc-idees-2020

This commit is contained in:
lisazeyen 2024-08-07 11:58:22 +02:00 committed by GitHub
commit 95903eeca7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 413 additions and 200 deletions

View File

@ -65,10 +65,10 @@ The dataset consists of:
(alternating current lines at and above 220kV voltage level and all high
voltage direct current lines) and 3803 substations.
- The open power plant database
[powerplantmatching](https://github.com/FRESNA/powerplantmatching).
[powerplantmatching](https://github.com/PyPSA/powerplantmatching).
- Electrical demand time series from the
[OPSD project](https://open-power-system-data.org/).
- Renewable time series based on ERA5 and SARAH, assembled using the [atlite tool](https://github.com/FRESNA/atlite).
- Renewable time series based on ERA5 and SARAH, assembled using the [atlite tool](https://github.com/PyPSA/atlite).
- Geographical potentials for wind and solar generators based on land use (CORINE) and excluding nature reserves (Natura2000) are computed with the [atlite library](https://github.com/PyPSA/atlite).
A sector-coupled extension adds demand

View File

@ -355,7 +355,6 @@ biomass:
- Secondary Forestry residues - woodchips
- Sawdust
- Residues from landscape care
- Municipal waste
not included:
- Sugar from sugar beet
- Rape seed
@ -369,6 +368,8 @@ biomass:
biogas:
- Manure solid, liquid
- Sludge
municipal solid waste:
- Municipal waste
# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#solar-thermal
solar_thermal:
@ -397,6 +398,7 @@ sector:
biomass: true
industry: true
agriculture: true
fossil_fuels: true
district_heating:
potential: 0.6
progress:
@ -596,7 +598,9 @@ sector:
conventional_generation:
OCGT: gas
biomass_to_liquid: false
electrobiofuels: false
biosng: false
municipal_solid_waste: false
limit_max_growth:
enable: false
# allowing 30% larger than max historic growth
@ -618,6 +622,12 @@ sector:
max_boost: 0.25
var_cf: true
sustainability_factor: 0.0025
solid_biomass_import:
enable: false
price: 54 #EUR/MWh
max_amount: 1390 # TWh
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:
@ -1015,6 +1025,8 @@ plotting:
biogas: '#e3d37d'
biomass: '#baa741'
solid biomass: '#baa741'
municipal solid waste: '#91ba41'
solid biomass import: '#d5ca8d'
solid biomass transport: '#baa741'
solid biomass for industry: '#7a6d26'
solid biomass for industry CC: '#47411c'
@ -1028,6 +1040,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'

View File

@ -5,7 +5,7 @@ Cross-Channel,France - Echingen 50°4148″N 1°3821″E / 50.69667
Volgograd-Donbass,Russia - Volzhskaya 48°4934″N 44°4020″E / 48.82611°N 44.67222°E,Ukraine - Mikhailovskaya 48°3913″N 38°3356″E / 48.65361°N 38.56556°E,475(0/475),400,750.0,1965,Merc/Thyr,Shut down in 2014,[1],44.672222222222224,48.82611111111111,38.565555555555555,48.65361111111111
Konti-Skan 1,Denmark - Vester Hassing 57°346″N 10°524″E / 57.06278°N 10.09000°E,Sweden - Stenkullen 57°4815″N 12°1913″E / 57.80417°N 12.32028°E,176(87/89),250,250.0,1965,Merc,Replaced in August 2006 by modern converters using thyristors,[1],10.09,57.062777777777775,12.320277777777777,57.80416666666667
SACOI 1a,Italy - Suvereto 43°310″N 10°4142″E / 43.05278°N 10.69500°E ( before 1992: Italy - San Dalmazio 43°1543″N 10°5505″E / 43.26194°N 10.91806°E),"France- Lucciana 42°3140″N 9°2659″E / 42.52778°N 9.44972°E",483(365/118),200,200.0,1965,Merc,"Replaced in 1986 by Thyr- multiterminal scheme",[1],10.695,43.05277777777778,9.449722222222222,42.52777777777778
SACOI 1b,"France- Lucciana 42°3140″N 9°2659″E / 42.52778°N 9.44972°E", "Codrongianos- Italy 40°397″N 8°4248″E / 40.65194°N 8.71333°E",483(365/118),200,200.0,1965,Merc,"Replaced in 1986 by Thyr- multiterminal scheme",[1],9.449722222222222,42.52777777777778,8.679351,40.65765
SACOI 1b,"France- Lucciana 42°3140″N 9°2659″E / 42.52778°N 9.44972°E","Codrongianos- Italy 40°397″N 8°4248″E / 40.65194°N 8.71333°E",483(365/118),200,200.0,1965,Merc,"Replaced in 1986 by Thyr- multiterminal scheme",[1],9.449722222222222,42.52777777777778,8.679351,40.65765
Kingsnorth,UK - Kingsnorth 51°2511″N 0°3546″E / 51.41972°N 0.59611°E,UK - London-Beddington 51°2223″N 0°738″W / 51.37306°N 0.12722°W,85(85/0),266,320.0,1975,Merc,Bipolar scheme Supplier: English Electric Shut down in 1987,[33],0.5961111111111111,51.41972222222222,-0.1272222222222222,51.37305555555555
Skagerrak 1 + 2,Denmark - Tjele 56°2844″N 9°341″E / 56.47889°N 9.56694°E,Norway - Kristiansand 58°1536″N 7°5355″E / 58.26000°N 7.89861°E,230(130/100),250,500.0,1977,Thyr,Supplier: STK(Nexans) Control system upgrade by ABB in 2007,[34][35][36],9.566944444444445,56.47888888888889,7.898611111111111,58.26
Gotland 2,Sweden - Västervik 57°4341″N 16°3851″E / 57.72806°N 16.64750°E,Sweden - Yigne 57°3513″N 18°1144″E / 57.58694°N 18.19556°E,99.5(92.9/6.6),150,130.0,1983,Thyr,Supplier: ABB,,16.6475,57.72805555555556,18.195555555555554,57.58694444444444
@ -23,7 +23,7 @@ Visby-Nas,Sweden - Nas 57°0558″N 18°1427″E / 57.09944°N 18.24
SwePol,Poland - Wierzbięcin 54°308″N 16°5328″E / 54.50222°N 16.89111°E,Sweden - Stärnö 56°911″N 14°5029″E / 56.15306°N 14.84139°E,245(245/0),450,600.0,2000,Thyr,Supplier: ABB,[38],16.891111111111112,54.50222222222222,14.841388888888888,56.153055555555554
Tjæreborg,Denmark - Tjæreborg/Enge 55°2652″N 8°3534″E / 55.44778°N 8.59278°E,Denmark - Tjæreborg/Substation 55°2807″N 8°3336″E / 55.46861°N 8.56000°E,4.3(4.3/0),9,7.0,2000,IGBT,Interconnection to wind power generating stations,,8.592777777777778,55.44777777777778,8.56,55.46861111111111
Italy-Greece,Greece - Arachthos 39°1100″N 20°5748″E / 39.18333°N 20.96333°E,Italy - Galatina 40°953″N 18°749″E / 40.16472°N 18.13028°E,310(200/110),400,500.0,2001,Thyr,,,20.963333333333335,39.18333333333333,18.130277777777778,40.164722222222224
Moyle,UK - Auchencrosh 55°0410″N 4°5850″W / 55.06944°N 4.98056°W,UK - N. Ireland- Ballycronan More 54°5034″N 5°4611″W / 54.84278°N 5.76972°W,63.5(63.5/0),250,2501.0,2001,Thyr,"Supplier: Siemens- Nexans",[39],-4.980555555555556,55.06944444444444,-5.769722222222223,54.842777777777776
Moyle,UK - Auchencrosh 55°0410″N 4°5850″W / 55.06944°N 4.98056°W,UK - N. Ireland- Ballycronan More 54°5034″N 5°4611″W / 54.84278°N 5.76972°W,63.5(63.5/0),250,500.0,2001,Thyr,"Supplier: Siemens- Nexans",[39],-4.980555555555556,55.06944444444444,-5.769722222222223,54.842777777777776
HVDC Troll,Norway - Kollsnes 60°3301″N 4°5026″E / 60.55028°N 4.84056°E,Norway - Offshore platform Troll A 60°4000″N 3°4000″E / 60.66667°N 3.66667°E,70(70/0),60,80.0,2004,IGBT,Power supply for offshore gas compressor Supplier: ABB,[40],4.8405555555555555,60.55027777777778,3.6666666666666665,60.666666666666664
Estlink,Finland - Espoo 60°1214″N 24°3306″E / 60.20389°N 24.55167°E,Estonia - Harku 59°235″N 24°3337″E / 59.38472°N 24.56028°E,105(105/0),150,350.0,2006,IGBT,Supplier: ABB,[40],24.551666666666666,60.20388888888889,24.560277777777777,59.38472222222222
NorNed,Netherlands - Eemshaven 53°264″N 6°5157″E / 53.43444°N 6.86583°E,Norway - Feda 58°1658″N 6°5155″E / 58.28278°N 6.86528°E,580(580/0),450,700.0,2008,Thyr,"Supplier: ABB- Nexans",[40],6.865833333333334,53.434444444444445,6.865277777777778,58.28277777777778

1 Name Converterstation 1 Converterstation 2 Total Length (Cable/Pole) (km) Volt (kV) Power (MW) Year Type Remarks Ref x1 y1 x2 y2
5 Volgograd-Donbass Russia - Volzhskaya 48°49′34″N 44°40′20″E / 48.82611°N 44.67222°E Ukraine - Mikhailovskaya 48°39′13″N 38°33′56″E / 48.65361°N 38.56556°E 475(0/475) 400 750.0 1965 Merc/Thyr Shut down in 2014 [1] 44.672222222222224 48.82611111111111 38.565555555555555 48.65361111111111
6 Konti-Skan 1 Denmark - Vester Hassing 57°3′46″N 10°5′24″E / 57.06278°N 10.09000°E Sweden - Stenkullen 57°48′15″N 12°19′13″E / 57.80417°N 12.32028°E 176(87/89) 250 250.0 1965 Merc Replaced in August 2006 by modern converters using thyristors [1] 10.09 57.062777777777775 12.320277777777777 57.80416666666667
7 SACOI 1a Italy - Suvereto 43°3′10″N 10°41′42″E / 43.05278°N 10.69500°E ( before 1992: Italy - San Dalmazio 43°15′43″N 10°55′05″E / 43.26194°N 10.91806°E) France- Lucciana 42°31′40″N 9°26′59″E / 42.52778°N 9.44972°E 483(365/118) 200 200.0 1965 Merc Replaced in 1986 by Thyr- multiterminal scheme [1] 10.695 43.05277777777778 9.449722222222222 42.52777777777778
8 SACOI 1b France- Lucciana 42°31′40″N 9°26′59″E / 42.52778°N 9.44972°E Codrongianos- Italy 40°39′7″N 8°42′48″E / 40.65194°N 8.71333°E 483(365/118) 200 200.0 1965 Merc Replaced in 1986 by Thyr- multiterminal scheme [1] 9.449722222222222 42.52777777777778 8.679351 40.65765
9 Kingsnorth UK - Kingsnorth 51°25′11″N 0°35′46″E / 51.41972°N 0.59611°E UK - London-Beddington 51°22′23″N 0°7′38″W / 51.37306°N 0.12722°W 85(85/0) 266 320.0 1975 Merc Bipolar scheme Supplier: English Electric Shut down in 1987 [33] 0.5961111111111111 51.41972222222222 -0.1272222222222222 51.37305555555555
10 Skagerrak 1 + 2 Denmark - Tjele 56°28′44″N 9°34′1″E / 56.47889°N 9.56694°E Norway - Kristiansand 58°15′36″N 7°53′55″E / 58.26000°N 7.89861°E 230(130/100) 250 500.0 1977 Thyr Supplier: STK(Nexans) Control system upgrade by ABB in 2007 [34][35][36] 9.566944444444445 56.47888888888889 7.898611111111111 58.26
11 Gotland 2 Sweden - Västervik 57°43′41″N 16°38′51″E / 57.72806°N 16.64750°E Sweden - Yigne 57°35′13″N 18°11′44″E / 57.58694°N 18.19556°E 99.5(92.9/6.6) 150 130.0 1983 Thyr Supplier: ABB 16.6475 57.72805555555556 18.195555555555554 57.58694444444444
23 SwePol Poland - Wierzbięcin 54°30′8″N 16°53′28″E / 54.50222°N 16.89111°E Sweden - Stärnö 56°9′11″N 14°50′29″E / 56.15306°N 14.84139°E 245(245/0) 450 600.0 2000 Thyr Supplier: ABB [38] 16.891111111111112 54.50222222222222 14.841388888888888 56.153055555555554
24 Tjæreborg Denmark - Tjæreborg/Enge 55°26′52″N 8°35′34″E / 55.44778°N 8.59278°E Denmark - Tjæreborg/Substation 55°28′07″N 8°33′36″E / 55.46861°N 8.56000°E 4.3(4.3/0) 9 7.0 2000 IGBT Interconnection to wind power generating stations 8.592777777777778 55.44777777777778 8.56 55.46861111111111
25 Italy-Greece Greece - Arachthos 39°11′00″N 20°57′48″E / 39.18333°N 20.96333°E Italy - Galatina 40°9′53″N 18°7′49″E / 40.16472°N 18.13028°E 310(200/110) 400 500.0 2001 Thyr 20.963333333333335 39.18333333333333 18.130277777777778 40.164722222222224
26 Moyle UK - Auchencrosh 55°04′10″N 4°58′50″W / 55.06944°N 4.98056°W UK - N. Ireland- Ballycronan More 54°50′34″N 5°46′11″W / 54.84278°N 5.76972°W 63.5(63.5/0) 250 2501.0 500.0 2001 Thyr Supplier: Siemens- Nexans [39] -4.980555555555556 55.06944444444444 -5.769722222222223 54.842777777777776
27 HVDC Troll Norway - Kollsnes 60°33′01″N 4°50′26″E / 60.55028°N 4.84056°E Norway - Offshore platform Troll A 60°40′00″N 3°40′00″E / 60.66667°N 3.66667°E 70(70/0) 60 80.0 2004 IGBT Power supply for offshore gas compressor Supplier: ABB [40] 4.8405555555555555 60.55027777777778 3.6666666666666665 60.666666666666664
28 Estlink Finland - Espoo 60°12′14″N 24°33′06″E / 60.20389°N 24.55167°E Estonia - Harku 59°23′5″N 24°33′37″E / 59.38472°N 24.56028°E 105(105/0) 150 350.0 2006 IGBT Supplier: ABB [40] 24.551666666666666 60.20388888888889 24.560277777777777 59.38472222222222
29 NorNed Netherlands - Eemshaven 53°26′4″N 6°51′57″E / 53.43444°N 6.86583°E Norway - Feda 58°16′58″N 6°51′55″E / 58.28278°N 6.86528°E 580(580/0) 450 700.0 2008 Thyr Supplier: ABB- Nexans [40] 6.865833333333334 53.434444444444445 6.865277777777778 58.28277777777778

View File

@ -341,4 +341,6 @@ texinfo_documents = [
# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {"https://docs.python.org/": None}
intersphinx_mapping = {
'https://docs.python.org/': ('https://docs.python.org/3', None),
}

View File

@ -1,155 +1,162 @@
,Unit,Values,Description
transport,--,"{true, false}",Flag to include transport sector.
heating,--,"{true, false}",Flag to include heating sector.
biomass,--,"{true, false}",Flag to include biomass sector.
industry,--,"{true, false}",Flag to include industry sector.
agriculture,--,"{true, false}",Flag to include agriculture sector.
district_heating,--,,`prepare_sector_network.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/prepare_sector_network.py>`_
-- potential,--,float,maximum fraction of urban demand which can be supplied by district heating. Ignored where below current fraction.
-- progress,--,Dictionary with planning horizons as keys., Increase of today's district heating demand to potential maximum district heating share. Progress = 0 means today's district heating share. Progress = 1 means maximum fraction of urban demand is supplied by district heating
-- district_heating_loss,--,float,Share increase in district heat demand in urban central due to heat losses
cluster_heat_buses,--,"{true, false}",Cluster residential and service heat buses in `prepare_sector_network.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/prepare_sector_network.py>`_ to one to save memory.
,,,
bev_dsm_restriction _value,--,float,Adds a lower state of charge (SOC) limit for battery electric vehicles (BEV) to manage its own energy demand (DSM). Located in `build_transport_demand.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/build_transport_demand.py>`_. Set to 0 for no restriction on BEV DSM
bev_dsm_restriction _time,--,float,Time at which SOC of BEV has to be dsm_restriction_value
transport_heating _deadband_upper,°C,float,"The maximum temperature in the vehicle. At higher temperatures, the energy required for cooling in the vehicle increases."
transport_heating _deadband_lower,°C,float,"The minimum temperature in the vehicle. At lower temperatures, the energy required for heating in the vehicle increases."
,,,
ICE_lower_degree_factor,--,float,Share increase in energy demand in internal combustion engine (ICE) for each degree difference between the cold environment and the minimum temperature.
ICE_upper_degree_factor,--,float,Share increase in energy demand in internal combustion engine (ICE) for each degree difference between the hot environment and the maximum temperature.
EV_lower_degree_factor,--,float,Share increase in energy demand in electric vehicles (EV) for each degree difference between the cold environment and the minimum temperature.
EV_upper_degree_factor,--,float,Share increase in energy demand in electric vehicles (EV) for each degree difference between the hot environment and the maximum temperature.
bev_dsm,--,"{true, false}",Add the option for battery electric vehicles (BEV) to participate in demand-side management (DSM)
,,,
bev_availability,--,float,The share for battery electric vehicles (BEV) that are able to do demand side management (DSM)
bev_energy,--,float,The average size of battery electric vehicles (BEV) in MWh
bev_charge_efficiency,--,float,Battery electric vehicles (BEV) charge and discharge efficiency
bev_charge_rate,MWh,float,The power consumption for one electric vehicle (EV) in MWh. Value derived from 3-phase charger with 11 kW.
bev_avail_max,--,float,The maximum share plugged-in availability for passenger electric vehicles.
bev_avail_mean,--,float,The average share plugged-in availability for passenger electric vehicles.
v2g,--,"{true, false}",Allows feed-in to grid from EV battery
land_transport_fuel_cell _share,--,Dictionary with planning horizons as keys.,The share of vehicles that uses fuel cells in a given year
land_transport_electric _share,--,Dictionary with planning horizons as keys.,The share of vehicles that uses electric vehicles (EV) in a given year
land_transport_ice _share,--,Dictionary with planning horizons as keys.,The share of vehicles that uses internal combustion engines (ICE) in a given year. What is not EV or FCEV is oil-fuelled ICE.
transport_electric_efficiency,MWh/100km,float,The conversion efficiencies of electric vehicles in transport
transport_fuel_cell_efficiency,MWh/100km,float,The H2 conversion efficiencies of fuel cells in transport
transport_ice_efficiency,MWh/100km,float,The oil conversion efficiencies of internal combustion engine (ICE) in transport
agriculture_machinery _electric_share,--,float,The share for agricultural machinery that uses electricity
agriculture_machinery _oil_share,--,float,The share for agricultural machinery that uses oil
agriculture_machinery _fuel_efficiency,--,float,The efficiency of electric-powered machinery in the conversion of electricity to meet agricultural needs.
agriculture_machinery _electric_efficiency,--,float,The efficiency of oil-powered machinery in the conversion of oil to meet agricultural needs.
Mwh_MeOH_per_MWh_H2,LHV,float,"The energy amount of the produced methanol per energy amount of hydrogen. From `DECHEMA (2017) <https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry-p-20002750.pdf>`_, page 64."
MWh_MeOH_per_tCO2,LHV,float,"The energy amount of the produced methanol per ton of CO2. From `DECHEMA (2017) <https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry-p-20002750.pdf>`_, page 66."
MWh_MeOH_per_MWh_e,LHV,float,"The energy amount of the produced methanol per energy amount of electricity. From `DECHEMA (2017) <https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry-p-20002750.pdf>`_, page 64."
shipping_hydrogen _liquefaction,--,"{true, false}",Whether to include liquefaction costs for hydrogen demand in shipping.
,,,
shipping_hydrogen_share,--,Dictionary with planning horizons as keys.,The share of ships powered by hydrogen in a given year
shipping_methanol_share,--,Dictionary with planning horizons as keys.,The share of ships powered by methanol in a given year
shipping_oil_share,--,Dictionary with planning horizons as keys.,The share of ships powered by oil in a given year
shipping_methanol _efficiency,--,float,The efficiency of methanol-powered ships in the conversion of methanol to meet shipping needs (propulsion). The efficiency increase from oil can be 10-15% higher according to the `IEA <https://www.iea-amf.org/app/webroot/files/file/Annex%20Reports/AMF_Annex_56.pdf>`_
,,,
shipping_oil_efficiency,--,float,The efficiency of oil-powered ships in the conversion of oil to meet shipping needs (propulsion). Base value derived from 2011
aviation_demand_factor,--,float,The proportion of demand for aviation compared to today's consumption
HVC_demand_factor,--,float,The proportion of demand for high-value chemicals compared to today's consumption
,,,
time_dep_hp_cop,--,"{true, false}",Consider the time dependent coefficient of performance (COP) of the heat pump
heat_pump_sink_T,°C,float,The temperature heat sink used in heat pumps based on DTU / large area radiators. The value is conservatively high to cover hot water and space heating in poorly-insulated buildings
reduce_space_heat _exogenously,--,"{true, false}",Influence on space heating demand by a certain factor (applied before losses in district heating).
reduce_space_heat _exogenously_factor,--,Dictionary with planning horizons as keys.,"A positive factor can mean renovation or demolition of a building. If the factor is negative, it can mean an increase in floor area, increased thermal comfort, population growth. The default factors are determined by the `Eurocalc Homes and buildings decarbonization scenario <http://tool.european-calculator.eu/app/buildings/building-types-area/?levers=1ddd4444421213bdbbbddd44444ffffff11f411111221111211l212221>`_"
retrofitting,,,
-- retro_endogen,--,"{true, false}",Add retrofitting as an endogenous system which co-optimise space heat savings.
-- cost_factor,--,float,Weight costs for building renovation
-- interest_rate,--,float,The interest rate for investment in building components
-- annualise_cost,--,"{true, false}",Annualise the investment costs of retrofitting
-- tax_weighting,--,"{true, false}",Weight the costs of retrofitting depending on taxes in countries
-- construction_index,--,"{true, false}",Weight the costs of retrofitting depending on labour/material costs per country
tes,--,"{true, false}",Add option for storing thermal energy in large water pits associated with district heating systems and individual thermal energy storage (TES)
tes_tau,,,The time constant used to calculate the decay of thermal energy in thermal energy storage (TES): 1- :math:`e^{-1/24τ}`.
-- decentral,days,float,The time constant in decentralized thermal energy storage (TES)
-- central,days,float,The time constant in centralized thermal energy storage (TES)
boilers,--,"{true, false}",Add option for transforming gas into heat using gas boilers
resistive_heaters,--,"{true, false}",Add option for transforming electricity into heat using resistive heaters (independently from gas boilers)
oil_boilers,--,"{true, false}",Add option for transforming oil into heat using boilers
biomass_boiler,--,"{true, false}",Add option for transforming biomass into heat using boilers
overdimension_individual_heating,--,"float",Add option for overdimensioning individual heating systems by a certain factor. This allows them to cover heat demand peaks e.g. 10% higher than those in the data with a setting of 1.1.
chp,--,"{true, false}",Add option for using Combined Heat and Power (CHP)
micro_chp,--,"{true, false}",Add option for using Combined Heat and Power (CHP) for decentral areas.
solar_thermal,--,"{true, false}",Add option for using solar thermal to generate heat.
solar_cf_correction,--,float,The correction factor for the value provided by the solar thermal profile calculations
marginal_cost_storage,currency/MWh ,float,The marginal cost of discharging batteries in distributed grids
methanation,--,"{true, false}",Add option for transforming hydrogen and CO2 into methane using methanation.
coal_cc,--,"{true, false}",Add option for coal CHPs with carbon capture
dac,--,"{true, false}",Add option for Direct Air Capture (DAC)
co2_vent,--,"{true, false}",Add option for vent out CO2 from storages to the atmosphere.
allam_cycle,--,"{true, false}",Add option to include `Allam cycle gas power plants <https://en.wikipedia.org/wiki/Allam_power_cycle>`_
hydrogen_fuel_cell,--,"{true, false}",Add option to include hydrogen fuel cell for re-electrification. Assuming OCGT technology costs
hydrogen_turbine,--,"{true, false}",Add option to include hydrogen turbine for re-electrification. Assuming OCGT technology costs
SMR,--,"{true, false}",Add option for transforming natural gas into hydrogen and CO2 using Steam Methane Reforming (SMR)
SMR CC,--,"{true, false}",Add option for transforming natural gas into hydrogen and CO2 using Steam Methane Reforming (SMR) and Carbon Capture (CC)
regional_methanol_demand,--,"{true, false}",Spatially resolve methanol demand. Set to true if regional CO2 constraints needed.
regional_oil_demand,--,"{true, false}",Spatially resolve oil demand. Set to true if regional CO2 constraints needed.
regional_co2 _sequestration_potential,,,
-- enable,--,"{true, false}",Add option for regionally-resolved geological carbon dioxide sequestration potentials based on `CO2StoP <https://setis.ec.europa.eu/european-co2-storage-database_en>`_.
-- attribute,--,string or list,Name (or list of names) of the attribute(s) for the sequestration potential
-- include_onshore,--,"{true, false}",Add options for including onshore sequestration potentials
-- min_size,Gt ,float,Any sites with lower potential than this value will be excluded
-- max_size,Gt ,float,The maximum sequestration potential for any one site.
-- years_of_storage,years,float,The years until potential exhausted at optimised annual rate
co2_sequestration_potential,MtCO2/a,float,The potential of sequestering CO2 in Europe per year
co2_sequestration_cost,currency/tCO2,float,The cost of sequestering a ton of CO2
co2_sequestration_lifetime,years,int,The lifetime of a CO2 sequestration site
co2_spatial,--,"{true, false}","Add option to spatially resolve carrier representing stored carbon dioxide. This allows for more detailed modelling of CCUTS, e.g. regarding the capturing of industrial process emissions, usage as feedstock for electrofuels, transport of carbon dioxide, and geological sequestration sites."
,,,
co2network,--,"{true, false}",Add option for planning a new carbon dioxide transmission network
co2_network_cost_factor,p.u.,float,The cost factor for the capital cost of the carbon dioxide transmission network
,,,
cc_fraction,--,float,The default fraction of CO2 captured with post-combustion capture
hydrogen_underground _storage,--,"{true, false}",Add options for storing hydrogen underground. Storage potential depends regionally.
hydrogen_underground _storage_locations,,"{onshore, nearshore, offshore}","The location where hydrogen underground storage can be located. Onshore, nearshore, offshore means it must be located more than 50 km away from the sea, within 50 km of the sea, or within the sea itself respectively."
,,,
ammonia,--,"{true, false, regional}","Add ammonia as a carrrier. It can be either true (copperplated NH3), false (no NH3 carrier) or ""regional"" (regionalised NH3 without network)"
min_part_load_fischer _tropsch,per unit of p_nom ,float,The minimum unit dispatch (``p_min_pu``) for the Fischer-Tropsch process
min_part_load _methanolisation,per unit of p_nom ,float,The minimum unit dispatch (``p_min_pu``) for the methanolisation process
,,,
use_fischer_tropsch _waste_heat,--,"{true, false}",Add option for using waste heat of Fischer Tropsch in district heating networks
use_fuel_cell_waste_heat,--,"{true, false}",Add option for using waste heat of fuel cells in district heating networks
use_electrolysis_waste _heat,--,"{true, false}",Add option for using waste heat of electrolysis in district heating networks
electricity_transmission _grid,--,"{true, false}",Switch for enabling/disabling the electricity transmission grid.
electricity_distribution _grid,--,"{true, false}",Add a simplified representation of the exchange capacity between transmission and distribution grid level through a link.
electricity_distribution _grid_cost_factor,,,Multiplies the investment cost of the electricity distribution grid
,,,
electricity_grid _connection,--,"{true, false}",Add the cost of electricity grid connection for onshore wind and solar
transmission_efficiency,,,Section to specify transmission losses or compression energy demands of bidirectional links. Splits them into two capacity-linked unidirectional links.
-- {carrier},--,str,The carrier of the link.
-- -- efficiency_static,p.u.,float,Length-independent transmission efficiency.
-- -- efficiency_per_1000km,p.u. per 1000 km,float,Length-dependent transmission efficiency ($\eta^{\text{length}}$)
-- -- compression_per_1000km,p.u. per 1000 km,float,Length-dependent electricity demand for compression ($\eta \cdot \text{length}$) implemented as multi-link to local electricity bus.
H2_network,--,"{true, false}",Add option for new hydrogen pipelines
gas_network,--,"{true, false}","Add existing natural gas infrastructure, incl. LNG terminals, production and entry-points. The existing gas network is added with a lossless transport model. A length-weighted `k-edge augmentation algorithm <https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation.html#networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation>`_ can be run to add new candidate gas pipelines such that all regions of the model can be connected to the gas network. When activated, all the gas demands are regionally disaggregated as well."
H2_retrofit,--,"{true, false}",Add option for retrofiting existing pipelines to transport hydrogen.
H2_retrofit_capacity _per_CH4,--,float,"The ratio for H2 capacity per original CH4 capacity of retrofitted pipelines. The `European Hydrogen Backbone (April, 2020) p.15 <https://gasforclimate2050.eu/wp-content/uploads/2020/07/2020_European-Hydrogen-Backbone_Report.pdf>`_ 60% of original natural gas capacity could be used in cost-optimal case as H2 capacity."
gas_network_connectivity _upgrade ,--,float,The number of desired edge connectivity (k) in the length-weighted `k-edge augmentation algorithm <https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation.html#networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation>`_ used for the gas network
gas_distribution_grid,--,"{true, false}",Add a gas distribution grid
gas_distribution_grid _cost_factor,,,Multiplier for the investment cost of the gas distribution grid
,,,
biomass_spatial,--,"{true, false}",Add option for resolving biomass demand regionally
biomass_transport,--,"{true, false}",Add option for transporting solid biomass between nodes
biogas_upgrading_cc,--,"{true, false}",Add option to capture CO2 from biomass upgrading
conventional_generation,,,Add a more detailed description of conventional carriers. Any power generation requires the consumption of fuel from nodes representing that fuel.
biomass_to_liquid,--,"{true, false}",Add option for transforming solid biomass into liquid fuel with the same properties as oil
biosng,--,"{true, false}",Add option for transforming solid biomass into synthesis gas with the same properties as natural gas
limit_max_growth,,,
-- enable,--,"{true, false}",Add option to limit the maximum growth of a carrier
-- factor,p.u.,float,The maximum growth factor of a carrier (e.g. 1.3 allows 30% larger than max historic growth)
-- max_growth,,,
-- -- {carrier},GW,float,The historic maximum growth of a carrier
-- max_relative_growth,,,
-- -- {carrier},p.u.,float,The historic maximum relative growth of a carrier
,,,
enhanced_geothermal,,,
-- enable,--,"{true, false}",Add option to include Enhanced Geothermal Systems
-- flexible,--,"{true, false}",Add option for flexible operation (see Ricks et al. 2024)
-- max_hours,--,int,The maximum hours the reservoir can be charged under flexible operation
-- max_boost,--,float,The maximum boost in power output under flexible operation
-- var_cf,--,"{true, false}",Add option for variable capacity factor (see Ricks et al. 2024)
-- sustainability_factor,--,float,Share of sourced heat that is replenished by the earth's core (see details in `build_egs_potentials.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/build_egs_potentials.py>`_)
,Unit,Values,Description
transport,--,"{true, false}",Flag to include transport sector.
heating,--,"{true, false}",Flag to include heating sector.
biomass,--,"{true, false}",Flag to include biomass sector.
industry,--,"{true, false}",Flag to include industry sector.
agriculture,--,"{true, false}",Flag to include agriculture sector.
fossil_fuels,--,"{true, false}","Flag to include imports of fossil fuels ( [""coal"", ""gas"", ""oil"", ""lignite""])"
district_heating,--,,`prepare_sector_network.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/prepare_sector_network.py>`_
-- potential,--,float,maximum fraction of urban demand which can be supplied by district heating
-- progress,--,Dictionary with planning horizons as keys., Increase of today's district heating demand to potential maximum district heating share. Progress = 0 means today's district heating share. Progress = 1 means maximum fraction of urban demand is supplied by district heating
-- district_heating_loss,--,float,Share increase in district heat demand in urban central due to heat losses
cluster_heat_buses,--,"{true, false}",Cluster residential and service heat buses in `prepare_sector_network.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/prepare_sector_network.py>`_ to one to save memory.
,,,
bev_dsm_restriction _value,--,float,Adds a lower state of charge (SOC) limit for battery electric vehicles (BEV) to manage its own energy demand (DSM). Located in `build_transport_demand.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/build_transport_demand.py>`_. Set to 0 for no restriction on BEV DSM
bev_dsm_restriction _time,--,float,Time at which SOC of BEV has to be dsm_restriction_value
transport_heating _deadband_upper,°C,float,"The maximum temperature in the vehicle. At higher temperatures, the energy required for cooling in the vehicle increases."
transport_heating _deadband_lower,°C,float,"The minimum temperature in the vehicle. At lower temperatures, the energy required for heating in the vehicle increases."
,,,
ICE_lower_degree_factor,--,float,Share increase in energy demand in internal combustion engine (ICE) for each degree difference between the cold environment and the minimum temperature.
ICE_upper_degree_factor,--,float,Share increase in energy demand in internal combustion engine (ICE) for each degree difference between the hot environment and the maximum temperature.
EV_lower_degree_factor,--,float,Share increase in energy demand in electric vehicles (EV) for each degree difference between the cold environment and the minimum temperature.
EV_upper_degree_factor,--,float,Share increase in energy demand in electric vehicles (EV) for each degree difference between the hot environment and the maximum temperature.
bev_dsm,--,"{true, false}",Add the option for battery electric vehicles (BEV) to participate in demand-side management (DSM)
,,,
bev_availability,--,float,The share for battery electric vehicles (BEV) that are able to do demand side management (DSM)
bev_energy,--,float,The average size of battery electric vehicles (BEV) in MWh
bev_charge_efficiency,--,float,Battery electric vehicles (BEV) charge and discharge efficiency
bev_charge_rate,MWh,float,The power consumption for one electric vehicle (EV) in MWh. Value derived from 3-phase charger with 11 kW.
bev_avail_max,--,float,The maximum share plugged-in availability for passenger electric vehicles.
bev_avail_mean,--,float,The average share plugged-in availability for passenger electric vehicles.
v2g,--,"{true, false}",Allows feed-in to grid from EV battery
land_transport_fuel_cell _share,--,Dictionary with planning horizons as keys.,The share of vehicles that uses fuel cells in a given year
land_transport_electric _share,--,Dictionary with planning horizons as keys.,The share of vehicles that uses electric vehicles (EV) in a given year
land_transport_ice _share,--,Dictionary with planning horizons as keys.,The share of vehicles that uses internal combustion engines (ICE) in a given year. What is not EV or FCEV is oil-fuelled ICE.
transport_electric_efficiency,MWh/100km,float,The conversion efficiencies of electric vehicles in transport
transport_fuel_cell_efficiency,MWh/100km,float,The H2 conversion efficiencies of fuel cells in transport
transport_ice_efficiency,MWh/100km,float,The oil conversion efficiencies of internal combustion engine (ICE) in transport
agriculture_machinery _electric_share,--,float,The share for agricultural machinery that uses electricity
agriculture_machinery _oil_share,--,float,The share for agricultural machinery that uses oil
agriculture_machinery _fuel_efficiency,--,float,The efficiency of electric-powered machinery in the conversion of electricity to meet agricultural needs.
agriculture_machinery _electric_efficiency,--,float,The efficiency of oil-powered machinery in the conversion of oil to meet agricultural needs.
Mwh_MeOH_per_MWh_H2,LHV,float,"The energy amount of the produced methanol per energy amount of hydrogen. From `DECHEMA (2017) <https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry-p-20002750.pdf>`_, page 64."
MWh_MeOH_per_tCO2,LHV,float,"The energy amount of the produced methanol per ton of CO2. From `DECHEMA (2017) <https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry-p-20002750.pdf>`_, page 66."
MWh_MeOH_per_MWh_e,LHV,float,"The energy amount of the produced methanol per energy amount of electricity. From `DECHEMA (2017) <https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry-p-20002750.pdf>`_, page 64."
shipping_hydrogen _liquefaction,--,"{true, false}",Whether to include liquefaction costs for hydrogen demand in shipping.
,,,
shipping_hydrogen_share,--,Dictionary with planning horizons as keys.,The share of ships powered by hydrogen in a given year
shipping_methanol_share,--,Dictionary with planning horizons as keys.,The share of ships powered by methanol in a given year
shipping_oil_share,--,Dictionary with planning horizons as keys.,The share of ships powered by oil in a given year
shipping_methanol _efficiency,--,float,The efficiency of methanol-powered ships in the conversion of methanol to meet shipping needs (propulsion). The efficiency increase from oil can be 10-15% higher according to the `IEA <https://www.iea-amf.org/app/webroot/files/file/Annex%20Reports/AMF_Annex_56.pdf>`_
,,,
shipping_oil_efficiency,--,float,The efficiency of oil-powered ships in the conversion of oil to meet shipping needs (propulsion). Base value derived from 2011
aviation_demand_factor,--,float,The proportion of demand for aviation compared to today's consumption
HVC_demand_factor,--,float,The proportion of demand for high-value chemicals compared to today's consumption
,,,
time_dep_hp_cop,--,"{true, false}",Consider the time dependent coefficient of performance (COP) of the heat pump
heat_pump_sink_T,°C,float,The temperature heat sink used in heat pumps based on DTU / large area radiators. The value is conservatively high to cover hot water and space heating in poorly-insulated buildings
reduce_space_heat _exogenously,--,"{true, false}",Influence on space heating demand by a certain factor (applied before losses in district heating).
reduce_space_heat _exogenously_factor,--,Dictionary with planning horizons as keys.,"A positive factor can mean renovation or demolition of a building. If the factor is negative, it can mean an increase in floor area, increased thermal comfort, population growth. The default factors are determined by the `Eurocalc Homes and buildings decarbonization scenario <http://tool.european-calculator.eu/app/buildings/building-types-area/?levers=1ddd4444421213bdbbbddd44444ffffff11f411111221111211l212221>`_"
retrofitting,,,
-- retro_endogen,--,"{true, false}",Add retrofitting as an endogenous system which co-optimise space heat savings.
-- cost_factor,--,float,Weight costs for building renovation
-- interest_rate,--,float,The interest rate for investment in building components
-- annualise_cost,--,"{true, false}",Annualise the investment costs of retrofitting
-- tax_weighting,--,"{true, false}",Weight the costs of retrofitting depending on taxes in countries
-- construction_index,--,"{true, false}",Weight the costs of retrofitting depending on labour/material costs per country
tes,--,"{true, false}",Add option for storing thermal energy in large water pits associated with district heating systems and individual thermal energy storage (TES)
tes_tau,,,The time constant used to calculate the decay of thermal energy in thermal energy storage (TES): 1- :math:`e^{-1/24τ}`.
-- decentral,days,float,The time constant in decentralized thermal energy storage (TES)
-- central,days,float,The time constant in centralized thermal energy storage (TES)
boilers,--,"{true, false}",Add option for transforming gas into heat using gas boilers
resistive_heaters,--,"{true, false}",Add option for transforming electricity into heat using resistive heaters (independently from gas boilers)
oil_boilers,--,"{true, false}",Add option for transforming oil into heat using boilers
biomass_boiler,--,"{true, false}",Add option for transforming biomass into heat using boilers
overdimension_individual_heating,--,float,Add option for overdimensioning individual heating systems by a certain factor. This allows them to cover heat demand peaks e.g. 10% higher than those in the data with a setting of 1.1.
chp,--,"{true, false}",Add option for using Combined Heat and Power (CHP)
micro_chp,--,"{true, false}",Add option for using Combined Heat and Power (CHP) for decentral areas.
solar_thermal,--,"{true, false}",Add option for using solar thermal to generate heat.
solar_cf_correction,--,float,The correction factor for the value provided by the solar thermal profile calculations
marginal_cost_storage,currency/MWh ,float,The marginal cost of discharging batteries in distributed grids
methanation,--,"{true, false}",Add option for transforming hydrogen and CO2 into methane using methanation.
coal_cc,--,"{true, false}",Add option for coal CHPs with carbon capture
dac,--,"{true, false}",Add option for Direct Air Capture (DAC)
co2_vent,--,"{true, false}",Add option for vent out CO2 from storages to the atmosphere.
allam_cycle,--,"{true, false}",Add option to include `Allam cycle gas power plants <https://en.wikipedia.org/wiki/Allam_power_cycle>`_
hydrogen_fuel_cell,--,"{true, false}",Add option to include hydrogen fuel cell for re-electrification. Assuming OCGT technology costs
hydrogen_turbine,--,"{true, false}",Add option to include hydrogen turbine for re-electrification. Assuming OCGT technology costs
SMR,--,"{true, false}",Add option for transforming natural gas into hydrogen and CO2 using Steam Methane Reforming (SMR)
SMR CC,--,"{true, false}",Add option for transforming natural gas into hydrogen and CO2 using Steam Methane Reforming (SMR) and Carbon Capture (CC)
regional_methanol_demand,--,"{true, false}",Spatially resolve methanol demand. Set to true if regional CO2 constraints needed.
regional_oil_demand,--,"{true, false}",Spatially resolve oil demand. Set to true if regional CO2 constraints needed.
regional_co2 _sequestration_potential,,,
-- enable,--,"{true, false}",Add option for regionally-resolved geological carbon dioxide sequestration potentials based on `CO2StoP <https://setis.ec.europa.eu/european-co2-storage-database_en>`_.
-- attribute,--,string or list,Name (or list of names) of the attribute(s) for the sequestration potential
-- include_onshore,--,"{true, false}",Add options for including onshore sequestration potentials
-- min_size,Gt ,float,Any sites with lower potential than this value will be excluded
-- max_size,Gt ,float,The maximum sequestration potential for any one site.
-- years_of_storage,years,float,The years until potential exhausted at optimised annual rate
co2_sequestration_potential,MtCO2/a,float,The potential of sequestering CO2 in Europe per year
co2_sequestration_cost,currency/tCO2,float,The cost of sequestering a ton of CO2
co2_sequestration_lifetime,years,int,The lifetime of a CO2 sequestration site
co2_spatial,--,"{true, false}","Add option to spatially resolve carrier representing stored carbon dioxide. This allows for more detailed modelling of CCUTS, e.g. regarding the capturing of industrial process emissions, usage as feedstock for electrofuels, transport of carbon dioxide, and geological sequestration sites."
,,,
co2network,--,"{true, false}",Add option for planning a new carbon dioxide transmission network
co2_network_cost_factor,p.u.,float,The cost factor for the capital cost of the carbon dioxide transmission network
,,,
cc_fraction,--,float,The default fraction of CO2 captured with post-combustion capture
hydrogen_underground _storage,--,"{true, false}",Add options for storing hydrogen underground. Storage potential depends regionally.
hydrogen_underground _storage_locations,,"{onshore, nearshore, offshore}","The location where hydrogen underground storage can be located. Onshore, nearshore, offshore means it must be located more than 50 km away from the sea, within 50 km of the sea, or within the sea itself respectively."
,,,
ammonia,--,"{true, false, regional}","Add ammonia as a carrrier. It can be either true (copperplated NH3), false (no NH3 carrier) or ""regional"" (regionalised NH3 without network)"
min_part_load_fischer _tropsch,per unit of p_nom ,float,The minimum unit dispatch (``p_min_pu``) for the Fischer-Tropsch process
min_part_load _methanolisation,per unit of p_nom ,float,The minimum unit dispatch (``p_min_pu``) for the methanolisation process
,,,
use_fischer_tropsch _waste_heat,--,"{true, false}",Add option for using waste heat of Fischer Tropsch in district heating networks
use_fuel_cell_waste_heat,--,"{true, false}",Add option for using waste heat of fuel cells in district heating networks
use_electrolysis_waste _heat,--,"{true, false}",Add option for using waste heat of electrolysis in district heating networks
electricity_transmission _grid,--,"{true, false}",Switch for enabling/disabling the electricity transmission grid.
electricity_distribution _grid,--,"{true, false}",Add a simplified representation of the exchange capacity between transmission and distribution grid level through a link.
electricity_distribution _grid_cost_factor,,,Multiplies the investment cost of the electricity distribution grid
,,,
electricity_grid _connection,--,"{true, false}",Add the cost of electricity grid connection for onshore wind and solar
transmission_efficiency,,,Section to specify transmission losses or compression energy demands of bidirectional links. Splits them into two capacity-linked unidirectional links.
-- {carrier},--,str,The carrier of the link.
-- -- efficiency_static,p.u.,float,Length-independent transmission efficiency.
-- -- efficiency_per_1000km,p.u. per 1000 km,float,Length-dependent transmission efficiency ($\eta^{\text{length}}$)
-- -- compression_per_1000km,p.u. per 1000 km,float,Length-dependent electricity demand for compression ($\eta \cdot \text{length}$) implemented as multi-link to local electricity bus.
H2_network,--,"{true, false}",Add option for new hydrogen pipelines
gas_network,--,"{true, false}","Add existing natural gas infrastructure, incl. LNG terminals, production and entry-points. The existing gas network is added with a lossless transport model. A length-weighted `k-edge augmentation algorithm <https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation.html#networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation>`_ can be run to add new candidate gas pipelines such that all regions of the model can be connected to the gas network. When activated, all the gas demands are regionally disaggregated as well."
H2_retrofit,--,"{true, false}",Add option for retrofiting existing pipelines to transport hydrogen.
H2_retrofit_capacity _per_CH4,--,float,"The ratio for H2 capacity per original CH4 capacity of retrofitted pipelines. The `European Hydrogen Backbone (April, 2020) p.15 <https://gasforclimate2050.eu/wp-content/uploads/2020/07/2020_European-Hydrogen-Backbone_Report.pdf>`_ 60% of original natural gas capacity could be used in cost-optimal case as H2 capacity."
gas_network_connectivity _upgrade ,--,float,The number of desired edge connectivity (k) in the length-weighted `k-edge augmentation algorithm <https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation.html#networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation>`_ used for the gas network
gas_distribution_grid,--,"{true, false}",Add a gas distribution grid
gas_distribution_grid _cost_factor,,,Multiplier for the investment cost of the gas distribution grid
,,,
biomass_spatial,--,"{true, false}",Add option for resolving biomass demand regionally
biomass_transport,--,"{true, false}",Add option for transporting solid biomass between nodes
biogas_upgrading_cc,--,"{true, false}",Add option to capture CO2 from biomass upgrading
conventional_generation,,,Add a more detailed description of conventional carriers. Any power generation requires the consumption of fuel from nodes representing that fuel.
biomass_to_liquid,--,"{true, false}",Add option for transforming solid biomass into liquid fuel with the same properties as oil
biosng,--,"{true, false}",Add option for transforming solid biomass into synthesis gas with the same properties as natural gas
municipal_solid_waste,--,"{true, false}",Add option for municipal solid waste
limit_max_growth,,,
-- enable,--,"{true, false}",Add option to limit the maximum growth of a carrier
-- factor,p.u.,float,The maximum growth factor of a carrier (e.g. 1.3 allows 30% larger than max historic growth)
-- max_growth,,,
-- -- {carrier},GW,float,The historic maximum growth of a carrier
-- max_relative_growth,,,
-- -- {carrier},p.u.,float,The historic maximum relative growth of a carrier
,,,
enhanced_geothermal,,,
-- enable,--,"{true, false}",Add option to include Enhanced Geothermal Systems
-- flexible,--,"{true, false}",Add option for flexible operation (see Ricks et al. 2024)
-- max_hours,--,int,The maximum hours the reservoir can be charged under flexible operation
-- max_boost,--,float,The maximum boost in power output under flexible operation
-- var_cf,--,"{true, false}",Add option for variable capacity factor (see Ricks et al. 2024)
-- sustainability_factor,--,float,Share of sourced heat that is replenished by the earth's core (see details in `build_egs_potentials.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/build_egs_potentials.py>`_)
solid_biomass_import,,,
-- enable,--,"{true, false}",Add option to include solid biomass imports
-- price,currency/MWh,float,Price for importing solid biomass
-- max_amount,Twh,float,Maximum solid biomass import potential
-- upstream_emissions_factor,p.u.,float,Upstream emissions of solid biomass imports

1 Unit Values Description
2 transport -- {true, false} Flag to include transport sector.
3 heating -- {true, false} Flag to include heating sector.
4 biomass -- {true, false} Flag to include biomass sector.
5 industry -- {true, false} Flag to include industry sector.
6 agriculture -- {true, false} Flag to include agriculture sector.
7 district_heating fossil_fuels -- {true, false} `prepare_sector_network.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/prepare_sector_network.py>`_ Flag to include imports of fossil fuels ( ["coal", "gas", "oil", "lignite"])
8 -- potential district_heating -- float maximum fraction of urban demand which can be supplied by district heating. Ignored where below current fraction. `prepare_sector_network.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/prepare_sector_network.py>`_
9 -- progress -- potential -- Dictionary with planning horizons as keys. float Increase of today's district heating demand to potential maximum district heating share. Progress = 0 means today's district heating share. Progress = 1 means maximum fraction of urban demand is supplied by district heating maximum fraction of urban demand which can be supplied by district heating
10 -- district_heating_loss -- progress -- float Dictionary with planning horizons as keys. Share increase in district heat demand in urban central due to heat losses Increase of today's district heating demand to potential maximum district heating share. Progress = 0 means today's district heating share. Progress = 1 means maximum fraction of urban demand is supplied by district heating
11 cluster_heat_buses -- district_heating_loss -- {true, false} float Cluster residential and service heat buses in `prepare_sector_network.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/prepare_sector_network.py>`_ to one to save memory. Share increase in district heat demand in urban central due to heat losses
12 cluster_heat_buses -- {true, false} Cluster residential and service heat buses in `prepare_sector_network.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/prepare_sector_network.py>`_ to one to save memory.
13 bev_dsm_restriction _value -- float Adds a lower state of charge (SOC) limit for battery electric vehicles (BEV) to manage its own energy demand (DSM). Located in `build_transport_demand.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/build_transport_demand.py>`_. Set to 0 for no restriction on BEV DSM
14 bev_dsm_restriction _time bev_dsm_restriction _value -- float Time at which SOC of BEV has to be dsm_restriction_value Adds a lower state of charge (SOC) limit for battery electric vehicles (BEV) to manage its own energy demand (DSM). Located in `build_transport_demand.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/build_transport_demand.py>`_. Set to 0 for no restriction on BEV DSM
15 transport_heating _deadband_upper bev_dsm_restriction _time °C -- float The maximum temperature in the vehicle. At higher temperatures, the energy required for cooling in the vehicle increases. Time at which SOC of BEV has to be dsm_restriction_value
16 transport_heating _deadband_lower transport_heating _deadband_upper °C float The minimum temperature in the vehicle. At lower temperatures, the energy required for heating in the vehicle increases. The maximum temperature in the vehicle. At higher temperatures, the energy required for cooling in the vehicle increases.
17 transport_heating _deadband_lower °C float The minimum temperature in the vehicle. At lower temperatures, the energy required for heating in the vehicle increases.
18 ICE_lower_degree_factor -- float Share increase in energy demand in internal combustion engine (ICE) for each degree difference between the cold environment and the minimum temperature.
19 ICE_upper_degree_factor ICE_lower_degree_factor -- float Share increase in energy demand in internal combustion engine (ICE) for each degree difference between the hot environment and the maximum temperature. Share increase in energy demand in internal combustion engine (ICE) for each degree difference between the cold environment and the minimum temperature.
20 EV_lower_degree_factor ICE_upper_degree_factor -- float Share increase in energy demand in electric vehicles (EV) for each degree difference between the cold environment and the minimum temperature. Share increase in energy demand in internal combustion engine (ICE) for each degree difference between the hot environment and the maximum temperature.
21 EV_upper_degree_factor EV_lower_degree_factor -- float Share increase in energy demand in electric vehicles (EV) for each degree difference between the hot environment and the maximum temperature. Share increase in energy demand in electric vehicles (EV) for each degree difference between the cold environment and the minimum temperature.
22 bev_dsm EV_upper_degree_factor -- {true, false} float Add the option for battery electric vehicles (BEV) to participate in demand-side management (DSM) Share increase in energy demand in electric vehicles (EV) for each degree difference between the hot environment and the maximum temperature.
23 bev_dsm -- {true, false} Add the option for battery electric vehicles (BEV) to participate in demand-side management (DSM)
24 bev_availability -- float The share for battery electric vehicles (BEV) that are able to do demand side management (DSM)
25 bev_energy bev_availability -- float The average size of battery electric vehicles (BEV) in MWh The share for battery electric vehicles (BEV) that are able to do demand side management (DSM)
26 bev_charge_efficiency bev_energy -- float Battery electric vehicles (BEV) charge and discharge efficiency The average size of battery electric vehicles (BEV) in MWh
27 bev_charge_rate bev_charge_efficiency MWh -- float The power consumption for one electric vehicle (EV) in MWh. Value derived from 3-phase charger with 11 kW. Battery electric vehicles (BEV) charge and discharge efficiency
28 bev_avail_max bev_charge_rate -- MWh float The maximum share plugged-in availability for passenger electric vehicles. The power consumption for one electric vehicle (EV) in MWh. Value derived from 3-phase charger with 11 kW.
29 bev_avail_mean bev_avail_max -- float The average share plugged-in availability for passenger electric vehicles. The maximum share plugged-in availability for passenger electric vehicles.
30 v2g bev_avail_mean -- {true, false} float Allows feed-in to grid from EV battery The average share plugged-in availability for passenger electric vehicles.
31 land_transport_fuel_cell _share v2g -- Dictionary with planning horizons as keys. {true, false} The share of vehicles that uses fuel cells in a given year Allows feed-in to grid from EV battery
32 land_transport_electric _share land_transport_fuel_cell _share -- Dictionary with planning horizons as keys. The share of vehicles that uses electric vehicles (EV) in a given year The share of vehicles that uses fuel cells in a given year
33 land_transport_ice _share land_transport_electric _share -- Dictionary with planning horizons as keys. The share of vehicles that uses internal combustion engines (ICE) in a given year. What is not EV or FCEV is oil-fuelled ICE. The share of vehicles that uses electric vehicles (EV) in a given year
34 transport_electric_efficiency land_transport_ice _share MWh/100km -- float Dictionary with planning horizons as keys. The conversion efficiencies of electric vehicles in transport The share of vehicles that uses internal combustion engines (ICE) in a given year. What is not EV or FCEV is oil-fuelled ICE.
35 transport_fuel_cell_efficiency transport_electric_efficiency MWh/100km float The H2 conversion efficiencies of fuel cells in transport The conversion efficiencies of electric vehicles in transport
36 transport_ice_efficiency transport_fuel_cell_efficiency MWh/100km float The oil conversion efficiencies of internal combustion engine (ICE) in transport The H2 conversion efficiencies of fuel cells in transport
37 agriculture_machinery _electric_share transport_ice_efficiency -- MWh/100km float The share for agricultural machinery that uses electricity The oil conversion efficiencies of internal combustion engine (ICE) in transport
38 agriculture_machinery _oil_share agriculture_machinery _electric_share -- float The share for agricultural machinery that uses oil The share for agricultural machinery that uses electricity
39 agriculture_machinery _fuel_efficiency agriculture_machinery _oil_share -- float The efficiency of electric-powered machinery in the conversion of electricity to meet agricultural needs. The share for agricultural machinery that uses oil
40 agriculture_machinery _electric_efficiency agriculture_machinery _fuel_efficiency -- float The efficiency of oil-powered machinery in the conversion of oil to meet agricultural needs. The efficiency of electric-powered machinery in the conversion of electricity to meet agricultural needs.
41 Mwh_MeOH_per_MWh_H2 agriculture_machinery _electric_efficiency LHV -- float The energy amount of the produced methanol per energy amount of hydrogen. From `DECHEMA (2017) <https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry-p-20002750.pdf>`_, page 64. The efficiency of oil-powered machinery in the conversion of oil to meet agricultural needs.
42 MWh_MeOH_per_tCO2 Mwh_MeOH_per_MWh_H2 LHV float The energy amount of the produced methanol per ton of CO2. From `DECHEMA (2017) <https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry-p-20002750.pdf>`_, page 66. The energy amount of the produced methanol per energy amount of hydrogen. From `DECHEMA (2017) <https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry-p-20002750.pdf>`_, page 64.
43 MWh_MeOH_per_MWh_e MWh_MeOH_per_tCO2 LHV float The energy amount of the produced methanol per energy amount of electricity. From `DECHEMA (2017) <https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry-p-20002750.pdf>`_, page 64. The energy amount of the produced methanol per ton of CO2. From `DECHEMA (2017) <https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry-p-20002750.pdf>`_, page 66.
44 shipping_hydrogen _liquefaction MWh_MeOH_per_MWh_e -- LHV {true, false} float Whether to include liquefaction costs for hydrogen demand in shipping. The energy amount of the produced methanol per energy amount of electricity. From `DECHEMA (2017) <https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry-p-20002750.pdf>`_, page 64.
45 shipping_hydrogen _liquefaction -- {true, false} Whether to include liquefaction costs for hydrogen demand in shipping.
46 shipping_hydrogen_share -- Dictionary with planning horizons as keys. The share of ships powered by hydrogen in a given year
47 shipping_methanol_share shipping_hydrogen_share -- Dictionary with planning horizons as keys. The share of ships powered by methanol in a given year The share of ships powered by hydrogen in a given year
48 shipping_oil_share shipping_methanol_share -- Dictionary with planning horizons as keys. The share of ships powered by oil in a given year The share of ships powered by methanol in a given year
49 shipping_methanol _efficiency shipping_oil_share -- float Dictionary with planning horizons as keys. The efficiency of methanol-powered ships in the conversion of methanol to meet shipping needs (propulsion). The efficiency increase from oil can be 10-15% higher according to the `IEA <https://www.iea-amf.org/app/webroot/files/file/Annex%20Reports/AMF_Annex_56.pdf>`_ The share of ships powered by oil in a given year
50 shipping_methanol _efficiency -- float The efficiency of methanol-powered ships in the conversion of methanol to meet shipping needs (propulsion). The efficiency increase from oil can be 10-15% higher according to the `IEA <https://www.iea-amf.org/app/webroot/files/file/Annex%20Reports/AMF_Annex_56.pdf>`_
51 shipping_oil_efficiency -- float The efficiency of oil-powered ships in the conversion of oil to meet shipping needs (propulsion). Base value derived from 2011
52 aviation_demand_factor shipping_oil_efficiency -- float The proportion of demand for aviation compared to today's consumption The efficiency of oil-powered ships in the conversion of oil to meet shipping needs (propulsion). Base value derived from 2011
53 HVC_demand_factor aviation_demand_factor -- float The proportion of demand for high-value chemicals compared to today's consumption The proportion of demand for aviation compared to today's consumption
54 HVC_demand_factor -- float The proportion of demand for high-value chemicals compared to today's consumption
55 time_dep_hp_cop -- {true, false} Consider the time dependent coefficient of performance (COP) of the heat pump
56 heat_pump_sink_T time_dep_hp_cop °C -- float {true, false} The temperature heat sink used in heat pumps based on DTU / large area radiators. The value is conservatively high to cover hot water and space heating in poorly-insulated buildings Consider the time dependent coefficient of performance (COP) of the heat pump
57 reduce_space_heat _exogenously heat_pump_sink_T -- °C {true, false} float Influence on space heating demand by a certain factor (applied before losses in district heating). The temperature heat sink used in heat pumps based on DTU / large area radiators. The value is conservatively high to cover hot water and space heating in poorly-insulated buildings
58 reduce_space_heat _exogenously_factor reduce_space_heat _exogenously -- Dictionary with planning horizons as keys. {true, false} A positive factor can mean renovation or demolition of a building. If the factor is negative, it can mean an increase in floor area, increased thermal comfort, population growth. The default factors are determined by the `Eurocalc Homes and buildings decarbonization scenario <http://tool.european-calculator.eu/app/buildings/building-types-area/?levers=1ddd4444421213bdbbbddd44444ffffff11f411111221111211l212221>`_ Influence on space heating demand by a certain factor (applied before losses in district heating).
59 retrofitting reduce_space_heat _exogenously_factor -- Dictionary with planning horizons as keys. A positive factor can mean renovation or demolition of a building. If the factor is negative, it can mean an increase in floor area, increased thermal comfort, population growth. The default factors are determined by the `Eurocalc Homes and buildings decarbonization scenario <http://tool.european-calculator.eu/app/buildings/building-types-area/?levers=1ddd4444421213bdbbbddd44444ffffff11f411111221111211l212221>`_
60 -- retro_endogen retrofitting -- {true, false} Add retrofitting as an endogenous system which co-optimise space heat savings.
61 -- cost_factor -- retro_endogen -- float {true, false} Weight costs for building renovation Add retrofitting as an endogenous system which co-optimise space heat savings.
62 -- interest_rate -- cost_factor -- float The interest rate for investment in building components Weight costs for building renovation
63 -- annualise_cost -- interest_rate -- {true, false} float Annualise the investment costs of retrofitting The interest rate for investment in building components
64 -- tax_weighting -- annualise_cost -- {true, false} Weight the costs of retrofitting depending on taxes in countries Annualise the investment costs of retrofitting
65 -- construction_index -- tax_weighting -- {true, false} Weight the costs of retrofitting depending on labour/material costs per country Weight the costs of retrofitting depending on taxes in countries
66 tes -- construction_index -- {true, false} Add option for storing thermal energy in large water pits associated with district heating systems and individual thermal energy storage (TES) Weight the costs of retrofitting depending on labour/material costs per country
67 tes_tau tes -- {true, false} The time constant used to calculate the decay of thermal energy in thermal energy storage (TES): 1- :math:`e^{-1/24τ}`. Add option for storing thermal energy in large water pits associated with district heating systems and individual thermal energy storage (TES)
68 -- decentral tes_tau days float The time constant in decentralized thermal energy storage (TES) The time constant used to calculate the decay of thermal energy in thermal energy storage (TES): 1- :math:`e^{-1/24τ}`.
69 -- central -- decentral days float The time constant in centralized thermal energy storage (TES) The time constant in decentralized thermal energy storage (TES)
70 boilers -- central -- days {true, false} float Add option for transforming gas into heat using gas boilers The time constant in centralized thermal energy storage (TES)
71 resistive_heaters boilers -- {true, false} Add option for transforming electricity into heat using resistive heaters (independently from gas boilers) Add option for transforming gas into heat using gas boilers
72 oil_boilers resistive_heaters -- {true, false} Add option for transforming oil into heat using boilers Add option for transforming electricity into heat using resistive heaters (independently from gas boilers)
73 biomass_boiler oil_boilers -- {true, false} Add option for transforming biomass into heat using boilers Add option for transforming oil into heat using boilers
74 overdimension_individual_heating biomass_boiler -- float {true, false} Add option for overdimensioning individual heating systems by a certain factor. This allows them to cover heat demand peaks e.g. 10% higher than those in the data with a setting of 1.1. Add option for transforming biomass into heat using boilers
75 chp overdimension_individual_heating -- {true, false} float Add option for using Combined Heat and Power (CHP) Add option for overdimensioning individual heating systems by a certain factor. This allows them to cover heat demand peaks e.g. 10% higher than those in the data with a setting of 1.1.
76 micro_chp chp -- {true, false} Add option for using Combined Heat and Power (CHP) for decentral areas. Add option for using Combined Heat and Power (CHP)
77 solar_thermal micro_chp -- {true, false} Add option for using solar thermal to generate heat. Add option for using Combined Heat and Power (CHP) for decentral areas.
78 solar_cf_correction solar_thermal -- float {true, false} The correction factor for the value provided by the solar thermal profile calculations Add option for using solar thermal to generate heat.
79 marginal_cost_storage solar_cf_correction currency/MWh -- float The marginal cost of discharging batteries in distributed grids The correction factor for the value provided by the solar thermal profile calculations
80 methanation marginal_cost_storage -- currency/MWh {true, false} float Add option for transforming hydrogen and CO2 into methane using methanation. The marginal cost of discharging batteries in distributed grids
81 coal_cc methanation -- {true, false} Add option for coal CHPs with carbon capture Add option for transforming hydrogen and CO2 into methane using methanation.
82 dac coal_cc -- {true, false} Add option for Direct Air Capture (DAC) Add option for coal CHPs with carbon capture
83 co2_vent dac -- {true, false} Add option for vent out CO2 from storages to the atmosphere. Add option for Direct Air Capture (DAC)
84 allam_cycle co2_vent -- {true, false} Add option to include `Allam cycle gas power plants <https://en.wikipedia.org/wiki/Allam_power_cycle>`_ Add option for vent out CO2 from storages to the atmosphere.
85 hydrogen_fuel_cell allam_cycle -- {true, false} Add option to include hydrogen fuel cell for re-electrification. Assuming OCGT technology costs Add option to include `Allam cycle gas power plants <https://en.wikipedia.org/wiki/Allam_power_cycle>`_
86 hydrogen_turbine hydrogen_fuel_cell -- {true, false} Add option to include hydrogen turbine for re-electrification. Assuming OCGT technology costs Add option to include hydrogen fuel cell for re-electrification. Assuming OCGT technology costs
87 SMR hydrogen_turbine -- {true, false} Add option for transforming natural gas into hydrogen and CO2 using Steam Methane Reforming (SMR) Add option to include hydrogen turbine for re-electrification. Assuming OCGT technology costs
88 SMR CC SMR -- {true, false} Add option for transforming natural gas into hydrogen and CO2 using Steam Methane Reforming (SMR) and Carbon Capture (CC) Add option for transforming natural gas into hydrogen and CO2 using Steam Methane Reforming (SMR)
89 regional_methanol_demand SMR CC -- {true, false} Spatially resolve methanol demand. Set to true if regional CO2 constraints needed. Add option for transforming natural gas into hydrogen and CO2 using Steam Methane Reforming (SMR) and Carbon Capture (CC)
90 regional_oil_demand regional_methanol_demand -- {true, false} Spatially resolve oil demand. Set to true if regional CO2 constraints needed. Spatially resolve methanol demand. Set to true if regional CO2 constraints needed.
91 regional_co2 _sequestration_potential regional_oil_demand -- {true, false} Spatially resolve oil demand. Set to true if regional CO2 constraints needed.
92 -- enable regional_co2 _sequestration_potential -- {true, false} Add option for regionally-resolved geological carbon dioxide sequestration potentials based on `CO2StoP <https://setis.ec.europa.eu/european-co2-storage-database_en>`_.
93 -- attribute -- enable -- string or list {true, false} Name (or list of names) of the attribute(s) for the sequestration potential Add option for regionally-resolved geological carbon dioxide sequestration potentials based on `CO2StoP <https://setis.ec.europa.eu/european-co2-storage-database_en>`_.
94 -- include_onshore -- attribute -- {true, false} string or list Add options for including onshore sequestration potentials Name (or list of names) of the attribute(s) for the sequestration potential
95 -- min_size -- include_onshore Gt -- float {true, false} Any sites with lower potential than this value will be excluded Add options for including onshore sequestration potentials
96 -- max_size -- min_size Gt float The maximum sequestration potential for any one site. Any sites with lower potential than this value will be excluded
97 -- years_of_storage -- max_size years Gt float The years until potential exhausted at optimised annual rate The maximum sequestration potential for any one site.
98 co2_sequestration_potential -- years_of_storage MtCO2/a years float The potential of sequestering CO2 in Europe per year The years until potential exhausted at optimised annual rate
99 co2_sequestration_cost co2_sequestration_potential currency/tCO2 MtCO2/a float The cost of sequestering a ton of CO2 The potential of sequestering CO2 in Europe per year
100 co2_sequestration_lifetime co2_sequestration_cost years currency/tCO2 int float The lifetime of a CO2 sequestration site The cost of sequestering a ton of CO2
101 co2_spatial co2_sequestration_lifetime -- years {true, false} int Add option to spatially resolve carrier representing stored carbon dioxide. This allows for more detailed modelling of CCUTS, e.g. regarding the capturing of industrial process emissions, usage as feedstock for electrofuels, transport of carbon dioxide, and geological sequestration sites. The lifetime of a CO2 sequestration site
102 co2_spatial -- {true, false} Add option to spatially resolve carrier representing stored carbon dioxide. This allows for more detailed modelling of CCUTS, e.g. regarding the capturing of industrial process emissions, usage as feedstock for electrofuels, transport of carbon dioxide, and geological sequestration sites.
103 co2network -- {true, false} Add option for planning a new carbon dioxide transmission network
104 co2_network_cost_factor co2network p.u. -- float {true, false} The cost factor for the capital cost of the carbon dioxide transmission network Add option for planning a new carbon dioxide transmission network
105 co2_network_cost_factor p.u. float The cost factor for the capital cost of the carbon dioxide transmission network
106 cc_fraction -- float The default fraction of CO2 captured with post-combustion capture
107 hydrogen_underground _storage cc_fraction -- {true, false} float Add options for storing hydrogen underground. Storage potential depends regionally. The default fraction of CO2 captured with post-combustion capture
108 hydrogen_underground _storage_locations hydrogen_underground _storage -- {onshore, nearshore, offshore} {true, false} The location where hydrogen underground storage can be located. Onshore, nearshore, offshore means it must be located more than 50 km away from the sea, within 50 km of the sea, or within the sea itself respectively. Add options for storing hydrogen underground. Storage potential depends regionally.
109 hydrogen_underground _storage_locations {onshore, nearshore, offshore} The location where hydrogen underground storage can be located. Onshore, nearshore, offshore means it must be located more than 50 km away from the sea, within 50 km of the sea, or within the sea itself respectively.
110 ammonia -- {true, false, regional} Add ammonia as a carrrier. It can be either true (copperplated NH3), false (no NH3 carrier) or "regional" (regionalised NH3 without network)
111 min_part_load_fischer _tropsch ammonia per unit of p_nom -- float {true, false, regional} The minimum unit dispatch (``p_min_pu``) for the Fischer-Tropsch process Add ammonia as a carrrier. It can be either true (copperplated NH3), false (no NH3 carrier) or "regional" (regionalised NH3 without network)
112 min_part_load _methanolisation min_part_load_fischer _tropsch per unit of p_nom float The minimum unit dispatch (``p_min_pu``) for the methanolisation process The minimum unit dispatch (``p_min_pu``) for the Fischer-Tropsch process
113 min_part_load _methanolisation per unit of p_nom float The minimum unit dispatch (``p_min_pu``) for the methanolisation process
114 use_fischer_tropsch _waste_heat -- {true, false} Add option for using waste heat of Fischer Tropsch in district heating networks
115 use_fuel_cell_waste_heat use_fischer_tropsch _waste_heat -- {true, false} Add option for using waste heat of fuel cells in district heating networks Add option for using waste heat of Fischer Tropsch in district heating networks
116 use_electrolysis_waste _heat use_fuel_cell_waste_heat -- {true, false} Add option for using waste heat of electrolysis in district heating networks Add option for using waste heat of fuel cells in district heating networks
117 electricity_transmission _grid use_electrolysis_waste _heat -- {true, false} Switch for enabling/disabling the electricity transmission grid. Add option for using waste heat of electrolysis in district heating networks
118 electricity_distribution _grid electricity_transmission _grid -- {true, false} Add a simplified representation of the exchange capacity between transmission and distribution grid level through a link. Switch for enabling/disabling the electricity transmission grid.
119 electricity_distribution _grid_cost_factor electricity_distribution _grid -- {true, false} Multiplies the investment cost of the electricity distribution grid Add a simplified representation of the exchange capacity between transmission and distribution grid level through a link.
120 electricity_distribution _grid_cost_factor Multiplies the investment cost of the electricity distribution grid
121 electricity_grid _connection -- {true, false} Add the cost of electricity grid connection for onshore wind and solar
122 transmission_efficiency electricity_grid _connection -- {true, false} Section to specify transmission losses or compression energy demands of bidirectional links. Splits them into two capacity-linked unidirectional links. Add the cost of electricity grid connection for onshore wind and solar
123 -- {carrier} transmission_efficiency -- str The carrier of the link. Section to specify transmission losses or compression energy demands of bidirectional links. Splits them into two capacity-linked unidirectional links.
124 -- -- efficiency_static -- {carrier} p.u. -- float str Length-independent transmission efficiency. The carrier of the link.
125 -- -- efficiency_per_1000km -- -- efficiency_static p.u. per 1000 km p.u. float Length-dependent transmission efficiency ($\eta^{\text{length}}$) Length-independent transmission efficiency.
126 -- -- compression_per_1000km -- -- efficiency_per_1000km p.u. per 1000 km float Length-dependent electricity demand for compression ($\eta \cdot \text{length}$) implemented as multi-link to local electricity bus. Length-dependent transmission efficiency ($\eta^{\text{length}}$)
127 H2_network -- -- compression_per_1000km -- p.u. per 1000 km {true, false} float Add option for new hydrogen pipelines Length-dependent electricity demand for compression ($\eta \cdot \text{length}$) implemented as multi-link to local electricity bus.
128 gas_network H2_network -- {true, false} Add existing natural gas infrastructure, incl. LNG terminals, production and entry-points. The existing gas network is added with a lossless transport model. A length-weighted `k-edge augmentation algorithm <https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation.html#networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation>`_ can be run to add new candidate gas pipelines such that all regions of the model can be connected to the gas network. When activated, all the gas demands are regionally disaggregated as well. Add option for new hydrogen pipelines
129 H2_retrofit gas_network -- {true, false} Add option for retrofiting existing pipelines to transport hydrogen. Add existing natural gas infrastructure, incl. LNG terminals, production and entry-points. The existing gas network is added with a lossless transport model. A length-weighted `k-edge augmentation algorithm <https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation.html#networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation>`_ can be run to add new candidate gas pipelines such that all regions of the model can be connected to the gas network. When activated, all the gas demands are regionally disaggregated as well.
130 H2_retrofit_capacity _per_CH4 H2_retrofit -- float {true, false} The ratio for H2 capacity per original CH4 capacity of retrofitted pipelines. The `European Hydrogen Backbone (April, 2020) p.15 <https://gasforclimate2050.eu/wp-content/uploads/2020/07/2020_European-Hydrogen-Backbone_Report.pdf>`_ 60% of original natural gas capacity could be used in cost-optimal case as H2 capacity. Add option for retrofiting existing pipelines to transport hydrogen.
131 gas_network_connectivity _upgrade H2_retrofit_capacity _per_CH4 -- float The number of desired edge connectivity (k) in the length-weighted `k-edge augmentation algorithm <https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation.html#networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation>`_ used for the gas network The ratio for H2 capacity per original CH4 capacity of retrofitted pipelines. The `European Hydrogen Backbone (April, 2020) p.15 <https://gasforclimate2050.eu/wp-content/uploads/2020/07/2020_European-Hydrogen-Backbone_Report.pdf>`_ 60% of original natural gas capacity could be used in cost-optimal case as H2 capacity.
132 gas_distribution_grid gas_network_connectivity _upgrade -- {true, false} float Add a gas distribution grid The number of desired edge connectivity (k) in the length-weighted `k-edge augmentation algorithm <https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation.html#networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation>`_ used for the gas network
133 gas_distribution_grid _cost_factor gas_distribution_grid -- {true, false} Multiplier for the investment cost of the gas distribution grid Add a gas distribution grid
134 gas_distribution_grid _cost_factor Multiplier for the investment cost of the gas distribution grid
135 biomass_spatial -- {true, false} Add option for resolving biomass demand regionally
136 biomass_transport biomass_spatial -- {true, false} Add option for transporting solid biomass between nodes Add option for resolving biomass demand regionally
137 biogas_upgrading_cc biomass_transport -- {true, false} Add option to capture CO2 from biomass upgrading Add option for transporting solid biomass between nodes
138 conventional_generation biogas_upgrading_cc -- {true, false} Add a more detailed description of conventional carriers. Any power generation requires the consumption of fuel from nodes representing that fuel. Add option to capture CO2 from biomass upgrading
139 biomass_to_liquid conventional_generation -- {true, false} Add option for transforming solid biomass into liquid fuel with the same properties as oil Add a more detailed description of conventional carriers. Any power generation requires the consumption of fuel from nodes representing that fuel.
140 biosng biomass_to_liquid -- {true, false} Add option for transforming solid biomass into synthesis gas with the same properties as natural gas Add option for transforming solid biomass into liquid fuel with the same properties as oil
141 limit_max_growth biosng -- {true, false} Add option for transforming solid biomass into synthesis gas with the same properties as natural gas
142 -- enable municipal_solid_waste -- {true, false} Add option to limit the maximum growth of a carrier Add option for municipal solid waste
143 -- factor limit_max_growth p.u. float The maximum growth factor of a carrier (e.g. 1.3 allows 30% larger than max historic growth)
144 -- max_growth -- enable -- {true, false} Add option to limit the maximum growth of a carrier
145 -- -- {carrier} -- factor GW p.u. float The historic maximum growth of a carrier The maximum growth factor of a carrier (e.g. 1.3 allows 30% larger than max historic growth)
146 -- max_relative_growth -- max_growth
147 -- -- {carrier} p.u. GW float The historic maximum relative growth of a carrier The historic maximum growth of a carrier
148 -- max_relative_growth
149 enhanced_geothermal -- -- {carrier} p.u. float The historic maximum relative growth of a carrier
150 -- enable -- {true, false} Add option to include Enhanced Geothermal Systems
151 -- flexible enhanced_geothermal -- {true, false} Add option for flexible operation (see Ricks et al. 2024)
152 -- max_hours -- enable -- int {true, false} The maximum hours the reservoir can be charged under flexible operation Add option to include Enhanced Geothermal Systems
153 -- max_boost -- flexible -- float {true, false} The maximum boost in power output under flexible operation Add option for flexible operation (see Ricks et al. 2024)
154 -- var_cf -- max_hours -- {true, false} int Add option for variable capacity factor (see Ricks et al. 2024) The maximum hours the reservoir can be charged under flexible operation
155 -- sustainability_factor -- max_boost -- float Share of sourced heat that is replenished by the earth's core (see details in `build_egs_potentials.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/build_egs_potentials.py>`_) The maximum boost in power output under flexible operation
156 -- var_cf -- {true, false} Add option for variable capacity factor (see Ricks et al. 2024)
157 -- sustainability_factor -- float Share of sourced heat that is replenished by the earth's core (see details in `build_egs_potentials.py <https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/build_egs_potentials.py>`_)
158 solid_biomass_import
159 -- enable -- {true, false} Add option to include solid biomass imports
160 -- price currency/MWh float Price for importing solid biomass
161 -- max_amount Twh float Maximum solid biomass import potential
162 -- upstream_emissions_factor p.u. float Upstream emissions of solid biomass imports

View File

@ -242,7 +242,7 @@ Rule overview
file
<https://pypsa-eur.readthedocs.io/en/latest/preparation/build_powerplants.html?highlight=powerplants>`__
generated by pypsa-eur which, in turn, is based on the `powerplantmatching
<https://github.com/FRESNA/powerplantmatching>`__ database.
<https://github.com/PyPSA/powerplantmatching>`__ database.
Existing wind and solar capacities are retrieved from `IRENA annual statistics
<https://www.irena.org/Statistics/Download-Data>`__ and distributed among the

View File

@ -25,7 +25,7 @@ With these and the externally extracted ENTSO-E online map topology
Then the process continues by calculating conventional power plant capacities, potentials, and per-unit availability time series for variable renewable energy carriers and hydro power plants with the following rules:
- :mod:`build_powerplants` for today's thermal power plant capacities using `powerplantmatching <https://github.com/FRESNA/powerplantmatching>`__ allocating these to the closest substation for each powerplant,
- :mod:`build_powerplants` for today's thermal power plant capacities using `powerplantmatching <https://github.com/PyPSA/powerplantmatching>`__ allocating these to the closest substation for each powerplant,
- :mod:`build_ship_raster` for building shipping traffic density,
- :mod:`build_renewable_profiles` for the hourly capacity factors and installation potentials constrained by land-use in each substation's Voronoi cell for PV, onshore and offshore wind, and
- :mod:`build_hydro_profile` for the hourly per-unit hydro power availability time series.

View File

@ -19,6 +19,14 @@ Upcoming Release
* Add flag ``sector: fossil_fuels`` in config to remove the option of importing fossil fuels
* split solid biomass potentials into solid biomass and municipal solid waste. Add option to use municipal solid waste. This option is only activated in combination with the flag ``waste_to_energy``
* Add option to import solid biomass
* Add option to produce electrobiofuels (flag ``electrobiofuels``) from solid biomass and hydrogen, as a combination of BtL and Fischer-Tropsch to make more use of the biogenic carbon
* Add flag ``sector: fossil_fuels`` in config to remove the option of importing fossil fuels
* Renamed the carrier of batteries in BEVs from `battery storage` to `EV battery` and the corresponding bus carrier from `Li ion` to `EV battery`. This is to avoid confusion with stationary battery storage.
* Changed default assumptions about waste heat usage from PtX and fuel cells in district heating.

View File

@ -52,6 +52,8 @@ if config["enable"]["retrieve"] and config["enable"].get("retrieve_databundle",
log:
"logs/retrieve_eurostat_data.log",
retries: 2
conda:
"../envs/retrieve.yaml"
script:
"../scripts/retrieve_eurostat_data.py"
@ -70,6 +72,8 @@ if config["enable"]["retrieve"] and config["enable"].get("retrieve_databundle",
log:
"logs/retrieve_eurostat_household_data.log",
retries: 2
conda:
"../envs/retrieve.yaml"
script:
"../scripts/retrieve_eurostat_household_data.py"

View File

@ -808,7 +808,7 @@ def voronoi(points, outline, crs=4326):
voronoi = gpd.GeoDataFrame(geometry=voronoi)
joined = gpd.sjoin_nearest(pts, voronoi, how="right")
return joined.dissolve(by="Bus").squeeze()
return joined.dissolve(by="Bus").reindex(points.index).squeeze()
def build_bus_shapes(n, country_shapes, offshore_shapes, countries):

View File

@ -6,7 +6,7 @@
# coding: utf-8
"""
Retrieves conventional powerplant capacities and locations from
`powerplantmatching <https://github.com/FRESNA/powerplantmatching>`_, assigns
`powerplantmatching <https://github.com/PyPSA/powerplantmatching>`_, assigns
these to buses and creates a ``.csv`` file. It is possible to amend the
powerplant database with custom entries provided in
``data/custom_powerplants.csv``.
@ -30,17 +30,17 @@ Inputs
------
- ``networks/base.nc``: confer :ref:`base`.
- ``data/custom_powerplants.csv``: custom powerplants in the same format as `powerplantmatching <https://github.com/FRESNA/powerplantmatching>`_ provides
- ``data/custom_powerplants.csv``: custom powerplants in the same format as `powerplantmatching <https://github.com/PyPSA/powerplantmatching>`_ provides
Outputs
-------
- ``resource/powerplants.csv``: A list of conventional power plants (i.e. neither wind nor solar) with fields for name, fuel type, technology, country, capacity in MW, duration, commissioning year, retrofit year, latitude, longitude, and dam information as documented in the `powerplantmatching README <https://github.com/FRESNA/powerplantmatching/blob/master/README.md>`_; additionally it includes information on the closest substation/bus in ``networks/base.nc``.
- ``resource/powerplants.csv``: A list of conventional power plants (i.e. neither wind nor solar) with fields for name, fuel type, technology, country, capacity in MW, duration, commissioning year, retrofit year, latitude, longitude, and dam information as documented in the `powerplantmatching README <https://github.com/PyPSA/powerplantmatching/blob/master/README.md>`_; additionally it includes information on the closest substation/bus in ``networks/base.nc``.
.. image:: img/powerplantmatching.png
:scale: 30 %
**Source:** `powerplantmatching on GitHub <https://github.com/FRESNA/powerplantmatching>`_
**Source:** `powerplantmatching on GitHub <https://github.com/PyPSA/powerplantmatching>`_
Description
-----------

View File

@ -56,19 +56,25 @@ def define_spatial(nodes, options):
# biomass
spatial.biomass = SimpleNamespace()
spatial.msw = SimpleNamespace()
if options.get("biomass_spatial", options["biomass_transport"]):
spatial.biomass.nodes = nodes + " solid biomass"
spatial.biomass.locations = nodes
spatial.biomass.industry = nodes + " solid biomass for industry"
spatial.biomass.industry_cc = nodes + " solid biomass for industry CC"
spatial.msw.nodes = nodes + " municipal solid waste"
spatial.msw.locations = nodes
else:
spatial.biomass.nodes = ["EU solid biomass"]
spatial.biomass.locations = ["EU"]
spatial.biomass.industry = ["solid biomass for industry"]
spatial.biomass.industry_cc = ["solid biomass for industry CC"]
spatial.msw.nodes = ["EU municipal solid waste"]
spatial.msw.locations = ["EU"]
spatial.biomass.df = pd.DataFrame(vars(spatial.biomass), index=nodes)
spatial.msw.df = pd.DataFrame(vars(spatial.msw), index=nodes)
# co2
@ -542,14 +548,17 @@ def add_carrier_buses(n, carrier, nodes=None):
capital_cost=capital_cost,
)
n.madd(
"Generator",
nodes,
bus=nodes,
p_nom_extendable=True,
carrier=carrier,
marginal_cost=costs.at[carrier, "fuel"],
)
fossils = ["coal", "gas", "oil", "lignite"]
if options.get("fossil_fuels", True) and carrier in fossils:
n.madd(
"Generator",
nodes,
bus=nodes,
p_nom_extendable=True,
carrier=carrier,
marginal_cost=costs.at[carrier, "fuel"],
)
# TODO: PyPSA-Eur merge issue
@ -2246,12 +2255,54 @@ def add_biomass(n, costs):
solid_biomass_potentials_spatial = biomass_potentials["solid biomass"].rename(
index=lambda x: x + " solid biomass"
)
msw_biomass_potentials_spatial = biomass_potentials[
"municipal solid waste"
].rename(index=lambda x: x + " municipal solid waste")
else:
solid_biomass_potentials_spatial = biomass_potentials["solid biomass"].sum()
msw_biomass_potentials_spatial = biomass_potentials[
"municipal solid waste"
].sum()
n.add("Carrier", "biogas")
n.add("Carrier", "solid biomass")
if (
options["municipal_solid_waste"]
and not options["industry"]
and cf_industry["waste_to_energy"]
or cf_industry["waste_to_energy_cc"]
):
logger.warning(
"Flag municipal_solid_waste can be only used with industry "
"sector waste to energy."
"Setting municipal_solid_waste=False."
)
options["municipal_solid_waste"] = False
if options["municipal_solid_waste"]:
n.add("Carrier", "municipal solid waste")
n.madd(
"Bus",
spatial.msw.nodes,
location=spatial.msw.locations,
carrier="municipal solid waste",
)
e_max_pu = pd.Series([1] * (len(n.snapshots) - 1) + [0], index=n.snapshots)
n.madd(
"Store",
spatial.msw.nodes,
bus=spatial.msw.nodes,
carrier="municipal solid waste",
e_nom=msw_biomass_potentials_spatial,
marginal_cost=0, # costs.at["municipal solid waste", "fuel"],
e_max_pu=e_max_pu,
e_initial=msw_biomass_potentials_spatial,
)
n.madd(
"Bus",
spatial.gas.biogas,
@ -2288,6 +2339,54 @@ 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"]
# convert TWh in MWh
biomass_import_max_amount = options["solid_biomass_import"]["max_amount"] * 1e6
biomass_import_upstream_emissions = options["solid_biomass_import"][
"upstream_emissions_factor"
]
logger.info(
"Adding biomass import with cost %.2f EUR/MWh, a limit of %.2f TWh, and embedded emissions of %.2f%%",
biomass_import_price,
options["solid_biomass_import"]["max_amount"],
biomass_import_upstream_emissions * 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.0,
efficiency2=biomass_import_upstream_emissions
* costs.at["solid biomass", "CO2 intensity"],
p_nom_extendable=True,
)
n.madd(
"Link",
spatial.gas.biogas_to_gas,
@ -2359,6 +2458,19 @@ def add_biomass(n, costs):
carrier="solid biomass transport",
)
if options["municipal_solid_waste"]:
n.madd(
"Link",
biomass_transport.index,
bus0=biomass_transport.bus0 + " municipal solid waste",
bus1=biomass_transport.bus1 + " municipal solid waste",
p_nom_extendable=False,
p_nom=5e4,
length=biomass_transport.length.values,
marginal_cost=biomass_transport.costs * biomass_transport.length.values,
carrier="municipal solid waste transport",
)
elif options["biomass_spatial"]:
# add artificial biomass generators at nodes which include transport costs
transport_costs = pd.read_csv(
@ -2388,6 +2500,26 @@ def add_biomass(n, costs):
type="operational_limit",
)
if options["municipal_solid_waste"]:
# Add municipal solid waste
n.madd(
"Generator",
spatial.msw.nodes,
bus=spatial.msw.nodes,
carrier="municipal solid waste",
p_nom=10000,
marginal_cost=0 # costs.at["municipal solid waste", "fuel"]
+ bus_transport_costs * average_distance,
)
n.add(
"GlobalConstraint",
"msw limit",
carrier_attribute="municipal solid waste",
sense="<=",
constant=biomass_potentials["municipal solid waste"].sum(),
type="operational_limit",
)
# AC buses with district heating
urban_central = n.buses.index[n.buses.carrier == "urban central heat"]
if not urban_central.empty and options["chp"]:
@ -2420,28 +2552,23 @@ def add_biomass(n, costs):
bus4=spatial.co2.df.loc[urban_central, "nodes"].values,
carrier="urban central solid biomass CHP CC",
p_nom_extendable=True,
capital_cost=costs.at[key, "fixed"] * costs.at[key, "efficiency"]
capital_cost=costs.at[key + " CC", "fixed"]
* costs.at[key + " CC", "efficiency"]
+ costs.at["biomass CHP capture", "fixed"]
* costs.at["solid biomass", "CO2 intensity"],
marginal_cost=costs.at[key, "VOM"],
efficiency=costs.at[key, "efficiency"]
marginal_cost=costs.at[key + " CC", "VOM"],
efficiency=costs.at[key + " CC", "efficiency"]
- costs.at["solid biomass", "CO2 intensity"]
* (
costs.at["biomass CHP capture", "electricity-input"]
+ costs.at["biomass CHP capture", "compression-electricity-input"]
),
efficiency2=costs.at[key, "efficiency-heat"]
+ costs.at["solid biomass", "CO2 intensity"]
* (
costs.at["biomass CHP capture", "heat-output"]
+ costs.at["biomass CHP capture", "compression-heat-output"]
- costs.at["biomass CHP capture", "heat-input"]
),
efficiency2=costs.at[key + " CC", "efficiency-heat"],
efficiency3=-costs.at["solid biomass", "CO2 intensity"]
* costs.at["biomass CHP capture", "capture_rate"],
efficiency4=costs.at["solid biomass", "CO2 intensity"]
* costs.at["biomass CHP capture", "capture_rate"],
lifetime=costs.at[key, "lifetime"],
lifetime=costs.at[key + " CC", "lifetime"],
)
if options["biomass_boiler"]:
@ -2483,11 +2610,12 @@ def add_biomass(n, costs):
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.at["BtL", "VOM"],
capital_cost=costs.at["BtL", "fixed"] * costs.at["BtL", "efficiency"],
marginal_cost=costs.at["BtL", "VOM"] * costs.at["BtL", "efficiency"],
)
# TODO: Update with energy penalty
# Assuming that acid gas removal (incl. CO2) from syngas i performed with Rectisol
# process (Methanol) and that electricity demand for this is included in the base process
n.madd(
"Link",
spatial.biomass.nodes,
@ -2503,9 +2631,46 @@ def add_biomass(n, costs):
+ 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"]
capital_cost=costs.at["BtL", "fixed"] * costs.at["BtL", "efficiency"]
+ costs.at["biomass CHP capture", "fixed"] * costs.at["BtL", "CO2 stored"],
marginal_cost=costs.at["BtL", "efficiency"] * costs.at["BtL", "VOM"],
marginal_cost=costs.at["BtL", "VOM"] * costs.at["BtL", "efficiency"],
)
# 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"]:
efuel_scale_factor = costs.at["BtL", "C stored"]
name = (
pd.Index(spatial.biomass.nodes)
+ " "
+ pd.Index(spatial.h2.nodes.str.replace(" H2", ""))
)
n.madd(
"Link",
name,
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"]
+ efuel_scale_factor
* costs.at["Fischer-Tropsch", "fixed"]
* costs.at["Fischer-Tropsch", "efficiency"],
marginal_cost=costs.at["BtL", "VOM"] * costs.at["BtL", "efficiency"]
+ efuel_scale_factor
* costs.at["Fischer-Tropsch", "VOM"]
* costs.at["Fischer-Tropsch", "efficiency"],
)
# BioSNG from solid biomass
@ -2523,11 +2688,12 @@ def add_biomass(n, costs):
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.at["BioSNG", "VOM"],
capital_cost=costs.at["BioSNG", "fixed"] * costs.at["BioSNG", "efficiency"],
marginal_cost=costs.at["BioSNG", "VOM"] * costs.at["BioSNG", "efficiency"],
)
# TODO: Update with energy penalty for CC
# Assuming that acid gas removal (incl. CO2) from syngas i performed with Rectisol
# process (Methanol) and that electricity demand for this is included in the base process
n.madd(
"Link",
spatial.biomass.nodes,
@ -2545,10 +2711,10 @@ def add_biomass(n, costs):
+ costs.at["BioSNG", "CO2 stored"]
* (1 - costs.at["BioSNG", "capture rate"]),
p_nom_extendable=True,
capital_cost=costs.at["BioSNG", "fixed"]
capital_cost=costs.at["BioSNG", "fixed"] * costs.at["BioSNG", "efficiency"]
+ costs.at["biomass CHP capture", "fixed"]
* costs.at["BioSNG", "CO2 stored"],
marginal_cost=costs.at["BioSNG", "efficiency"] * costs.at["BioSNG", "VOM"],
marginal_cost=costs.at["BioSNG", "VOM"] * costs.at["BioSNG", "efficiency"],
)
@ -2898,7 +3064,7 @@ def add_industry(n, costs):
carrier="oil",
)
if "oil" not in n.generators.carrier.unique():
if options.get("fossil_fuels", True) and "oil" not in n.generators.carrier.unique():
n.madd(
"Generator",
spatial.oil.nodes,
@ -3059,6 +3225,17 @@ def add_industry(n, costs):
efficiency3=process_co2_per_naphtha,
)
if options.get("biomass", True) and options["municipal_solid_waste"]:
n.madd(
"Link",
spatial.msw.locations,
bus0=spatial.msw.nodes,
bus1=non_sequestered_hvc_locations,
carrier="municipal solid waste",
p_nom_extendable=True,
efficiency=1.0,
)
n.madd(
"Link",
spatial.oil.demand_locations,
@ -3108,7 +3285,9 @@ def add_industry(n, costs):
carrier="waste CHP CC",
p_nom_extendable=True,
capital_cost=costs.at["waste CHP CC", "fixed"]
* costs.at["waste CHP CC", "efficiency"],
* costs.at["waste CHP CC", "efficiency"]
+ costs.at["biomass CHP capture", "fixed"]
* costs.at["oil", "CO2 intensity"],
marginal_cost=costs.at["waste CHP CC", "VOM"],
efficiency=costs.at["waste CHP CC", "efficiency"],
efficiency2=costs.at["waste CHP CC", "efficiency-heat"],
@ -3949,7 +4128,7 @@ if __name__ == "__main__":
"prepare_sector_network",
simpl="",
opts="",
clusters="1",
clusters="37",
ll="vopt",
sector_opts="",
planning_horizons="2050",