Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add synthetic fuel production & methane boiler #424

Merged
merged 4 commits into from
Aug 7, 2024
Merged
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
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

### Added (models)

* **ADD** Hydrogen and synthetic fuel energy carriers in the Calliope model, and the technologies to generate those (hydrogen from electrolysis and synthetic fuels from biofuels or hydrogen+CO2) (#416)

* **ADD** Specific biofuel energy carrier in the Calliope model, which can be used to generate electricity or to meet heat demand (#417).

* **ADD** Industry module: iron and steel, "default" combined categories. NOT CONNECTED TO THE MAIN WORKFLOW. (Fixes #308, #309, #310, #347, #345 and #346)
Expand Down
33 changes: 21 additions & 12 deletions Snakefile
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ rule module_with_location_specific_data:
biofuel_efficiency = config["parameters"]["biofuel-efficiency"],
wildcard_constraints:
# Exclude all outputs that have their own `techs_and_locations_template` implementation
group_and_tech = "(?!transmission\/|supply\/biofuel|supply\/electrified-biofuel).*"
group_and_tech = "(?!transmission\/electricity-|supply\/biofuel|supply\/electrified-biofuel).*"
conda: "envs/default.yaml"
output: "build/models/{resolution}/techs/{group_and_tech}.yaml"
script: "scripts/template_techs.py"
Expand Down Expand Up @@ -194,22 +194,31 @@ rule model:
] + ["techs/transmission/electricity-entsoe.yaml" for i in [None] if wildcards.resolution == "national"]
),
optional_heat_modules = expand(
"build/models/{{resolution}}/{module}",
"build/models/{{resolution}}/techs/{module}",
module=[
"techs/demand/heat.yaml",
"techs/demand/electrified-heat.yaml",
"techs/storage/heat.yaml",
"techs/conversion/heat-from-electricity.yaml",
"techs/conversion/heat-from-biofuel.yaml",
"techs/supply/historic-electrified-heat.yaml"
"demand/heat.yaml",
"demand/electrified-heat.yaml",
"storage/heat.yaml",
"conversion/heat-from-electricity.yaml",
"conversion/heat-from-biofuel.yaml",
"conversion/heat-from-methane.yaml",
"supply/historic-electrified-heat.yaml"
]
),
optional_biofuel_modules = expand(
"build/models/{{resolution}}/{module}",
"build/models/{{resolution}}/techs/{module}",
module=[
"supply/biofuel.yaml",
"supply/electrified-biofuel.yaml",
"conversion/electricity-from-biofuel.yaml"
]
),
optional_synfuel_modules = expand(
"build/models/{{resolution}}/techs/{module}",
module=[
"techs/supply/biofuel.yaml",
"techs/supply/electrified-biofuel.yaml",
"techs/conversion/electricity-from-biofuel.yaml"
"conversion/synfuels-from-hydrogen.yaml",
"conversion/synfuels-from-biofuel.yaml",
"conversion/hydrogen-from-electricity.yaml",
]
)
params:
Expand Down
1 change: 1 addition & 0 deletions config/default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ scaling-factors: # values are tuned for models with a few hours resolution and o
area: 0.0001 # from km2 to 10,000 km2
monetary: 0.000000001 # from EUR to 1 billion EUR
transport: 0.01 # from Mio km to 100 Mio km
co2: 0.0001 # from t to 10 kt
capacity-factors:
min: 0.001
max: 10 # 0.001 -> 10 leads to a numerical range of 1e5 (hourly resolution)
Expand Down
5 changes: 5 additions & 0 deletions config/schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,11 @@ properties:
transport:
type: number
description: "Applied to all quantities of transport (base: Mio km)."
co2:
type: number
description: "Applied to all quantities of CO2 flows (base: tonnes)."


parameters:
type: object
description: Parameter values of the models.
Expand Down
49 changes: 31 additions & 18 deletions docs/about/references.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,47 +4,52 @@ When we use parameters and assumptions from the literature, we indicate the sour

### @Trondle:2019

Tröndle, T., Pfenninger, S., &#38; Lilliestam, J. (2019). Home-made or imported: On the possibility for renewable electricity autarky on all scales in Europe. <i>Energy Strategy Reviews</i>, <i>26</i>, 100388. [https://doi.org/10.1016/j.esr.2019.100388](https://doi.org/10.1016/j.esr.2019.100388)
Tröndle, T., Pfenninger, S., &#38; Lilliestam, J. (2019). Home-made or imported: On the possibility for renewable electricity autarky on all scales in Europe. _Energy Strategy Reviews_, _26_, 100388. <https://doi.org/10.1016/j.esr.2019.100388>.
timtroendle marked this conversation as resolved.
Show resolved Hide resolved

### @Steffen:2019

Steffen, B. (2019). <i>Estimating the Cost of Capital for Renewable Energy Projects</i> (SSRN Scholarly Paper ID 3373905). Social Science Research Network. [https://papers.ssrn.com/abstract=3373905](https://papers.ssrn.com/abstract=3373905)
Steffen, B. (2019). _Estimating the Cost of Capital for Renewable Energy Projects_ (SSRN Scholarly Paper ID 3373905). Social Science Research Network. <https://papers.ssrn.com/abstract=3373905>.

### @Schmidt:2019

Schmidt, O., Melchior, S., Hawkes, A., &#38; Staffell, I. (2019). Projecting the Future Levelized Cost of Electricity Storage Technologies. <i>Joule</i>, <i>0</i>(0). [https://doi.org/10.1016/j.joule.2018.12.008](https://doi.org/10.1016/j.joule.2018.12.008)
Schmidt, O., Melchior, S., Hawkes, A., &#38; Staffell, I. (2019). Projecting the Future Levelized Cost of Electricity Storage Technologies. _Joule_, _0_(0). <https://doi.org/10.1016/j.joule.2018.12.008>.

### @Wirth:2017

Wirth, H. (2017). <i>Aktuelle Fakten zur Photovoltaik in Deutschland</i>. Fraunhofer ISE. [https://www.ise.fraunhofer.de/de/daten-zu-erneuerbaren-energien.html](https://www.ise.fraunhofer.de/de/daten-zu-erneuerbaren-energien.html)
Wirth, H. (2017). _Aktuelle Fakten zur Photovoltaik in Deutschland_. Fraunhofer ISE. <https://www.ise.fraunhofer.de/de/daten-zu-erneuerbaren-energien.html>.

### @Klauser:2016

Klauser, D. (2016). <i>Solarpotentialanalyse für Sonnendach.ch</i> (p. 50). Swiss Federal Office of Energy. [https://www.bfe.admin.ch/bfe/de/home/news-und-medien/publikationen.exturl.html/aHR0cHM6Ly9wdWJkYi5iZmUuYWRtaW4uY2gvZGUvcHVibGljYX/Rpb24vZG93bmxvYWQvODE5Ng==.html](https://www.bfe.admin.ch/bfe/de/home/news-und-medien/publikationen.exturl.html/aHR0cHM6Ly9wdWJkYi5iZmUuYWRtaW4uY2gvZGUvcHVibGljYX/Rpb24vZG93bmxvYWQvODE5Ng==.html)
Klauser, D. (2016). _Solarpotentialanalyse für Sonnendach.ch_ (p. 50). Swiss Federal Office of Energy. <https://www.bfe.admin.ch/bfe/de/home/news-und-medien/publikationen.exturl.html/aHR0cHM6Ly9wdWJkYi5iZmUuYWRtaW4uY2gvZGUvcHVibGljYX/Rpb24vZG93bmxvYWQvODE5Ng==.html>

### @Gagnon:2016

Gagnon, P., Margolis, R., Melius, J., Phillips, C., &#38; Elmore, R. (2016). Estimating rooftop solar technical potential across the US using a combination of GIS-based methods, lidar data, and statistical modeling. <i>Environmental Research Letters</i>.
Gagnon, P., Margolis, R., Melius, J., Phillips, C., &#38; Elmore, R. (2016). Estimating rooftop solar technical potential across the US using a combination of GIS-based methods, lidar data, and statistical modeling. _Environmental Research Letters_.

### @JRC:2014

JRC. (2014). <i>ETRI 2014 -- Energy Technology Reference Indicator projections for 2010-2050</i>. JRC. [https://ec.europa.eu/jrc/en/science-update/etri](https://ec.europa.eu/jrc/en/science-update/etri)
JRC. (2014). _ETRI 2014 -- Energy Technology Reference Indicator projections for 2010-2050_. JRC. <https://ec.europa.eu/jrc/en/science-update/etri>.

### @EuropeanEnvironmentAgency:2009

European Environment Agency. (2009). <i>Europe’s onshore and offshore wind energy potential</i> [Publication]. [https://www.eea.europa.eu/publications/europes-onshore-and-offshore-wind-energy-potential](https://www.eea.europa.eu/publications/europes-onshore-and-offshore-wind-energy-potential)
European Environment Agency. (2009). _Europe’s onshore and offshore wind energy potential_ [Publication]. <https://www.eea.europa.eu/publications/europes-onshore-and-offshore-wind-energy-potential>.

### @Ruiz:2019
Ruiz, P., Nijs, W., Tarvydas, D., Sgobbi, A., Zucker, A., Pilli, R., Jonsson, R., Camia, A., Thiel, C., Hoyer-Klick, C., Dalla Longa, F., Kober, T., Badger, J., Volker, P., Elbersen, B. S., Brosowski, A., &#38; Thrän, D. (2019). ENSPRESO - an open, EU-28 wide, transparent and coherent database of wind, solar and biomass energy potentials. <i>Energy Strategy Reviews</i>, <i>26</i>, 100379. [https://doi.org/10.1016/j.esr.2019.100379](https://doi.org/10.1016/j.esr.2019.100379)

Ruiz, P., Nijs, W., Tarvydas, D., Sgobbi, A., Zucker, A., Pilli, R., Jonsson, R., Camia, A., Thiel, C., Hoyer-Klick, C., Dalla Longa, F., Kober, T., Badger, J., Volker, P., Elbersen, B. S., Brosowski, A., &#38; Thrän, D. (2019). ENSPRESO - an open, EU-28 wide, transparent and coherent database of wind, solar and biomass energy potentials. _Energy Strategy Reviews_, _26_, 100379. <https://doi.org/10.1016/j.esr.2019.100379>.

### @schroeder:2013

Schröder, A., Kunz, F., Meiss, J., Mendelevitch, R., &#38; Von Hirschhausen, C. (2013). <i>Current and prospective costs of electricity generation until 2050.</i> [https://www.econstor.eu/bitstream/10419/80348/1/757528015.pdf](https://www.econstor.eu/bitstream/10419/80348/1/757528015.pdf)
Schröder, A., Kunz, F., Meiss, J., Mendelevitch, R., &#38; Von Hirschhausen, C. (2013). _Current and prospective costs of electricity generation until 2050_. <https://www.econstor.eu/bitstream/10419/80348/1/757528015.pdf>.

### @DEA:2020
### @DEA:2020a

Danish Energy Agency. (2020). _Technology Data for Generation of Electricity and District Heating, version 9._ <https://ens.dk/en/our-services/projections-and-models/technology-data/technology-data-generation-electricity-and>

### @DEA:2020b

Danish Energy Agency. (2020). _Technology Data for Energy Carrier Generation and Conversion, version 3._ <https://ens.dk/en/our-services/technology-catalogues/technology-data-renewable-fuels>

### @DEA:2019

Danish Energy Agency. (2019). _Technology Data for Energy storage, version 4._ <https://ens.dk/en/our-services/technology-catalogues/technology-data-energy-storage>
Expand All @@ -55,31 +60,39 @@ Danish Energy Agency. (2017). _Technology Data for heating installations, versio

### @Wealer:2019

Wealer, B., Bauer, S., Göke, L., von Hirschhausen, C. and Kemfert, C. (2019). <i>Economics of Nuclear Power Plant Investment: Monte Carlo Simulations of Generation III/III+ Investment Projects</i>. [https://www.diw.de/documents/publikationen/73/diw_01.c.698579.de/dp1833.pdf](https://www.diw.de/documents/publikationen/73/diw_01.c.698579.de/dp1833.pdf)
Wealer, B., Bauer, S., Göke, L., von Hirschhausen, C. and Kemfert, C. (2019). _Economics of Nuclear Power Plant Investment: Monte Carlo Simulations of Generation III/III+ Investment Projects_. <https://www.diw.de/documents/publikationen/73/diw_01.c.698579.de/dp1833.pdf>.

### @IEA:2020

International Energy Agency. (2020). <i>World Energy Model Documentation: 2020 version</i> [https://iea.blob.core.windows.net/assets/55b96d4d-e9f0-46a1-9965-590ef37c1ff6/WEM_Documentation_WEO2020.pdf](https://iea.blob.core.windows.net/assets/55b96d4d-e9f0-46a1-9965-590ef37c1ff6/WEM_Documentation_WEO2020.pdf)
International Energy Agency. (2020). _World Energy Model Documentation: 2020 version_. <https://iea.blob.core.windows.net/assets/55b96d4d-e9f0-46a1-9965-590ef37c1ff6/WEM_Documentation_WEO2020.pdf>.

### @Barkatullah:2017

Barkatullah, N. and Ahmad, A. (2017). <i>Current status and emerging trends in financing nuclear power projects.</i>Energy Strategy Reviews, 18, pp. 127–140. [doi:10.1016/j.esr.2017.09.015](https://doi.org/10.1016/j.esr.2017.09.015)
Barkatullah, N. and Ahmad, A. (2017). _Current status and emerging trends in financing nuclear power projects_.Energy Strategy Reviews, 18, pp. 127–140. <https://doi.org/10.1016/j.esr.2017.09.015>.

### @BEIS:2016

Department for Business, Energy and Industrial Strategy (2016). <i>Electricity Generation Costs 2016</i>. [https://www.gov.uk/government/publications/beis-electricity-generation-costs-november-2016](https://www.gov.uk/government/publications/beis-electricity-generation-costs-november-2016)
Department for Business, Energy and Industrial Strategy (2016). _Electricity Generation Costs 2016_. <https://www.gov.uk/government/publications/beis-electricity-generation-costs-november-2016>.

### @Mantzos:2017

Mantzos, L., Wiesenthal, T., Matei, N. A., Tchung-Ming, S., Rozsai, M., Russ, P., & Ramirez, A. S. (2017). JRC-IDEES: Integrated Database of the European Energy Sector: Methodological note. JRC Research Reports, Article JRC108244. https://ideas.repec.org//p/ipt/iptwpa/jrc108244.html
Mantzos, L., Wiesenthal, T., Matei, N. A., Tchung-Ming, S., Rozsai, M., Russ, P., & Ramirez, A. S. (2017). _JRC-IDEES: Integrated Database of the European Energy Sector: Methodological note_. JRC Research Reports, Article JRC108244. <https://ideas.repec.org//p/ipt/iptwpa/jrc108244.html>

### @Ruhnau:2019

Ruhnau, O., Hirth, L. & Praktiknjo, A. Time series of heat demand and heat pump efficiency for energy system modeling. Sci Data 6, 189 (2019). https://doi.org/10.1038/s41597-019-0199-y
Ruhnau, O., Hirth, L. & Praktiknjo, A. (2019). _Time series of heat demand and heat pump efficiency for energy system modeling_. Sci Data 6, 189. <https://doi.org/10.1038/s41597-019-0199-y>.

### @BDEW:2015

German Association of Energy and Water Industries (BDEW), German Association of Local Utilities (VKU) & European Association of Loacal Energy Distributors (GEODE). Abwicklung von Standardlastprofilen Gas [Execution of Gas Standard Load Profiles]. Guidelines (BDEW, 2015). [https://www.bdew.de/media/documents/Leitfaden_20160630_Abwicklung-Standardlastprofile-Gas.pdf](https://www.bdew.de/media/documents/Leitfaden_20160630_Abwicklung-Standardlastprofile-Gas.pdf)
German Association of Energy and Water Industries (BDEW), German Association of Local Utilities (VKU) & European Association of Local Energy Distributors (GEODE) (2015). _Abwicklung von Standardlastprofilen Gas [Execution of Gas Standard Load Profiles]_. Guidelines. <https://www.bdew.de/media/documents/Leitfaden_20160630_Abwicklung-Standardlastprofile-Gas.pdf>.

### @Boehm:2020

Böhm, H., Zauner, A., Rosenfeld, D.C. and Tichler, R. (2020). _Projecting cost development for future large-scale power-to-gas implementations by scaling effects_. Applied Energy, 264, p.114780. <https://doi.org/10.1016/j.apenergy.2020.114780>.

### @Fasihi:2019

Fasihi, M., Efimova, O., and Breyer, C. (2019). _Techno-economic assessment of CO2 direct air capture plants_. Journal of Cleaner Production 224, 957–980. <https://doi.org/10.1016/j.jclepro.2019.03.086>

### @Mermoud:2015

Expand Down
40 changes: 40 additions & 0 deletions docs/model/customisation.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ Here, we describe each module in terms of the technologies they contain (`callio

**biofuel_heat_storage_small**: Storage buffer for biofuel boilers which inherits from the `heat_storage_small` abstract technology group, assuming a domestic (small scale) application.

**methane_heat_storage_small**: Storage buffer for methane boilers which inherits from the `heat_storage_small` abstract technology group, assuming a domestic (small scale) application.

??? note "storage/hydro.yaml"

=== "Technologies"
Expand Down Expand Up @@ -140,6 +142,44 @@ Here, we describe each module in terms of the technologies they contain (`callio

**electric_heater_tech_heat_to_demand**: Dummy technology to convert electric heater output to a carrier that can be used to meet heat demand.

??? note "conversion/heat-from-methane.yaml"

=== "Technologies"

**methane_boiler**: Natural gas / methane boiler

**methane_tech_heat_to_demand**: "Dummy" technology to convert methane boiler output to a carrier that can be used to meet heat demand.

??? note "conversion/synfuels-from-hydrogen.yaml"

=== "Technologies"

**hydrogen_to_liquids**: Hydrogen+CO<sub>2</sub> to liquid fuels (diesel & kerosene) converter.

**hydrogen_to_methanol**: Hydrogen+CO<sub>2</sub> to methanol converter.

**hydrogen_to_methane**: Hydrogen+CO<sub>2</sub> to methane converter.

**dac**: Direct air CO<sub>2</sub> capture.

??? note "conversion/synfuels-from-biofuel.yaml"

=== "Technologies"

**biofuel_to_liquids**: Biofuel to liquid fuels (diesel & kerosene) converter.

**biofuel_to_diesel**: Biofuel to vehicle fuel (assumed diesel) converter.

**biofuel_to_methanol**: Biofuel to methanol converter.

**biofuel_to_methane**: Biofuel to methane converter.

??? note "conversion/hydrogen-from-electricity.yaml"

=== "Technologies"

**electrolysis**: Hydrogen by electrolysis, assuming an equal combination from the primary types of electrolysers: SOEC, PEM, and Alkaline.

??? note "supply/historic-electrified-heat.yaml"

=== "Technologies"
Expand Down
5 changes: 3 additions & 2 deletions scripts/heat/group_gridded_timeseries.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,10 @@ def _site_weighted_ave(

This function exists to enable multi-processing across IDs.
"""
id_grid_weight = grid_weight.sel(id=id).dropna("site")
id_grid_weight = grid_weight.sel(id=id).where(lambda x: x > 0).dropna("site")
normalised_weight = id_grid_weight / id_grid_weight.sum("site")
return (gridded_data.reindex_like(id_grid_weight) * normalised_weight).sum("site")
sliced_gridded_data = gridded_data.sel(site=id_grid_weight.site)
return (sliced_gridded_data * normalised_weight).sum("site")


if __name__ == "__main__":
Expand Down
28 changes: 28 additions & 0 deletions templates/models/techs/conversion/heat-from-methane.yaml.jinja
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{# TODO: weight single-/multi-family technology costs based on regional dwelling ratio - see https://github.com/calliope-project/euro-calliope/issues/406 #}
{# Costs being averaged are given in the order they appear in the spreadsheet (which is the same order as in the inline comments). #}
{# Costs are given by DEA per technology "unit" (1000EUR/unit), so are converted to a cost per capacity (1000EUR/kW_heating) by dividing by the capacity of one unit, as given in the same data table. #}
techs:
methane_boiler: # [@DEA:2017] - 202 Natural gas boiler - 2050
essentials:
name: Natural gas / methane boiler
parent: conversion
carrier_in: methane
carrier_out: methane_heat
constraints:
energy_eff: 0.99
lifetime: 20
costs:
monetary:
# Costs are an average of data for existing single-family, new single-family, existing multi-family, and new multi-family homes.
energy_cap: {{ mean([2.7 / 10, 2.7 / 10, 21.1 / 400, 15.1 / 160]) * 1e6 * scaling_factors.specific_costs }} # {{ (1 / scaling_factors.specific_costs) | unit("EUR2015/MW_heat") }}
om_annual: {{ mean([0.168 / 10, 0.168 / 10, 0.561/ 400, 0.374 / 160]) * 1e6 * scaling_factors.specific_costs }} # {{ (1 / scaling_factors.specific_costs) | unit("EUR2015/MW_heat/year") }}
methane_tech_heat_to_demand:
essentials.parent: tech_heat_to_demand
essentials.carrier_in: methane_heat

locations:
{% for id, location in locations.iterrows() %}
{{ id }}.techs:
methane_boiler:
methane_tech_heat_to_demand:
{% endfor %}
Loading
Loading