Skip to content

Commit

Permalink
Add emissions and fuel consumption from fuel refinieries (#1253)
Browse files Browse the repository at this point in the history
* Add emissions and fuel consumption from fuel refinieries

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
fneum and pre-commit-ci[bot] authored Aug 30, 2024
1 parent 8d78fe8 commit 56f2b58
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 8 deletions.
3 changes: 3 additions & 0 deletions config/config.default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -798,6 +798,7 @@ industry:
MWh_MeOH_per_tMeOH: 5.528
hotmaps_locate_missing: false
reference_year: 2019
oil_refining_emissions: 0.013


# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#costs
Expand Down Expand Up @@ -1078,6 +1079,8 @@ plotting:
gas pipeline new: '#a87c62'
# oil
oil: '#c9c9c9'
oil primary: '#d2d2d2'
oil refining: '#e6e6e6'
imported oil: '#a3a3a3'
oil boiler: '#adadad'
residential rural oil boiler: '#a9a9a9'
Expand Down
1 change: 1 addition & 0 deletions doc/configtables/industry.csv
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,4 @@ MWh_CH4_per_tMeOH,MWhCH4/tMeOH,float,"The energy amount of methane needed to pro
MWh_MeOH_per_tMeOH,LHV,float,"The energy amount per ton of methanol. 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 74."
hotmaps_locate_missing,--,"{true,false}",Locate industrial sites without valid locations based on city and countries.
reference_year,year,YYYY,The year used as the baseline for industrial energy demand and production. Data extracted from `JRC-IDEES 2015 <https://data.jrc.ec.europa.eu/dataset/jrc-10110-10001>`_
oil_refining_emissions,tCO2/MWh,float,"The emissions from oil fuel processing (e.g. oil in petrochemical refinieries). The default value of 0.013 tCO2/MWh is based on DE statistics for 2019; the EU value is very similar."
3 changes: 3 additions & 0 deletions doc/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ Release Notes
Upcoming Release
================

* Added option to specify emissions fuel processing (e.g. oil in petrochemical
refinieries) with setting ``industry: oil_refining_emissions:``.

* Bugfix for passing function arguments in rule :mod:`solve_operations_network`.

* Represent Kosovo (XK) as separate country.
Expand Down
49 changes: 41 additions & 8 deletions scripts/prepare_sector_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -573,14 +573,47 @@ def add_carrier_buses(n, carrier, nodes=None):
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"],
)
suffix = ""

if carrier == "oil" and cf_industry["oil_refining_emissions"] > 0:

n.madd(
"Bus",
nodes + " primary",
location=location,
carrier=carrier + " primary",
unit=unit,
)

n.madd(
"Link",
nodes + " refining",
bus0=nodes + " primary",
bus1=nodes,
bus2="co2 atmosphere",
location=location,
carrier=carrier + " refining",
p_nom=1e6,
efficiency=1
- (
cf_industry["oil_refining_emissions"]
/ costs.at[carrier, "CO2 intensity"]
),
efficiency2=cf_industry["oil_refining_emissions"],
)

suffix = " primary"

else:

n.madd(
"Generator",
nodes + suffix,
bus=nodes + suffix,
p_nom_extendable=True,
carrier=carrier + suffix,
marginal_cost=costs.at[carrier, "fuel"],
)


# TODO: PyPSA-Eur merge issue
Expand Down

0 comments on commit 56f2b58

Please sign in to comment.