# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: CC0-1.0

version: 0.7.0
tutorial: false

logging:
  level: INFO
  format: '%(levelname)s:%(name)s:%(message)s'

run:
  name: "" # use this to keep track of runs with different settings
  shared_cutouts: false # 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:
  simpl:
  - ''
  ll:  # allowed transmission line volume expansion, can be any float >= 1.0 with a prefix v|c (today) or "copt"
  - v1.0
  - v1.5
  clusters:  # number of nodes in Europe, any integer between 37 (1 node per country-zone) and several hundred
  - 37
  - 128
  - 256
  - 512
  - 1024
  opts: # only relevant for PyPSA-Eur
  - ''
  sector_opts: # this is where the main scenario settings are
  - Co2L0-3H-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:
  start: "2013-01-01"
  end: "2014-01-01"
  inclusive: 'left' # include start, not end

enable:
  prepare_links_p_nom: false
  retrieve_databundle: true
  retrieve_sector_databundle: true
  retrieve_cost_data: true
  build_cutout: false
  retrieve_cutout: true
  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.7011648746
  2025: 0.5241935484
  2030: 0.2970430108
  2035: 0.1500896057
  2040: 0.0712365591
  2045: 0.0322580645
  2050: 0

electricity:
  voltages: [220., 300., 380.]
  gaslimit: false # global gas usage limit of X MWh_th
  co2limit: 7.75e+7 # 0.05 * 3.1e9*0.5
  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:
    Generator: [solar, onwind, offwind-ac, offwind-dc, OCGT]
    StorageUnit: [] # battery, H2
    Store: [battery, H2]
    Link: [] # H2 pipeline

  # use pandas query strings here, e.g. Country not in ['Germany']
  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]
  renewable_carriers: [solar, onwind, offwind-ac, offwind-dc, hydro]

  estimate_renewable_capacities:
    enable: true
    # Add capacities from OPSD data
    from_opsd: true
    # Renewable capacities are based on existing capacities reported by IRENA
    year: 2020
    # 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:
  default_cutout: europe-2013-era5
  nprocesses: 4
  show_progress: false # false saves time
  cutouts:
    # use 'base' to determine geographical bounds and time span from config
    # base:
      # module: era5
    europe-2013-era5:
      module: era5 # in priority order
      x: [-12., 35.]
      y: [33., 72]
      dx: 0.3
      dy: 0.3
      time: ['2013', '2013']
    europe-2013-sarah:
      module: [sarah, era5] # in priority order
      x: [-12., 45.]
      y: [33., 65]
      dx: 0.2
      dy: 0.2
      time: ['2013', '2013']
      sarah_interpolate: false
      sarah_dir:
      features: [influx, temperature]


renewable:
  onwind:
    cutout: europe-2013-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:
    cutout: europe-2013-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:
    cutout: europe-2013-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:
    cutout: europe-2013-sarah
    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:
    cutout: europe-2013-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:
  nuclear:
    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:
  power_statistics: true # 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:
  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: true
  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:
  year: 2030
  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
    co2: 0.

clustering:
  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: []
    remove_stubs: true
    remove_stubs_across_borders: true
  cluster_network:
    algorithm: kmeans
    feature: solar+onwind-time
    exclude_carriers: []
  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:
  #tmpdir: "path/to/tmp"
  options:
    formulation: kirchhoff
    clip_p_max_pu: 1.e-2
    load_shedding: false
    noisy_costs: true
    skip_iterations: true
    track_iterations: false
    min_iterations: 4
    max_iterations: 6
    keep_shadowprices:
    - Bus
    - Line
    - Link
    - Transformer
    - GlobalConstraint
    - Generator
    - Store
    - StorageUnit

  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"
