use differential config changes in config.validation.yaml
This commit is contained in:
parent
3879df7a09
commit
4c9b8a08e5
@ -18,7 +18,7 @@ if not exists("config/config.yaml"):
|
|||||||
copyfile("config/config.default.yaml", "config/config.yaml")
|
copyfile("config/config.default.yaml", "config/config.yaml")
|
||||||
|
|
||||||
|
|
||||||
configfile: "config/config.validation.yaml"
|
configfile: "config/config.yaml"
|
||||||
|
|
||||||
|
|
||||||
COSTS = f"data/costs_{config['costs']['year']}.csv"
|
COSTS = f"data/costs_{config['costs']['year']}.csv"
|
||||||
|
@ -2,63 +2,18 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: CC0-1.0
|
# SPDX-License-Identifier: CC0-1.0
|
||||||
|
|
||||||
version: 0.8.0
|
|
||||||
tutorial: false
|
|
||||||
|
|
||||||
logging:
|
|
||||||
level: INFO
|
|
||||||
format: '%(levelname)s:%(name)s:%(message)s'
|
|
||||||
|
|
||||||
run:
|
run:
|
||||||
name: "" # use this to keep track of runs with different settings
|
name: "validation" # use this to keep track of runs with different settings
|
||||||
disable_progressbar: false # set to true to disable the progressbar
|
|
||||||
shared_resources: false # set to true to share the default resources across runs
|
|
||||||
shared_cutouts: true # set to true to share the default cutout(s) across runs
|
|
||||||
|
|
||||||
foresight: overnight # options are overnight, myopic, perfect (perfect is not yet implemented)
|
|
||||||
# if you use myopic or perfect foresight, set the investment years in "planning_horizons" below
|
|
||||||
|
|
||||||
scenario:
|
scenario:
|
||||||
simpl:
|
|
||||||
- ''
|
|
||||||
ll: # allowed transmission line volume expansion, can be any float >= 1.0 with a prefix v|c (today) or "copt"
|
ll: # allowed transmission line volume expansion, can be any float >= 1.0 with a prefix v|c (today) or "copt"
|
||||||
- v1.0
|
- v1.0
|
||||||
clusters: # number of nodes in Europe, any integer between 37 (1 node per country-zone) and several hundred
|
clusters: # number of nodes in Europe, any integer between 37 (1 node per country-zone) and several hundred
|
||||||
- 37c
|
- 37c
|
||||||
# - 128
|
|
||||||
# - 256
|
|
||||||
# - 512
|
|
||||||
# - 1024
|
|
||||||
opts: # only relevant for PyPSA-Eur
|
opts: # only relevant for PyPSA-Eur
|
||||||
- 'ept'
|
- 'ept'
|
||||||
sector_opts: # this is where the main scenario settings are
|
sector_opts: # this is where the main scenario settings are
|
||||||
- Co2L0-1H-T-H-B-I-A-solar+p3-dist1
|
- Co2L0-1H-T-H-B-I-A-solar+p3-dist1
|
||||||
# to really understand the options here, look in scripts/prepare_sector_network.py
|
|
||||||
# Co2Lx specifies the CO2 target in x% of the 1990 values; default will give default (5%);
|
|
||||||
# Co2L0p25 will give 25% CO2 emissions; Co2Lm0p05 will give 5% negative emissions
|
|
||||||
# xH is the temporal resolution; 3H is 3-hourly, i.e. one snapshot every 3 hours
|
|
||||||
# single letters are sectors: T for land transport, H for building heating,
|
|
||||||
# B for biomass supply, I for industry, shipping and aviation,
|
|
||||||
# A for agriculture, forestry and fishing
|
|
||||||
# solar+c0.5 reduces the capital cost of solar to 50\% of reference value
|
|
||||||
# solar+p3 multiplies the available installable potential by factor 3
|
|
||||||
# seq400 sets the potential of CO2 sequestration to 400 Mt CO2 per year
|
|
||||||
# dist{n} includes distribution grids with investment cost of n times cost in data/costs.csv
|
|
||||||
# for myopic/perfect foresight cb states the carbon budget in GtCO2 (cumulative
|
|
||||||
# emissions throughout the transition path in the timeframe determined by the
|
|
||||||
# planning_horizons), be:beta decay; ex:exponential decay
|
|
||||||
# cb40ex0 distributes a carbon budget of 40 GtCO2 following an exponential
|
|
||||||
# decay with initial growth rate 0
|
|
||||||
planning_horizons: # investment years for myopic and perfect; for overnight, year of cost assumptions can be different and is defined under 'costs'
|
|
||||||
- 2050
|
|
||||||
# for example, set to
|
|
||||||
# - 2020
|
|
||||||
# - 2030
|
|
||||||
# - 2040
|
|
||||||
# - 2050
|
|
||||||
# for myopic foresight
|
|
||||||
|
|
||||||
countries: ['AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'ME', 'MK', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'SE', 'SI', 'SK']
|
|
||||||
|
|
||||||
snapshots:
|
snapshots:
|
||||||
start: "2019-01-01"
|
start: "2019-01-01"
|
||||||
@ -66,44 +21,10 @@ snapshots:
|
|||||||
inclusive: 'left' # include start, not end
|
inclusive: 'left' # include start, not end
|
||||||
|
|
||||||
enable:
|
enable:
|
||||||
prepare_links_p_nom: false
|
|
||||||
retrieve_databundle: true
|
|
||||||
retrieve_sector_databundle: true
|
|
||||||
retrieve_cost_data: true
|
|
||||||
build_cutout: false
|
|
||||||
retrieve_cutout: false
|
retrieve_cutout: false
|
||||||
build_natura_raster: false
|
|
||||||
retrieve_natura_raster: true
|
|
||||||
custom_busmap: false
|
|
||||||
|
|
||||||
# CO2 budget as a fraction of 1990 emissions
|
|
||||||
# this is over-ridden if CO2Lx is set in sector_opts
|
|
||||||
# this is also over-ridden if cb is set in sector_opts
|
|
||||||
co2_budget:
|
|
||||||
2020: 0.701
|
|
||||||
2025: 0.524
|
|
||||||
2030: 0.297
|
|
||||||
2035: 0.150
|
|
||||||
2040: 0.071
|
|
||||||
2045: 0.032
|
|
||||||
2050: 0.000
|
|
||||||
|
|
||||||
electricity:
|
electricity:
|
||||||
voltages: [220., 300., 380.]
|
|
||||||
gaslimit: false # global gas usage limit of X MWh_th
|
|
||||||
co2limit: 1e9
|
co2limit: 1e9
|
||||||
co2base: 1.487e+9
|
|
||||||
agg_p_nom_limits: data/agg_p_nom_minmax.csv
|
|
||||||
|
|
||||||
operational_reserve: # like https://genxproject.github.io/GenX/dev/core/#Reserves
|
|
||||||
activate: false
|
|
||||||
epsilon_load: 0.02 # share of total load
|
|
||||||
epsilon_vres: 0.02 # share of total renewable supply
|
|
||||||
contingency: 4000 # fixed capacity in MW
|
|
||||||
|
|
||||||
max_hours:
|
|
||||||
battery: 6
|
|
||||||
H2: 168
|
|
||||||
|
|
||||||
extendable_carriers:
|
extendable_carriers:
|
||||||
Generator: []
|
Generator: []
|
||||||
@ -113,33 +34,16 @@ electricity:
|
|||||||
|
|
||||||
# use pandas query strings here, e.g. Country not in ['Germany']
|
# use pandas query strings here, e.g. Country not in ['Germany']
|
||||||
powerplants_filter: (DateOut >= 2022 or DateOut != DateOut)
|
powerplants_filter: (DateOut >= 2022 or DateOut != DateOut)
|
||||||
# use pandas query strings here, e.g. Country in ['Germany']
|
|
||||||
custom_powerplants: false
|
|
||||||
|
|
||||||
conventional_carriers: [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass]
|
conventional_carriers: [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass]
|
||||||
renewable_carriers: [solar, onwind, offwind-ac, offwind-dc, hydro]
|
renewable_carriers: [solar, onwind, offwind-ac, offwind-dc, hydro]
|
||||||
|
|
||||||
estimate_renewable_capacities:
|
estimate_renewable_capacities:
|
||||||
enable: true
|
|
||||||
# Add capacities from OPSD data
|
|
||||||
from_opsd: true
|
|
||||||
# Renewable capacities are based on existing capacities reported by IRENA
|
|
||||||
year: 2019
|
year: 2019
|
||||||
# Artificially limit maximum capacities to factor * (IRENA capacities),
|
|
||||||
# i.e. 110% of <years>'s capacities => expansion_limit: 1.1
|
|
||||||
# false: Use estimated renewable potentials determine by the workflow
|
|
||||||
expansion_limit: false
|
|
||||||
technology_mapping:
|
|
||||||
# Wind is the Fueltype in powerplantmatching, onwind, offwind-{ac,dc} the carrier in PyPSA-Eur
|
|
||||||
Offshore: [offwind-ac, offwind-dc]
|
|
||||||
Onshore: [onwind]
|
|
||||||
PV: [solar]
|
|
||||||
|
|
||||||
|
|
||||||
atlite:
|
atlite:
|
||||||
default_cutout: europe-2019-era5
|
default_cutout: europe-2019-era5
|
||||||
nprocesses: 4
|
|
||||||
show_progress: false # false saves time
|
|
||||||
cutouts:
|
cutouts:
|
||||||
# use 'base' to determine geographical bounds and time span from config
|
# use 'base' to determine geographical bounds and time span from config
|
||||||
# base:
|
# base:
|
||||||
@ -156,91 +60,14 @@ atlite:
|
|||||||
renewable:
|
renewable:
|
||||||
onwind:
|
onwind:
|
||||||
cutout: europe-2019-era5
|
cutout: europe-2019-era5
|
||||||
resource:
|
|
||||||
method: wind
|
|
||||||
turbine: Vestas_V112_3MW
|
|
||||||
capacity_per_sqkm: 3 # ScholzPhd Tab 4.3.1: 10MW/km^2 and assuming 30% fraction of the already restricted
|
|
||||||
# area is available for installation of wind generators due to competing land use and likely public
|
|
||||||
# acceptance issues.
|
|
||||||
# correction_factor: 0.93
|
|
||||||
corine:
|
|
||||||
# Scholz, Y. (2012). Renewable energy based electricity supply at low costs
|
|
||||||
# development of the REMix model and application for Europe. ( p.42 / p.28)
|
|
||||||
grid_codes: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32]
|
|
||||||
distance: 1000
|
|
||||||
distance_grid_codes: [1, 2, 3, 4, 5, 6]
|
|
||||||
natura: true
|
|
||||||
excluder_resolution: 100
|
|
||||||
potential: simple # or conservative
|
|
||||||
clip_p_max_pu: 1.e-2
|
|
||||||
offwind-ac:
|
offwind-ac:
|
||||||
cutout: europe-2019-era5
|
cutout: europe-2019-era5
|
||||||
resource:
|
|
||||||
method: wind
|
|
||||||
turbine: NREL_ReferenceTurbine_5MW_offshore
|
|
||||||
capacity_per_sqkm: 2 # ScholzPhd Tab 4.3.1: 10MW/km^2 and assuming 20% fraction of the already restricted
|
|
||||||
# area is available for installation of wind generators due to competing land use and likely public
|
|
||||||
# acceptance issues.
|
|
||||||
correction_factor: 0.8855
|
|
||||||
# proxy for wake losses
|
|
||||||
# from 10.1016/j.energy.2018.08.153
|
|
||||||
# until done more rigorously in #153
|
|
||||||
corine: [44, 255]
|
|
||||||
natura: true
|
|
||||||
ship_threshold: 400
|
|
||||||
max_depth: 50
|
|
||||||
max_shore_distance: 30000
|
|
||||||
excluder_resolution: 200
|
|
||||||
potential: simple # or conservative
|
|
||||||
clip_p_max_pu: 1.e-2
|
|
||||||
offwind-dc:
|
offwind-dc:
|
||||||
cutout: europe-2019-era5
|
cutout: europe-2019-era5
|
||||||
resource:
|
|
||||||
method: wind
|
|
||||||
turbine: NREL_ReferenceTurbine_5MW_offshore
|
|
||||||
capacity_per_sqkm: 2 # ScholzPhd Tab 4.3.1: 10MW/km^2 and assuming 20% fraction of the already restricted
|
|
||||||
# area is available for installation of wind generators due to competing land use and likely public
|
|
||||||
# acceptance issues.
|
|
||||||
correction_factor: 0.8855
|
|
||||||
# proxy for wake losses
|
|
||||||
# from 10.1016/j.energy.2018.08.153
|
|
||||||
# until done more rigorously in #153
|
|
||||||
corine: [44, 255]
|
|
||||||
natura: true
|
|
||||||
ship_threshold: 400
|
|
||||||
max_depth: 50
|
|
||||||
min_shore_distance: 30000
|
|
||||||
excluder_resolution: 200
|
|
||||||
potential: simple # or conservative
|
|
||||||
clip_p_max_pu: 1.e-2
|
|
||||||
solar:
|
solar:
|
||||||
cutout: europe-2019-era5
|
cutout: europe-2019-era5
|
||||||
resource:
|
|
||||||
method: pv
|
|
||||||
panel: CSi
|
|
||||||
orientation:
|
|
||||||
slope: 35.
|
|
||||||
azimuth: 180.
|
|
||||||
capacity_per_sqkm: 1.7 # ScholzPhd Tab 4.3.1: 170 MW/km^2 and assuming 1% of the area can be used for solar PV panels
|
|
||||||
# Correction factor determined by comparing uncorrected area-weighted full-load hours to those
|
|
||||||
# published in Supplementary Data to
|
|
||||||
# Pietzcker, Robert Carl, et al. "Using the sun to decarbonize the power
|
|
||||||
# sector -- The economic potential of photovoltaics and concentrating solar
|
|
||||||
# power." Applied Energy 135 (2014): 704-720.
|
|
||||||
# This correction factor of 0.854337 may be in order if using reanalysis data.
|
|
||||||
# for discussion refer to https://github.com/PyPSA/pypsa-eur/pull/304
|
|
||||||
# correction_factor: 0.854337
|
|
||||||
corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 31, 32]
|
|
||||||
natura: true
|
|
||||||
excluder_resolution: 100
|
|
||||||
potential: simple # or conservative
|
|
||||||
clip_p_max_pu: 1.e-2
|
|
||||||
hydro:
|
hydro:
|
||||||
cutout: europe-2019-era5
|
cutout: europe-2019-era5
|
||||||
carriers: [ror, PHS, hydro]
|
|
||||||
PHS_max_hours: 6
|
|
||||||
hydro_max_hours: "energy_capacity_totals_by_country" # one of energy_capacity_totals_by_country, estimate_by_large_installations or a float
|
|
||||||
clip_min_inflow: 1.0
|
|
||||||
|
|
||||||
conventional:
|
conventional:
|
||||||
unit_commitment: true
|
unit_commitment: true
|
||||||
@ -248,706 +75,22 @@ conventional:
|
|||||||
nuclear:
|
nuclear:
|
||||||
p_max_pu: "data/nuclear_p_max_pu.csv" # float of file name
|
p_max_pu: "data/nuclear_p_max_pu.csv" # float of file name
|
||||||
|
|
||||||
lines:
|
|
||||||
types:
|
|
||||||
220.: "Al/St 240/40 2-bundle 220.0"
|
|
||||||
300.: "Al/St 240/40 3-bundle 300.0"
|
|
||||||
380.: "Al/St 240/40 4-bundle 380.0"
|
|
||||||
s_max_pu: 0.7
|
|
||||||
s_nom_max: .inf
|
|
||||||
length_factor: 1.25
|
|
||||||
under_construction: 'zero' # 'zero': set capacity to zero, 'remove': remove, 'keep': with full capacity
|
|
||||||
|
|
||||||
links:
|
|
||||||
p_max_pu: 1.0
|
|
||||||
p_nom_max: .inf
|
|
||||||
include_tyndp: true
|
|
||||||
under_construction: 'zero' # 'zero': set capacity to zero, 'remove': remove, 'keep': with full capacity
|
|
||||||
|
|
||||||
transformers:
|
|
||||||
x: 0.1
|
|
||||||
s_nom: 2000.
|
|
||||||
type: ''
|
|
||||||
|
|
||||||
load:
|
load:
|
||||||
power_statistics: false # only for files from <2019; set false in order to get ENTSOE transparency data
|
power_statistics: false # only for files from <2019; set false in order to get ENTSOE transparency data
|
||||||
interpolate_limit: 3 # data gaps up until this size are interpolated linearly
|
|
||||||
time_shift_for_large_gaps: 1w # data gaps up until this size are copied by copying from
|
|
||||||
manual_adjustments: true # false
|
|
||||||
scaling_factor: 1.0
|
|
||||||
|
|
||||||
# regulate what components with which carriers are kept from PyPSA-Eur;
|
|
||||||
# some technologies are removed because they are implemented differently
|
|
||||||
# (e.g. battery or H2 storage) or have different year-dependent costs
|
|
||||||
# in PyPSA-Eur-Sec
|
|
||||||
pypsa_eur:
|
|
||||||
Bus:
|
|
||||||
- AC
|
|
||||||
Link:
|
|
||||||
- DC
|
|
||||||
Generator:
|
|
||||||
- onwind
|
|
||||||
- offwind-ac
|
|
||||||
- offwind-dc
|
|
||||||
- solar
|
|
||||||
- ror
|
|
||||||
StorageUnit:
|
|
||||||
- PHS
|
|
||||||
- hydro
|
|
||||||
Store: []
|
|
||||||
|
|
||||||
energy:
|
|
||||||
energy_totals_year: 2011
|
|
||||||
base_emissions_year: 1990
|
|
||||||
eurostat_report_year: 2016
|
|
||||||
emissions: CO2 # "CO2" or "All greenhouse gases - (CO2 equivalent)"
|
|
||||||
|
|
||||||
biomass:
|
|
||||||
year: 2030
|
|
||||||
scenario: ENS_Med
|
|
||||||
classes:
|
|
||||||
solid biomass:
|
|
||||||
- Agricultural waste
|
|
||||||
- Fuelwood residues
|
|
||||||
- Secondary Forestry residues - woodchips
|
|
||||||
- Sawdust
|
|
||||||
- Residues from landscape care
|
|
||||||
- Municipal waste
|
|
||||||
not included:
|
|
||||||
- Sugar from sugar beet
|
|
||||||
- Rape seed
|
|
||||||
- "Sunflower, soya seed "
|
|
||||||
- Bioethanol barley, wheat, grain maize, oats, other cereals and rye
|
|
||||||
- Miscanthus, switchgrass, RCG
|
|
||||||
- Willow
|
|
||||||
- Poplar
|
|
||||||
- FuelwoodRW
|
|
||||||
- C&P_RW
|
|
||||||
biogas:
|
|
||||||
- Manure solid, liquid
|
|
||||||
- Sludge
|
|
||||||
|
|
||||||
|
|
||||||
solar_thermal:
|
|
||||||
clearsky_model: simple # should be "simple" or "enhanced"?
|
|
||||||
orientation:
|
|
||||||
slope: 45.
|
|
||||||
azimuth: 180.
|
|
||||||
|
|
||||||
# only relevant for foresight = myopic or perfect
|
|
||||||
existing_capacities:
|
|
||||||
unit_commitment: true # if unit commitment (UC) for conventional power plants is used
|
|
||||||
# UC is only applied to extendable plants if linearized UC is used
|
|
||||||
grouping_years_power: [1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2020, 2025, 2030]
|
|
||||||
grouping_years_heat: [1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2019] # these should not extend 2020
|
|
||||||
threshold_capacity: 10
|
|
||||||
conventional_carriers:
|
|
||||||
- lignite
|
|
||||||
- coal
|
|
||||||
- oil
|
|
||||||
- uranium
|
|
||||||
|
|
||||||
|
|
||||||
sector:
|
|
||||||
district_heating:
|
|
||||||
potential: 0.6 # maximum fraction of urban demand which can be supplied by district heating
|
|
||||||
# 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
|
|
||||||
progress:
|
|
||||||
2020: 0.0
|
|
||||||
2030: 0.3
|
|
||||||
2040: 0.6
|
|
||||||
2050: 1.0
|
|
||||||
district_heating_loss: 0.15
|
|
||||||
cluster_heat_buses: false # cluster residential and service heat buses to one to save memory
|
|
||||||
bev_dsm_restriction_value: 0.75 #Set to 0 for no restriction on BEV DSM
|
|
||||||
bev_dsm_restriction_time: 7 #Time at which SOC of BEV has to be dsm_restriction_value
|
|
||||||
transport_heating_deadband_upper: 20.
|
|
||||||
transport_heating_deadband_lower: 15.
|
|
||||||
ICE_lower_degree_factor: 0.375 #in per cent increase in fuel consumption per degree above deadband
|
|
||||||
ICE_upper_degree_factor: 1.6
|
|
||||||
EV_lower_degree_factor: 0.98
|
|
||||||
EV_upper_degree_factor: 0.63
|
|
||||||
bev_dsm: true #turns on EV battery
|
|
||||||
bev_availability: 0.5 #How many cars do smart charging
|
|
||||||
bev_energy: 0.05 #average battery size in MWh
|
|
||||||
bev_charge_efficiency: 0.9 #BEV (dis-)charging efficiency
|
|
||||||
bev_plug_to_wheel_efficiency: 0.2 #kWh/km from EPA https://www.fueleconomy.gov/feg/ for Tesla Model S
|
|
||||||
bev_charge_rate: 0.011 #3-phase charger with 11 kW
|
|
||||||
bev_avail_max: 0.95
|
|
||||||
bev_avail_mean: 0.8
|
|
||||||
v2g: true #allows feed-in to grid from EV battery
|
|
||||||
#what is not EV or FCEV is oil-fuelled ICE
|
|
||||||
land_transport_fuel_cell_share:
|
|
||||||
2020: 0
|
|
||||||
2030: 0.05
|
|
||||||
2040: 0.1
|
|
||||||
2050: 0.15
|
|
||||||
land_transport_electric_share:
|
|
||||||
2020: 0
|
|
||||||
2030: 0.25
|
|
||||||
2040: 0.6
|
|
||||||
2050: 0.85
|
|
||||||
land_transport_ice_share:
|
|
||||||
2020: 1
|
|
||||||
2030: 0.7
|
|
||||||
2040: 0.3
|
|
||||||
2050: 0
|
|
||||||
transport_fuel_cell_efficiency: 0.5
|
|
||||||
transport_internal_combustion_efficiency: 0.3
|
|
||||||
agriculture_machinery_electric_share: 0
|
|
||||||
agriculture_machinery_oil_share: 1
|
|
||||||
agriculture_machinery_fuel_efficiency: 0.7 # fuel oil per use
|
|
||||||
agriculture_machinery_electric_efficiency: 0.3 # electricity per use
|
|
||||||
MWh_MeOH_per_MWh_H2: 0.8787 # in LHV, source: DECHEMA (2017): Low carbon energy and feedstock for the European chemical industry , pg. 64.
|
|
||||||
MWh_MeOH_per_tCO2: 4.0321 # in LHV, source: DECHEMA (2017): Low carbon energy and feedstock for the European chemical industry , pg. 64.
|
|
||||||
MWh_MeOH_per_MWh_e: 3.6907 # in LHV, source: DECHEMA (2017): Low carbon energy and feedstock for the European chemical industry , pg. 64.
|
|
||||||
shipping_hydrogen_liquefaction: false # whether to consider liquefaction costs for shipping H2 demands
|
|
||||||
shipping_hydrogen_share:
|
|
||||||
2020: 0
|
|
||||||
2030: 0
|
|
||||||
2040: 0
|
|
||||||
2050: 0
|
|
||||||
shipping_methanol_share:
|
|
||||||
2020: 0
|
|
||||||
2030: 0.3
|
|
||||||
2040: 0.7
|
|
||||||
2050: 1
|
|
||||||
shipping_oil_share:
|
|
||||||
2020: 1
|
|
||||||
2030: 0.7
|
|
||||||
2040: 0.3
|
|
||||||
2050: 0
|
|
||||||
shipping_methanol_efficiency: 0.46 # 10-15% higher https://www.iea-amf.org/app/webroot/files/file/Annex%20Reports/AMF_Annex_56.pdf, https://users.ugent.be/~lsileghe/documents/extended_abstract.pdf
|
|
||||||
shipping_oil_efficiency: 0.40 #For conversion of fuel oil to propulsion in 2011
|
|
||||||
aviation_demand_factor: 1. # relative aviation demand compared to today
|
|
||||||
HVC_demand_factor: 1. # relative HVC demand compared to today
|
|
||||||
time_dep_hp_cop: true #time dependent heat pump coefficient of performance
|
|
||||||
heat_pump_sink_T: 55. # Celsius, based on DTU / large area radiators; used in build_cop_profiles.py
|
|
||||||
# conservatively high to cover hot water and space heating in poorly-insulated buildings
|
|
||||||
reduce_space_heat_exogenously: true # reduces space heat demand by a given factor (applied before losses in DH)
|
|
||||||
# this can represent e.g. building renovation, building demolition, or if
|
|
||||||
# the factor is negative: increasing floor area, increased thermal comfort, population growth
|
|
||||||
reduce_space_heat_exogenously_factor: # per unit reduction in space heat demand
|
|
||||||
# the default factors are determined by the LTS scenario from http://tool.european-calculator.eu/app/buildings/building-types-area/?levers=1ddd4444421213bdbbbddd44444ffffff11f411111221111211l212221
|
|
||||||
2020: 0.10 # this results in a space heat demand reduction of 10%
|
|
||||||
2025: 0.09 # first heat demand increases compared to 2020 because of larger floor area per capita
|
|
||||||
2030: 0.09
|
|
||||||
2035: 0.11
|
|
||||||
2040: 0.16
|
|
||||||
2045: 0.21
|
|
||||||
2050: 0.29
|
|
||||||
retrofitting: # co-optimises building renovation to reduce space heat demand
|
|
||||||
retro_endogen: false # co-optimise space heat savings
|
|
||||||
cost_factor: 1.0 # weight costs for building renovation
|
|
||||||
interest_rate: 0.04 # for investment in building components
|
|
||||||
annualise_cost: true # annualise the investment costs
|
|
||||||
tax_weighting: false # weight costs depending on taxes in countries
|
|
||||||
construction_index: true # weight costs depending on labour/material costs per country
|
|
||||||
tes: true
|
|
||||||
tes_tau: # 180 day time constant for centralised, 3 day for decentralised
|
|
||||||
decentral: 3
|
|
||||||
central: 180
|
|
||||||
boilers: true
|
|
||||||
oil_boilers: false
|
|
||||||
biomass_boiler: true
|
|
||||||
chp: true
|
|
||||||
micro_chp: false
|
|
||||||
solar_thermal: true
|
|
||||||
solar_cf_correction: 0.788457 # = >>> 1/1.2683
|
|
||||||
marginal_cost_storage: 0. #1e-4
|
|
||||||
methanation: true
|
|
||||||
helmeth: false
|
|
||||||
coal_cc: false
|
|
||||||
dac: true
|
|
||||||
co2_vent: false
|
|
||||||
allam_cycle: false
|
|
||||||
SMR: true
|
|
||||||
regional_co2_sequestration_potential:
|
|
||||||
enable: false # enable regionally resolved geological co2 storage potential
|
|
||||||
attribute: 'conservative estimate Mt'
|
|
||||||
include_onshore: false # include onshore sequestration potentials
|
|
||||||
min_size: 3 # Gt, sites with lower potential will be excluded
|
|
||||||
max_size: 25 # Gt, max sequestration potential for any one site, TODO research suitable value
|
|
||||||
years_of_storage: 25 # years until potential exhausted at optimised annual rate
|
|
||||||
co2_sequestration_potential: 200 #MtCO2/a sequestration potential for Europe
|
|
||||||
co2_sequestration_cost: 10 #EUR/tCO2 for sequestration of CO2
|
|
||||||
co2_spatial: false
|
|
||||||
co2network: false
|
|
||||||
cc_fraction: 0.9 # default fraction of CO2 captured with post-combustion capture
|
|
||||||
hydrogen_underground_storage: true
|
|
||||||
hydrogen_underground_storage_locations:
|
|
||||||
# - onshore # more than 50 km from sea
|
|
||||||
- nearshore # within 50 km of sea
|
|
||||||
# - offshore
|
|
||||||
ammonia: false # can be false (no NH3 carrier), true (copperplated NH3), "regional" (regionalised NH3 without network)
|
|
||||||
min_part_load_fischer_tropsch: 0.9 # p_min_pu
|
|
||||||
min_part_load_methanolisation: 0.5 # p_min_pu
|
|
||||||
use_fischer_tropsch_waste_heat: true
|
|
||||||
use_fuel_cell_waste_heat: true
|
|
||||||
use_electrolysis_waste_heat: false
|
|
||||||
electricity_distribution_grid: true
|
|
||||||
electricity_distribution_grid_cost_factor: 1.0 #multiplies cost in data/costs.csv
|
|
||||||
electricity_grid_connection: true # only applies to onshore wind and utility PV
|
|
||||||
H2_network: true
|
|
||||||
gas_network: false
|
|
||||||
H2_retrofit: false # if set to True existing gas pipes can be retrofitted to H2 pipes
|
|
||||||
# according to hydrogen backbone strategy (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
|
|
||||||
H2_retrofit_capacity_per_CH4: 0.6 # ratio for H2 capacity per original CH4 capacity of retrofitted pipelines
|
|
||||||
gas_network_connectivity_upgrade: 1 # 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
|
|
||||||
gas_distribution_grid: true
|
|
||||||
gas_distribution_grid_cost_factor: 1.0 #multiplies cost in data/costs.csv
|
|
||||||
biomass_spatial: false # regionally resolve biomass (e.g. potentials)
|
|
||||||
biomass_transport: false # allow transport of solid biomass between nodes
|
|
||||||
conventional_generation: # generator : carrier
|
|
||||||
OCGT: gas
|
|
||||||
biomass_to_liquid: false
|
|
||||||
biosng: false
|
|
||||||
|
|
||||||
industry:
|
|
||||||
St_primary_fraction: # fraction of steel produced via primary route versus secondary route (scrap+EAF); today fraction is 0.6
|
|
||||||
2020: 0.6
|
|
||||||
2025: 0.55
|
|
||||||
2030: 0.5
|
|
||||||
2035: 0.45
|
|
||||||
2040: 0.4
|
|
||||||
2045: 0.35
|
|
||||||
2050: 0.3
|
|
||||||
DRI_fraction: # fraction of the primary route converted to DRI + EAF
|
|
||||||
2020: 0
|
|
||||||
2025: 0
|
|
||||||
2030: 0.05
|
|
||||||
2035: 0.2
|
|
||||||
2040: 0.4
|
|
||||||
2045: 0.7
|
|
||||||
2050: 1
|
|
||||||
H2_DRI: 1.7 #H2 consumption in Direct Reduced Iron (DRI), MWh_H2,LHV/ton_Steel from 51kgH2/tSt in Vogl et al (2018) doi:10.1016/j.jclepro.2018.08.279
|
|
||||||
elec_DRI: 0.322 #electricity consumption in Direct Reduced Iron (DRI) shaft, MWh/tSt HYBRIT brochure https://ssabwebsitecdn.azureedge.net/-/media/hybrit/files/hybrit_brochure.pdf
|
|
||||||
Al_primary_fraction: # fraction of aluminium produced via the primary route versus scrap; today fraction is 0.4
|
|
||||||
2020: 0.4
|
|
||||||
2025: 0.375
|
|
||||||
2030: 0.35
|
|
||||||
2035: 0.325
|
|
||||||
2040: 0.3
|
|
||||||
2045: 0.25
|
|
||||||
2050: 0.2
|
|
||||||
MWh_NH3_per_tNH3: 5.166 # LHV
|
|
||||||
MWh_CH4_per_tNH3_SMR: 10.8 # 2012's demand from https://ec.europa.eu/docsroom/documents/4165/attachments/1/translations/en/renditions/pdf
|
|
||||||
MWh_elec_per_tNH3_SMR: 0.7 # same source, assuming 94-6% split methane-elec of total energy demand 11.5 MWh/tNH3
|
|
||||||
MWh_H2_per_tNH3_electrolysis: 6.5 # from https://doi.org/10.1016/j.joule.2018.04.017, around 0.197 tH2/tHN3 (>3/17 since some H2 lost and used for energy)
|
|
||||||
MWh_elec_per_tNH3_electrolysis: 1.17 # from https://doi.org/10.1016/j.joule.2018.04.017 Table 13 (air separation and HB)
|
|
||||||
MWh_NH3_per_MWh_H2_cracker: 1.46 # https://github.com/euronion/trace/blob/44a5ff8401762edbef80eff9cfe5a47c8d3c8be4/data/efficiencies.csv
|
|
||||||
NH3_process_emissions: 24.5 # in MtCO2/a from SMR for H2 production for NH3 from UNFCCC for 2015 for EU28
|
|
||||||
petrochemical_process_emissions: 25.5 # in MtCO2/a for petrochemical and other from UNFCCC for 2015 for EU28
|
|
||||||
HVC_primary_fraction: 1. # fraction of today's HVC produced via primary route
|
|
||||||
HVC_mechanical_recycling_fraction: 0. # fraction of today's HVC produced via mechanical recycling
|
|
||||||
HVC_chemical_recycling_fraction: 0. # fraction of today's HVC produced via chemical recycling
|
|
||||||
HVC_production_today: 52. # MtHVC/a from DECHEMA (2017), Figure 16, page 107; includes ethylene, propylene and BTX
|
|
||||||
MWh_elec_per_tHVC_mechanical_recycling: 0.547 # from SI of https://doi.org/10.1016/j.resconrec.2020.105010, Table S5, for HDPE, PP, PS, PET. LDPE would be 0.756.
|
|
||||||
MWh_elec_per_tHVC_chemical_recycling: 6.9 # Material Economics (2019), page 125; based on pyrolysis and electric steam cracking
|
|
||||||
chlorine_production_today: 9.58 # MtCl/a from DECHEMA (2017), Table 7, page 43
|
|
||||||
MWh_elec_per_tCl: 3.6 # DECHEMA (2017), Table 6, page 43
|
|
||||||
MWh_H2_per_tCl: -0.9372 # DECHEMA (2017), page 43; negative since hydrogen produced in chloralkali process
|
|
||||||
methanol_production_today: 1.5 # MtMeOH/a from DECHEMA (2017), page 62
|
|
||||||
MWh_elec_per_tMeOH: 0.167 # DECHEMA (2017), Table 14, page 65
|
|
||||||
MWh_CH4_per_tMeOH: 10.25 # DECHEMA (2017), Table 14, page 65
|
|
||||||
hotmaps_locate_missing: false
|
|
||||||
reference_year: 2015
|
|
||||||
# references:
|
|
||||||
# DECHEMA (2017): https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry-p-20002750.pdf
|
|
||||||
# Material Economics (2019): https://materialeconomics.com/latest-updates/industrial-transformation-2050
|
|
||||||
|
|
||||||
costs:
|
costs:
|
||||||
year: 2020
|
year: 2020
|
||||||
version: v0.5.0
|
|
||||||
rooftop_share: 0.14 # based on the potentials, assuming (0.1 kW/m2 and 10 m2/person)
|
|
||||||
fill_values:
|
|
||||||
FOM: 0
|
|
||||||
VOM: 0
|
|
||||||
efficiency: 1
|
|
||||||
fuel: 0
|
|
||||||
investment: 0
|
|
||||||
lifetime: 25
|
|
||||||
"CO2 intensity": 0
|
|
||||||
"discount rate": 0.07
|
|
||||||
# Marginal and capital costs can be overwritten
|
|
||||||
# capital_cost:
|
|
||||||
# onwind: 500
|
|
||||||
marginal_cost:
|
|
||||||
solar: 0.01
|
|
||||||
onwind: 0.015
|
|
||||||
offwind: 0.015
|
|
||||||
hydro: 0.
|
|
||||||
H2: 0.
|
|
||||||
electrolysis: 0.
|
|
||||||
fuel cell: 0.
|
|
||||||
battery: 0.
|
|
||||||
battery inverter: 0.
|
|
||||||
emission_prices: # in currency per tonne emission, only used with the option Ep
|
emission_prices: # in currency per tonne emission, only used with the option Ep
|
||||||
co2: 25
|
co2: 25
|
||||||
|
|
||||||
clustering:
|
clustering:
|
||||||
simplify_network:
|
simplify_network:
|
||||||
to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections)
|
|
||||||
algorithm: kmeans # choose from: [hac, kmeans]
|
|
||||||
feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc.
|
|
||||||
exclude_carriers: ['CCGT', 'lignite', 'oil', 'coal', 'OCGT', 'nuclear']
|
exclude_carriers: ['CCGT', 'lignite', 'oil', 'coal', 'OCGT', 'nuclear']
|
||||||
remove_stubs: true
|
|
||||||
remove_stubs_across_borders: true
|
|
||||||
cluster_network:
|
cluster_network:
|
||||||
algorithm: kmeans
|
|
||||||
feature: solar+onwind-time
|
|
||||||
exclude_carriers: ['CCGT', 'lignite', 'oil', 'coal', 'OCGT', 'nuclear']
|
exclude_carriers: ['CCGT', 'lignite', 'oil', 'coal', 'OCGT', 'nuclear']
|
||||||
aggregation_strategies:
|
|
||||||
generators:
|
|
||||||
p_nom_max: sum # use "min" for more conservative assumptions
|
|
||||||
p_nom_min: sum
|
|
||||||
p_min_pu: mean
|
|
||||||
marginal_cost: mean
|
|
||||||
committable: any
|
|
||||||
ramp_limit_up: max
|
|
||||||
ramp_limit_down: max
|
|
||||||
efficiency: mean
|
|
||||||
|
|
||||||
solving:
|
solving:
|
||||||
#tmpdir: "path/to/tmp"
|
#tmpdir: "path/to/tmp"
|
||||||
options:
|
options:
|
||||||
formulation: kirchhoff
|
|
||||||
clip_p_max_pu: 1.e-2
|
|
||||||
linearized_unit_commitment: true
|
|
||||||
load_shedding: true
|
load_shedding: true
|
||||||
noisy_costs: true
|
|
||||||
skip_iterations: true
|
|
||||||
track_iterations: false
|
|
||||||
min_iterations: 4
|
|
||||||
max_iterations: 6
|
|
||||||
seed: 123
|
|
||||||
|
|
||||||
solver:
|
|
||||||
name: gurobi
|
|
||||||
options: gurobi-default
|
|
||||||
|
|
||||||
solver_options:
|
|
||||||
highs-default:
|
|
||||||
# refer to https://ergo-code.github.io/HiGHS/options/definitions.html#solver
|
|
||||||
threads: 4
|
|
||||||
solver: "ipm"
|
|
||||||
run_crossover: "off"
|
|
||||||
small_matrix_value: 1e-6
|
|
||||||
large_matrix_value: 1e9
|
|
||||||
primal_feasibility_tolerance: 1e-5
|
|
||||||
dual_feasibility_tolerance: 1e-5
|
|
||||||
ipm_optimality_tolerance: 1e-4
|
|
||||||
parallel: "on"
|
|
||||||
random_seed: 123
|
|
||||||
gurobi-default:
|
|
||||||
threads: 4
|
|
||||||
method: 2 # barrier
|
|
||||||
crossover: 0
|
|
||||||
BarConvTol: 1.e-6
|
|
||||||
Seed: 123
|
|
||||||
AggFill: 0
|
|
||||||
PreDual: 0
|
|
||||||
GURO_PAR_BARDENSETHRESH: 200
|
|
||||||
seed: 10 # Consistent seed for all plattforms
|
|
||||||
gurobi-numeric-focus:
|
|
||||||
name: gurobi
|
|
||||||
NumericFocus: 3 # Favour numeric stability over speed
|
|
||||||
method: 2 # barrier
|
|
||||||
crossover: 0 # do not use crossover
|
|
||||||
BarHomogeneous: 1 # Use homogeneous barrier if standard does not converge
|
|
||||||
BarConvTol: 1.e-5
|
|
||||||
FeasibilityTol: 1.e-4
|
|
||||||
OptimalityTol: 1.e-4
|
|
||||||
ObjScale: -0.5
|
|
||||||
threads: 8
|
|
||||||
Seed: 123
|
|
||||||
gurobi-fallback: # Use gurobi defaults
|
|
||||||
name: gurobi
|
|
||||||
crossover: 0
|
|
||||||
method: 2 # barrier
|
|
||||||
BarHomogeneous: 1 # Use homogeneous barrier if standard does not converge
|
|
||||||
BarConvTol: 1.e-5
|
|
||||||
FeasibilityTol: 1.e-5
|
|
||||||
OptimalityTol: 1.e-5
|
|
||||||
Seed: 123
|
|
||||||
threads: 8
|
|
||||||
cplex-default:
|
|
||||||
threads: 4
|
|
||||||
lpmethod: 4 # barrier
|
|
||||||
solutiontype: 2 # non basic solution, ie no crossover
|
|
||||||
barrier.convergetol: 1.e-5
|
|
||||||
feasopt.tolerance: 1.e-6
|
|
||||||
cbc-default: {} # Used in CI
|
|
||||||
glpk-default: {} # Used in CI
|
|
||||||
|
|
||||||
mem: 30000 #memory in MB; 20 GB enough for 50+B+I+H2; 100 GB for 181+B+I+H2
|
|
||||||
|
|
||||||
|
|
||||||
plotting:
|
|
||||||
map:
|
|
||||||
boundaries: [-11, 30, 34, 71]
|
|
||||||
color_geomap:
|
|
||||||
ocean: white
|
|
||||||
land: white
|
|
||||||
eu_node_location:
|
|
||||||
x: -5.5
|
|
||||||
y: 46.
|
|
||||||
costs_max: 1000
|
|
||||||
costs_threshold: 1
|
|
||||||
energy_max: 20000
|
|
||||||
energy_min: -20000
|
|
||||||
energy_threshold: 50.
|
|
||||||
vre_techs:
|
|
||||||
- onwind
|
|
||||||
- offwind-ac
|
|
||||||
- offwind-dc
|
|
||||||
- solar
|
|
||||||
- ror
|
|
||||||
renewable_storage_techs:
|
|
||||||
- PHS
|
|
||||||
- hydro
|
|
||||||
conv_techs:
|
|
||||||
- OCGT
|
|
||||||
- CCGT
|
|
||||||
- Nuclear
|
|
||||||
- Coal
|
|
||||||
storage_techs:
|
|
||||||
- hydro+PHS
|
|
||||||
- battery
|
|
||||||
- H2
|
|
||||||
load_carriers:
|
|
||||||
- AC load
|
|
||||||
AC_carriers:
|
|
||||||
- AC line
|
|
||||||
- AC transformer
|
|
||||||
link_carriers:
|
|
||||||
- DC line
|
|
||||||
- Converter AC-DC
|
|
||||||
heat_links:
|
|
||||||
- heat pump
|
|
||||||
- resistive heater
|
|
||||||
- CHP heat
|
|
||||||
- CHP electric
|
|
||||||
- gas boiler
|
|
||||||
- central heat pump
|
|
||||||
- central resistive heater
|
|
||||||
- central CHP heat
|
|
||||||
- central CHP electric
|
|
||||||
- central gas boiler
|
|
||||||
heat_generators:
|
|
||||||
- gas boiler
|
|
||||||
- central gas boiler
|
|
||||||
- solar thermal collector
|
|
||||||
- central solar thermal collector
|
|
||||||
|
|
||||||
nice_names:
|
|
||||||
OCGT: "Open-Cycle Gas"
|
|
||||||
CCGT: "Combined-Cycle Gas"
|
|
||||||
offwind-ac: "Offshore Wind (AC)"
|
|
||||||
offwind-dc: "Offshore Wind (DC)"
|
|
||||||
onwind: "Onshore Wind"
|
|
||||||
solar: "Solar"
|
|
||||||
PHS: "Pumped Hydro Storage"
|
|
||||||
hydro: "Reservoir & Dam"
|
|
||||||
battery: "Battery Storage"
|
|
||||||
H2: "Hydrogen Storage"
|
|
||||||
lines: "Transmission Lines"
|
|
||||||
ror: "Run of River"
|
|
||||||
|
|
||||||
tech_colors:
|
|
||||||
# wind
|
|
||||||
onwind: "#235ebc"
|
|
||||||
onshore wind: "#235ebc"
|
|
||||||
offwind: "#6895dd"
|
|
||||||
offshore wind: "#6895dd"
|
|
||||||
offwind-ac: "#6895dd"
|
|
||||||
offshore wind (AC): "#6895dd"
|
|
||||||
offshore wind ac: "#6895dd"
|
|
||||||
offwind-dc: "#74c6f2"
|
|
||||||
offshore wind (DC): "#74c6f2"
|
|
||||||
offshore wind dc: "#74c6f2"
|
|
||||||
# water
|
|
||||||
hydro: '#298c81'
|
|
||||||
hydro reservoir: '#298c81'
|
|
||||||
ror: '#3dbfb0'
|
|
||||||
run of river: '#3dbfb0'
|
|
||||||
hydroelectricity: '#298c81'
|
|
||||||
PHS: '#51dbcc'
|
|
||||||
hydro+PHS: "#08ad97"
|
|
||||||
wave: '#a7d4cf'
|
|
||||||
# solar
|
|
||||||
solar: "#f9d002"
|
|
||||||
solar PV: "#f9d002"
|
|
||||||
solar thermal: '#ffbf2b'
|
|
||||||
solar rooftop: '#ffea80'
|
|
||||||
# gas
|
|
||||||
OCGT: '#e0986c'
|
|
||||||
OCGT marginal: '#e0986c'
|
|
||||||
OCGT-heat: '#e0986c'
|
|
||||||
gas boiler: '#db6a25'
|
|
||||||
gas boilers: '#db6a25'
|
|
||||||
gas boiler marginal: '#db6a25'
|
|
||||||
gas: '#e05b09'
|
|
||||||
fossil gas: '#e05b09'
|
|
||||||
natural gas: '#e05b09'
|
|
||||||
CCGT: '#a85522'
|
|
||||||
CCGT marginal: '#a85522'
|
|
||||||
allam: '#B98F76'
|
|
||||||
gas for industry co2 to atmosphere: '#692e0a'
|
|
||||||
gas for industry co2 to stored: '#8a3400'
|
|
||||||
gas for industry: '#853403'
|
|
||||||
gas for industry CC: '#692e0a'
|
|
||||||
gas pipeline: '#ebbca0'
|
|
||||||
gas pipeline new: '#a87c62'
|
|
||||||
# oil
|
|
||||||
oil: '#c9c9c9'
|
|
||||||
oil boiler: '#adadad'
|
|
||||||
agriculture machinery oil: '#949494'
|
|
||||||
shipping oil: "#808080"
|
|
||||||
land transport oil: '#afafaf'
|
|
||||||
# nuclear
|
|
||||||
Nuclear: '#ff8c00'
|
|
||||||
Nuclear marginal: '#ff8c00'
|
|
||||||
nuclear: '#ff8c00'
|
|
||||||
uranium: '#ff8c00'
|
|
||||||
# coal
|
|
||||||
Coal: '#545454'
|
|
||||||
coal: '#545454'
|
|
||||||
Coal marginal: '#545454'
|
|
||||||
solid: '#545454'
|
|
||||||
Lignite: '#826837'
|
|
||||||
lignite: '#826837'
|
|
||||||
Lignite marginal: '#826837'
|
|
||||||
# biomass
|
|
||||||
biogas: '#e3d37d'
|
|
||||||
biomass: '#baa741'
|
|
||||||
solid biomass: '#baa741'
|
|
||||||
solid biomass transport: '#baa741'
|
|
||||||
solid biomass for industry: '#7a6d26'
|
|
||||||
solid biomass for industry CC: '#47411c'
|
|
||||||
solid biomass for industry co2 from atmosphere: '#736412'
|
|
||||||
solid biomass for industry co2 to stored: '#47411c'
|
|
||||||
biomass boiler: '#8A9A5B'
|
|
||||||
biomass to liquid: '#32CD32'
|
|
||||||
BioSNG: '#123456'
|
|
||||||
# power transmission
|
|
||||||
lines: '#6c9459'
|
|
||||||
transmission lines: '#6c9459'
|
|
||||||
electricity distribution grid: '#97ad8c'
|
|
||||||
# electricity demand
|
|
||||||
Electric load: '#110d63'
|
|
||||||
electric demand: '#110d63'
|
|
||||||
electricity: '#110d63'
|
|
||||||
industry electricity: '#2d2a66'
|
|
||||||
industry new electricity: '#2d2a66'
|
|
||||||
agriculture electricity: '#494778'
|
|
||||||
# battery + EVs
|
|
||||||
battery: '#ace37f'
|
|
||||||
battery storage: '#ace37f'
|
|
||||||
home battery: '#80c944'
|
|
||||||
home battery storage: '#80c944'
|
|
||||||
BEV charger: '#baf238'
|
|
||||||
V2G: '#e5ffa8'
|
|
||||||
land transport EV: '#baf238'
|
|
||||||
Li ion: '#baf238'
|
|
||||||
# hot water storage
|
|
||||||
water tanks: '#e69487'
|
|
||||||
hot water storage: '#e69487'
|
|
||||||
hot water charging: '#e69487'
|
|
||||||
hot water discharging: '#e69487'
|
|
||||||
# heat demand
|
|
||||||
Heat load: '#cc1f1f'
|
|
||||||
heat: '#cc1f1f'
|
|
||||||
heat demand: '#cc1f1f'
|
|
||||||
rural heat: '#ff5c5c'
|
|
||||||
central heat: '#cc1f1f'
|
|
||||||
decentral heat: '#750606'
|
|
||||||
low-temperature heat for industry: '#8f2727'
|
|
||||||
process heat: '#ff0000'
|
|
||||||
agriculture heat: '#d9a5a5'
|
|
||||||
# heat supply
|
|
||||||
heat pumps: '#2fb537'
|
|
||||||
heat pump: '#2fb537'
|
|
||||||
air heat pump: '#36eb41'
|
|
||||||
ground heat pump: '#2fb537'
|
|
||||||
Ambient: '#98eb9d'
|
|
||||||
CHP: '#8a5751'
|
|
||||||
CHP CC: '#634643'
|
|
||||||
CHP heat: '#8a5751'
|
|
||||||
CHP electric: '#8a5751'
|
|
||||||
district heating: '#e8beac'
|
|
||||||
resistive heater: '#d8f9b8'
|
|
||||||
retrofitting: '#8487e8'
|
|
||||||
building retrofitting: '#8487e8'
|
|
||||||
# hydrogen
|
|
||||||
H2 for industry: "#f073da"
|
|
||||||
H2 for shipping: "#ebaee0"
|
|
||||||
H2: '#bf13a0'
|
|
||||||
hydrogen: '#bf13a0'
|
|
||||||
SMR: '#870c71'
|
|
||||||
SMR CC: '#4f1745'
|
|
||||||
H2 liquefaction: '#d647bd'
|
|
||||||
hydrogen storage: '#bf13a0'
|
|
||||||
H2 storage: '#bf13a0'
|
|
||||||
land transport fuel cell: '#6b3161'
|
|
||||||
H2 pipeline: '#f081dc'
|
|
||||||
H2 pipeline retrofitted: '#ba99b5'
|
|
||||||
H2 Fuel Cell: '#c251ae'
|
|
||||||
H2 Electrolysis: '#ff29d9'
|
|
||||||
# ammonia
|
|
||||||
NH3: '#46caf0'
|
|
||||||
ammonia: '#46caf0'
|
|
||||||
ammonia store: '#00ace0'
|
|
||||||
ammonia cracker: '#87d0e6'
|
|
||||||
Haber-Bosch: '#076987'
|
|
||||||
# syngas
|
|
||||||
Sabatier: '#9850ad'
|
|
||||||
methanation: '#c44ce6'
|
|
||||||
methane: '#c44ce6'
|
|
||||||
helmeth: '#e899ff'
|
|
||||||
# synfuels
|
|
||||||
Fischer-Tropsch: '#25c49a'
|
|
||||||
liquid: '#25c49a'
|
|
||||||
kerosene for aviation: '#a1ffe6'
|
|
||||||
naphtha for industry: '#57ebc4'
|
|
||||||
methanolisation: '#83d6d5'
|
|
||||||
methanol: '#468c8b'
|
|
||||||
shipping methanol: '#468c8b'
|
|
||||||
# co2
|
|
||||||
CC: '#f29dae'
|
|
||||||
CCS: '#f29dae'
|
|
||||||
CO2 sequestration: '#f29dae'
|
|
||||||
DAC: '#ff5270'
|
|
||||||
co2 stored: '#f2385a'
|
|
||||||
co2: '#f29dae'
|
|
||||||
co2 vent: '#ffd4dc'
|
|
||||||
CO2 pipeline: '#f5627f'
|
|
||||||
# emissions
|
|
||||||
process emissions CC: '#000000'
|
|
||||||
process emissions: '#222222'
|
|
||||||
process emissions to stored: '#444444'
|
|
||||||
process emissions to atmosphere: '#888888'
|
|
||||||
oil emissions: '#aaaaaa'
|
|
||||||
shipping oil emissions: "#555555"
|
|
||||||
shipping methanol emissions: '#666666'
|
|
||||||
land transport oil emissions: '#777777'
|
|
||||||
agriculture machinery oil emissions: '#333333'
|
|
||||||
# other
|
|
||||||
shipping: '#03a2ff'
|
|
||||||
power-to-heat: '#2fb537'
|
|
||||||
power-to-gas: '#c44ce6'
|
|
||||||
power-to-H2: '#ff29d9'
|
|
||||||
power-to-liquid: '#25c49a'
|
|
||||||
gas-to-power/heat: '#ee8340'
|
|
||||||
waste: '#e3d37d'
|
|
||||||
other: '#000000'
|
|
||||||
geothermal: '#ba91b1'
|
|
||||||
AC-AC: "#70af1d"
|
|
||||||
AC line: "#70af1d"
|
|
||||||
links: "#8a1caf"
|
|
||||||
HVDC links: "#8a1caf"
|
|
||||||
DC-DC: "#8a1caf"
|
|
||||||
DC link: "#8a1caf"
|
|
||||||
|
3
notebooks/pypsa_data.ipynb.license
Normal file
3
notebooks/pypsa_data.ipynb.license
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
SPDX-FileCopyrightText: 2021 - 2023 The PyPSA-EUR Authors
|
||||||
|
|
||||||
|
SPDX-License-Identifier: MIT
|
@ -704,13 +704,14 @@ def attach_OPSD_renewables(n, tech_map):
|
|||||||
{"Solar": "PV"}
|
{"Solar": "PV"}
|
||||||
)
|
)
|
||||||
df = df.query("Fueltype in @tech_map").powerplant.convert_country_to_alpha2()
|
df = df.query("Fueltype in @tech_map").powerplant.convert_country_to_alpha2()
|
||||||
|
df = df.dropna(subset=["lat", "lon"])
|
||||||
|
|
||||||
for fueltype, carriers in tech_map.items():
|
for fueltype, carriers in tech_map.items():
|
||||||
gens = n.generators[lambda df: df.carrier.isin(carriers)]
|
gens = n.generators[lambda df: df.carrier.isin(carriers)]
|
||||||
buses = n.buses.loc[gens.bus.unique()]
|
buses = n.buses.loc[gens.bus.unique()]
|
||||||
gens_per_bus = gens.groupby("bus").p_nom.count()
|
gens_per_bus = gens.groupby("bus").p_nom.count()
|
||||||
|
|
||||||
caps = map_country_bus(df.query("Fueltype == @fueltype and lat == lat"), buses)
|
caps = map_country_bus(df.query("Fueltype == @fueltype"), buses)
|
||||||
caps = caps.groupby(["bus"]).Capacity.sum()
|
caps = caps.groupby(["bus"]).Capacity.sum()
|
||||||
caps = caps / gens_per_bus.reindex(caps.index, fill_value=1)
|
caps = caps / gens_per_bus.reindex(caps.index, fill_value=1)
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user