Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 22 additions & 8 deletions config/config.default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,19 +29,24 @@ run:
use_shadow_directory: false

# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#foresight
foresight: overnight
foresight: myopic

# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#scenario
# Wildcard docs in https://pypsa-eur.readthedocs.io/en/latest/wildcards.html
scenario:
clusters:
- 50
- 39
# - 128
# - 256
opts:
- ''
sector_opts:
- ''
planning_horizons:
- 2050
# - 2020
- 2030
- 2040
# - 2050

# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#countries
countries:
Expand Down Expand Up @@ -88,7 +93,7 @@ snapshots:

# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#enable
enable:
retrieve: auto
retrieve: false
retrieve_databundle: true
retrieve_cost_data: true
build_cutout: false
Expand Down Expand Up @@ -472,6 +477,7 @@ solar_thermal:
existing_capacities:
grouping_years_power: [1920, 1950, 1955, 1960, 1965, 1970, 1975, 1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2020, 2025]
grouping_years_heat: [1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2019] # heat grouping years >= baseyear will be ignored
grouping_years_industry: [1995, 2000, 2005, 2010, 2015, 2020, 2025]
threshold_capacity: 10
default_heating_lifetime: 20
conventional_carriers:
Expand Down Expand Up @@ -727,7 +733,7 @@ sector:
- nearshore # within 50 km of sea
# - offshore
methanol:
regional_methanol_demand: false
regional_methanol_demand: true
methanol_reforming: false
methanol_reforming_cc: false
methanol_to_kerosene: false
Expand All @@ -738,7 +744,7 @@ sector:
allam: false
biomass_to_methanol: true
biomass_to_methanol_cc: false
ammonia: true
ammonia: regional
min_part_load_electrolysis: 0
min_part_load_fischer_tropsch: 0.5
min_part_load_methanolisation: 0.3
Expand Down Expand Up @@ -812,7 +818,7 @@ sector:
var_cf: true
sustainability_factor: 0.0025
solid_biomass_import:
enable: false
enable: true
price: 54 #EUR/MWh
max_amount: 1390 # TWh
upstream_emissions_factor: .1 #share of solid biomass CO2 emissions at full combustion
Expand All @@ -826,6 +832,14 @@ sector:
methanol: 121
gas: 122
oil: 125
endogenous_sectors:
- steel
- cement
hbi_relocation: false
steel_bof:
pledge: true
pledge_delay: 0
default_phase_out: 2035

# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#industry
industry:
Expand Down Expand Up @@ -968,7 +982,7 @@ clustering:
ramp_limit_down: max
temporal:
resolution_elec: false
resolution_sector: false
resolution_sector: 365H

# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#adjustments
adjustments:
Expand Down
16 changes: 16 additions & 0 deletions config/plotting.default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -586,3 +586,19 @@ plotting:
import NH3: '#e2ed74'
import oil: '#93eda2'
import methanol: '#87d0e6'
steel: '#22333B'
steel emission: '#5E503F'
steel emission CC: '#A9927D'
hbi: '#CCDBDC'
DRI: '#8E7C93'
EAF: '#586357'
H2 DRI: '#618ab0'
gas DRI: '#baaf68'
BOF: '#0A0908'
grey methanol: '#7C6C77'
cement: '#c98349'
cement emission: '#119DA4'
cement emission CC: '#0C7489'
cement kiln: '#D90368'
cement finishing: '#820263'
clinker: '#F5FDC6'
Binary file added data/1-s2.0-S0196890424010586-mmc2.xlsx
Binary file not shown.
Binary file not shown.
7 changes: 7 additions & 0 deletions doc/configtables/sector.csv
Original file line number Diff line number Diff line change
Expand Up @@ -228,3 +228,10 @@ imports,,,
-- limit_sense,--,"{==, <=, >=}",Sense of the limit
-- price,,"{H2, NH3, methanol, gas, oil}",
-- -- {carrier},currency/MWh,float,Price for importing renewable energy of carrier
endogenous_sectors,,,
-- {steel, cement}, Endogenously model given subsectors
hbi_relocation,--,"{true, false}",Allow the relocation of iron ore reduction step
steel_bof,,,
-- pledge,--,"{true, false}",decommissions coal blast furnaces at their pledged phase out year
-- pledge_delay,--,int,delays the decommission year by number of years
-- default_phase_out,--,{false, int}",decommissions the coal blast furnaces that do not have a pledged phase out year
24 changes: 24 additions & 0 deletions rules/build_sector.smk
Original file line number Diff line number Diff line change
Expand Up @@ -1402,6 +1402,27 @@ def input_heat_source_power(w):
}


rule build_industry_plants:
params:
countries=config_provider("countries"),
input:
regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"),
ammonia="data/ammonia_plants.csv",
isi_database="data/1-s2.0-S0196890424010586-mmc2.xlsx",
gem_gcct="data/gem/Global-Cement-and-Concrete-Tracker_July-2025.xlsx",
output:
industry_plants=resources("industry_plants_{clusters}.csv"),
threads: 1
resources:
mem_mb=2000,
log:
logs("build_industry_plants_{clusters}.log"),
benchmark:
benchmarks("build_industry_plants_{clusters}")
script:
"../scripts/build_industry_plants.py"


rule prepare_sector_network:
params:
time_resolution=config_provider("clustering", "temporal", "resolution_sector"),
Expand Down Expand Up @@ -1558,6 +1579,9 @@ rule prepare_sector_network:
if config_provider("sector", "district_heating", "ates", "enable")(w)
else []
),
industry_sector_ratios=resources(
"industry_sector_ratios_{planning_horizons}.csv"
),
output:
resources(
"networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc"
Expand Down
3 changes: 3 additions & 0 deletions rules/solve_myopic.smk
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ rule add_existing_baseyear:
costs=config_provider("costs"),
heat_pump_sources=config_provider("sector", "heat_pump_sources"),
energy_totals_year=config_provider("energy", "energy_totals_year"),
MWh_NH3_per_tNH3=config_provider("industry", "MWh_NH3_per_tNH3"),
MWh_MeOH_per_tMeOH=config_provider("industry", "MWh_MeOH_per_tMeOH"),
input:
network=resources(
"networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc"
Expand All @@ -28,6 +30,7 @@ rule add_existing_baseyear:
"existing_heating_distribution_base_s_{clusters}_{planning_horizons}.csv"
),
heating_efficiencies=resources("heating_efficiencies.csv"),
industry_plants=resources("industry_plants_{clusters}.csv"),
output:
resources(
"networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_brownfield.nc"
Expand Down
5 changes: 5 additions & 0 deletions rules/solve_perfect.smk
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ rule add_existing_baseyear:
costs=config_provider("costs"),
heat_pump_sources=config_provider("sector", "heat_pump_sources"),
energy_totals_year=config_provider("energy", "energy_totals_year"),
countries=config_provider("countries"),
MWh_NH3_per_tNH3=config_provider("industry", "MWh_NH3_per_tNH3"),
input:
network=resources(
"networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc"
Expand All @@ -27,6 +29,9 @@ rule add_existing_baseyear:
),
existing_heating="data/existing_infrastructure/existing_heating_raw.csv",
heating_efficiencies=resources("heating_efficiencies.csv"),
regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"),
ammonia="data/ammonia_plants.csv",
isi_database="data/1-s2.0-S0196890424010586-mmc2.xlsx",
output:
resources(
"networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_brownfield.nc"
Expand Down
Loading