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 >18 energy storage techologies #67

Merged
merged 29 commits into from
May 22, 2023
Merged
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
62603ec
add energy storage tech
pz-max Jan 10, 2023
7cc7d2c
fix storage type typo
pz-max Jan 10, 2023
6be02c4
fix round and df input formats
pz-max Jan 10, 2023
fa37186
add release notes
pz-max Jan 10, 2023
0247519
Merge branch 'master' into store
pz-max Jan 10, 2023
c6945af
remove duplicates for 2021 and 2030
pz-max Jan 13, 2023
9e81274
Merge branch 'store' of https://github.com/pz-max/technology-data int…
pz-max Jan 13, 2023
60ac25f
add missing values
pz-max Jan 15, 2023
0f2fbcb
fix FOM calculation
pz-max Jan 15, 2023
21ca0e2
fix magnitude for FOM percent per year value
pz-max Jan 19, 2023
e8da342
add outputs
pz-max Jan 19, 2023
bc6e438
add new points for linear interpolation
pz-max Jan 28, 2023
5c3ab16
add comments
pz-max Jan 28, 2023
9bb200b
fix pumped-heat-store
pz-max Jan 28, 2023
b700abe
fix hydrogen efficiency bug and cost assumptions
pz-max Feb 10, 2023
6148446
Merge branch 'master' into store
pz-max Feb 10, 2023
a47acf0
add storage to latex conversion
pz-max Feb 10, 2023
31a4536
Merge branch 'store'
pz-max Feb 10, 2023
f54444a
remove abstract and keywords form bib
pz-max Feb 12, 2023
33f494a
fix hydrogen data bug, and latex script, update outputs
pz-max Feb 12, 2023
2043de5
fix demon typo
pz-max Feb 18, 2023
b4ab970
add latex table fix
pz-max May 17, 2023
9246f9a
revert data back to master
pz-max May 17, 2023
31bc49a
Merge branch 'master' into store
pz-max May 17, 2023
bcdaa1c
rename new data, add home batteries
pz-max May 17, 2023
d4e4d09
rename data file and add inflation correction
pz-max May 17, 2023
4aae849
add options for storage
pz-max May 17, 2023
7e10835
add fixes
pz-max May 17, 2023
58edc03
'same_as_2030' new pnnl data default
pz-max May 22, 2023
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
1 change: 1 addition & 0 deletions Snakefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ rule compile_cost_assumptions:
dea_heating = "inputs/technologydatafor_heating_installations_marts_2018.xlsx",
dea_industrial = "inputs/technology_data_for_industrial_process_heat.xlsx",
dea_ccts = "inputs/technology_data_for_carbon_capture_transport_storage.xlsx",
parzen_energy_storage = "inputs/parzen-energy-storage-database.xlsx",
manual_input = "inputs/manual_input.csv"
output:
expand("outputs/costs_{year}.csv", year = config["years"])
Expand Down
5 changes: 4 additions & 1 deletion config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,12 @@ solar_rooftop_from_etip : false
# add fuel cell/electrolysis efficiencies from Budischak (DEA assumptions very conservative)
h2_from_budischak : false

# add storage data from Parzen
parzen_energy_storage: true
pz-max marked this conversation as resolved.
Show resolved Hide resolved

# remove grid connection costs from DEA for offwind because they are calculated
# seperately in pypsa-eur
offwind_no_gridcosts : true
offwind_no_gridcosts : false
pz-max marked this conversation as resolved.
Show resolved Hide resolved

desalination:
salinity: 35 # in PSU (Practical Salinity Unit) = kg/m^3
Expand Down
1 change: 1 addition & 0 deletions docs/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Technology-Data 0.5.0 (08 Februrary 2023)
- new biomass technologies (BioSNG, BtL, biogas, biogas plus hydrogen, digestible biomass,digestible biomass to hydrogen, electric boiler steam, gas boiler steam, industrial heat pump high temperature, solid biomass boiler steam, solid bioass to hydrogen, biomass boiler for decentral heating
- hydrogen storage tank type 1: Low pressure hydrogen tank storage (up to 200 bar)
- hydrogen storage compressor: Compressor for filling hydrogen storage tanks (compression from 30 to 250 bar)
- 18 new energy storage technologies from PNNL "Energy Storage Grand Challenge Cost and Performance Assessment 2022"

* Changed technologies
- Renamed "hydrogen storage tank incl. compressor" to "hydrogen storage tank type 1 including compressor" for more clarity on the technology and consistency
Expand Down
2 changes: 2 additions & 0 deletions environment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ dependencies:
- beautifulsoup4
- xlrd
- openpyxl
- scipy
- packaging

- pip:
- tabula-py
- currencyconverter
Binary file added inputs/parzen-energy-storage-database.xlsx
Binary file not shown.
Empty file added inputs/table_inputs.tex
Empty file.
21 changes: 21 additions & 0 deletions latex_tables/bib_transition.bib
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
@techreport{Viswanathan_2022,
title = {2022 Grid Energy Storage Technology Cost and Performance Assessment},
url = {https://www.pnnl.gov/sites/default/files/media/file/ESGC%20Cost%20Performance%20Report%202022%20PNNL-33283.pdf},
urldate = {2022-12-27},
author = {Viswanathan, Vilayanur and Mongird, Kendall and Franks, Ryan and Li, Xiaolin and Sprenkle, Vincent and Baxter, Richard},
year = {2022},
institution = {PNNL},
}

@article{Georgiou_2018,
title = {A thermo-economic analysis and comparison of pumped-thermal and liquid-air electricity storage systems},
journal = {Applied Energy},
volume = {226},
pages = {1119-1133},
year = {2018},
issn = {0306-2619},
doi = {https://doi.org/10.1016/j.apenergy.2018.04.128},
url = {https://www.sciencedirect.com/science/article/pii/S0306261918306627},
author = {Solomos Georgiou and Nilay Shah and Christos N. Markides},
}

@techreport{govUK,
title = {Hydrogen supply chain: evidence base, {Department} for {Business}, {Energy} \& {Industrial} {Strategy}, {GovUK}},
url = {https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/760479/H2_supply_chain_evidence_-_publication_version.pdf},
Expand Down
268 changes: 173 additions & 95 deletions latex_tables/tables_in_latex.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@

@author: Marta
"""

#%%
import pandas as pd
import numpy as np

import os

"""
Latex table including FOM, efficiencies and lifetimes
Expand All @@ -16,92 +16,165 @@
#write latex table
# read 2020 costs
idx = pd.IndexSlice
costs = pd.read_csv('../outputs/costs_2020.csv',index_col=list(range(2))).sort_index()
root_path = os.getcwd()
costs = pd.read_csv(os.path.join(root_path, 'outputs', 'costs_2060.csv'),index_col=list(range(2))).sort_index()

filename='table_inputs.tex'

file = open(filename, 'w')
technologies=['onwind', 'offwind', 'solar-utility', 'solar-rooftop', 'OCGT',
'CCGT', 'coal', 'lignite', 'nuclear', 'hydro', 'ror', 'PHS',
'central gas CHP',
'biomass CHP',
#'central coal CHP',
#'biomass HOP',
#'biomass EOP',
'HVDC overhead', 'HVDC inverter pair',
'battery storage',
'battery inverter',
'home battery storage',
'home battery inverter',
'electrolysis',
'fuel cell',
'hydrogen storage underground',
'hydrogen storage tank type 1',
'direct air capture',
'methanation',
'central gas boiler',
'decentral gas boiler',
'central resistive heater',
'decentral resistive heater',
'central water tank storage',
'decentral water tank storage',
'water tank charger',
'decentral air-sourced heat pump',
'central air-sourced heat pump',
'decentral ground-sourced heat pump',
'biomass CHP capture',
'Fischer-Tropsch',
'SMR',
'SMR CC'
]
technologies=[
'onwind', 'offwind', 'solar-utility', 'solar-rooftop', 'OCGT',
'CCGT', 'coal', 'lignite', 'nuclear', 'hydro', 'ror', 'PHS',
'central gas CHP',
'biomass CHP',
#'central coal CHP',
#'biomass HOP',
#'biomass EOP',
'HVDC overhead', 'HVDC inverter pair',
'battery storage',
'battery inverter',
'home battery storage',
'home battery inverter',
'electrolysis',
'fuel cell',
'hydrogen storage underground',
'hydrogen storage tank type 1',
'direct air capture',
'methanation',
'central gas boiler',
'decentral gas boiler',
'central resistive heater',
'decentral resistive heater',
'central water tank storage',
'decentral water tank storage',
'water tank charger',
'decentral air-sourced heat pump',
'central air-sourced heat pump',
'decentral ground-sourced heat pump',
'biomass CHP capture',
'Fischer-Tropsch',
'SMR',
'SMR CC',
'Compressed-Air-Adiabatic-bicharger',
'Compressed-Air-Adiabatic-store', 'Concrete-charger',
'Concrete-discharger', 'Concrete-store', 'Gravity-Brick-bicharger',
'Gravity-Brick-store', 'Gravity-Water-Aboveground-bicharger',
'Gravity-Water-Aboveground-store',
'Gravity-Water-Underground-bicharger',
'Gravity-Water-Underground-store', 'HighT-Molten-Salt-charger',
'HighT-Molten-Salt-discharger', 'HighT-Molten-Salt-store',
'Hydrogen-charger', 'Hydrogen-discharger', 'Hydrogen-store',
'Lead-Acid-bicharger', 'Lead-Acid-store', 'Liquid-Air-charger',
'Liquid-Air-discharger', 'Liquid-Air-store',
'Lithium-Ion-LFP-bicharger', 'Lithium-Ion-LFP-store',
'Lithium-Ion-NMC-bicharger', 'Lithium-Ion-NMC-store',
'LowT-Molten-Salt-charger', 'LowT-Molten-Salt-discharger',
'LowT-Molten-Salt-store', 'Ni-Zn-bicharger', 'Ni-Zn-store',
'Pumped-Heat-charger', 'Pumped-Heat-discharger',
'Pumped-Heat-store', 'Pumped-Storage-Hydro-bicharger',
'Pumped-Storage-Hydro-store', 'Sand-charger', 'Sand-discharger',
'Sand-store', 'Vanadium-Redox-Flow-bicharger',
'Vanadium-Redox-Flow-store', 'Zn-Air-bicharger', 'Zn-Air-store',
'Zn-Br-Flow-bicharger', 'Zn-Br-Flow-store',
'Zn-Br-Nonflow-bicharger', 'Zn-Br-Nonflow-store'
]

name={'onwind' : 'Onshore Wind',
'offwind' : 'Offshore Wind',
'solar-utility' : 'Solar PV (utility-scale)',
'solar-rooftop' : 'Solar PV (rooftop)',
'OCGT': 'OCGT',
'CCGT': 'CCGT',
'coal': 'Coal power plant',
'lignite': 'Lignite',
'nuclear': 'Nuclear',
'hydro':'Reservoir hydro',
'ror':'Run of river',
'PHS':'PHS',
'battery inverter': 'Battery inverter',
'battery storage': 'Battery storage',
'home battery inverter': 'Home battery inverter',
'home battery storage': 'Home battery storage',
'hydrogen storage underground': 'H$_2$ storage underground',
'hydrogen storage tank type 1': 'H$_2$ storage tank',
'electrolysis': 'Electrolysis',
'fuel cell': 'Fuel cell',
'methanation': 'Methanation',
'direct air capture': 'direct air capture',
'central gas boiler': 'Central gas boiler',
'decentral gas boiler': 'Domestic gas boiler',
'central resistive heater':'Central resistive heater',
'decentral resistive heater':'Domestic resistive heater',
'central gas CHP':' Gas CHP',
'central coal CHP':' Coal CHP',
'biomass CHP':'Biomass CHP',
'biomass EOP':'Biomass power plant',
'biomass HOP':'Biomass central heat plant',
'central water tank storage': 'Central water tank storage',
'decentral water tank storage': 'Domestic water tank storage',
'water tank charger': 'Water tank charger/discharger',
'HVDC overhead':'HVDC overhead',
'HVDC inverter pair':'HVDC inverter pair',
#'central heat pump': 'Central heat pump',
#'decentral heat pump': 'Decentral heat pump',
#'central ground-sourced heat pump': 'Central ground-sourced heat pump',
'central air-sourced heat pump': 'Central air-sourced heat pump',
'decentral air-sourced heat pump': 'Domestic air-sourced heat pump',
'decentral ground-sourced heat pump': 'Domestic ground-sourced heat pump',
'biomass CHP capture':'CO$_2$ capture in CHP',
'Fischer-Tropsch':'Fischer-Tropsch',
'SMR': 'Steam Methane Reforming',
'SMR CC': 'Steam Methane Reforming with CC'
}

name={
'onwind' : 'Onshore Wind',
'offwind' : 'Offshore Wind',
'solar-utility' : 'Solar PV (utility-scale)',
'solar-rooftop' : 'Solar PV (rooftop)',
'OCGT': 'OCGT',
'CCGT': 'CCGT',
'coal': 'Coal power plant',
'lignite': 'Lignite',
'nuclear': 'Nuclear',
'hydro':'Reservoir hydro',
'ror':'Run of river',
'PHS':'PHS',
'battery inverter': 'Battery inverter',
'battery storage': 'Battery storage',
'home battery inverter': 'Home battery inverter',
'home battery storage': 'Home battery storage',
'hydrogen storage underground': 'H$_2$ storage underground',
'hydrogen storage tank type 1': 'H$_2$ storage tank',
'electrolysis': 'Electrolysis',
'fuel cell': 'Fuel cell',
'methanation': 'Methanation',
'direct air capture': 'direct air capture',
'central gas boiler': 'Central gas boiler',
'decentral gas boiler': 'Domestic gas boiler',
'central resistive heater':'Central resistive heater',
'decentral resistive heater':'Domestic resistive heater',
'central gas CHP':' Gas CHP',
'central coal CHP':' Coal CHP',
'biomass CHP':'Biomass CHP',
'biomass EOP':'Biomass power plant',
'biomass HOP':'Biomass central heat plant',
'central water tank storage': 'Central water tank storage',
'decentral water tank storage': 'Domestic water tank storage',
'water tank charger': 'Water tank charger/discharger',
'HVDC overhead':'HVDC overhead',
'HVDC inverter pair':'HVDC inverter pair',
#'central heat pump': 'Central heat pump',
#'decentral heat pump': 'Decentral heat pump',
#'central ground-sourced heat pump': 'Central ground-sourced heat pump',
'central air-sourced heat pump': 'Central air-sourced heat pump',
'decentral air-sourced heat pump': 'Domestic air-sourced heat pump',
'decentral ground-sourced heat pump': 'Domestic ground-sourced heat pump',
'biomass CHP capture':'CO$_2$ capture in CHP',
'Fischer-Tropsch':'Fischer-Tropsch',
'SMR': 'Steam Methane Reforming',
'SMR CC': 'Steam Methane Reforming with CC',
'Compressed-Air-Adiabatic-bicharger': 'Compressed-Air-Adiabatic-bicharger',
'Compressed-Air-Adiabatic-store': 'Compressed-Air-Adiabatic-store',
'Concrete-charger': 'Concrete-charger',
'Concrete-discharger': 'Concrete-discharger',
'Concrete-store': 'Concrete-store',
'Gravity-Brick-bicharger': 'Gravity-Brick-bicharger',
'Gravity-Brick-store': 'Gravity-Brick-store',
'Gravity-Water-Aboveground-bicharger': 'Gravity-Water-Aboveground-bicharger',
'Gravity-Water-Aboveground-store': 'Gravity-Water-Aboveground-store',
'Gravity-Water-Underground-bicharger': 'Gravity-Water-Underground-bicharger',
'Gravity-Water-Underground-store': 'Gravity-Water-Underground-store',
'HighT-Molten-Salt-charger': 'HighT-Molten-Salt-charger',
'HighT-Molten-Salt-discharger': 'HighT-Molten-Salt-discharger',
'HighT-Molten-Salt-store': 'HighT-Molten-Salt-store',
'Hydrogen-charger': 'Hydrogen-charger',
'Hydrogen-discharger': 'Hydrogen-discharger',
'Hydrogen-store': 'Hydrogen-store',
'Lead-Acid-bicharger': 'Lead-Acid-bicharger',
'Lead-Acid-store': 'Lead-Acid-store',
'Liquid-Air-charger': 'Liquid-Air-charger',
'Liquid-Air-discharger': 'Liquid-Air-discharger',
'Liquid-Air-store': 'Liquid-Air-store',
'Lithium-Ion-LFP-bicharger': 'Lithium-Ion-LFP-bicharger',
'Lithium-Ion-LFP-store': 'Lithium-Ion-LFP-store',
'Lithium-Ion-NMC-bicharger': 'Lithium-Ion-NMC-bicharger',
'Lithium-Ion-NMC-store': 'Lithium-Ion-NMC-store',
'LowT-Molten-Salt-charger': 'LowT-Molten-Salt-charger',
'LowT-Molten-Salt-discharger': 'LowT-Molten-Salt-discharger',
'LowT-Molten-Salt-store': 'LowT-Molten-Salt-store',
'Ni-Zn-bicharger': 'Ni-Zn-bicharger',
'Ni-Zn-store': 'Ni-Zn-store',
'Pumped-Heat-charger': 'Pumped-Heat-charger',
'Pumped-Heat-discharger': 'Pumped-Heat-discharger',
'Pumped-Heat-store': 'Pumped-Heat-store',
'Pumped-Storage-Hydro-bicharger': 'Pumped-Storage-Hydro-bicharger',
'Pumped-Storage-Hydro-store': 'Pumped-Storage-Hydro-store',
'Sand-charger': 'Sand-charger',
'Sand-discharger': 'Sand-discharger',
'Sand-store': 'Sand-store',
'Vanadium-Redox-Flow-bicharger': 'Vanadium-Redox-Flow-bicharger',
'Vanadium-Redox-Flow-store': 'Vanadium-Redox-Flow-store',
'Zn-Air-bicharger': 'Zn-Air-bicharger',
'Zn-Air-store': 'Zn-Air-store',
'Zn-Br-Flow-bicharger': 'Zn-Br-Flow-bicharger',
'Zn-Br-Flow-store': 'Zn-Br-Flow-store',
'Zn-Br-Nonflow-bicharger': 'Zn-Br-Nonflow-bicharger',
'Zn-Br-Nonflow-store': 'Zn-Br-Nonflow-store',
}

dic_ref = {'Technology Data for Energy Plants for Electricity and District heating generation':'DEA_2019',
'Impact of weighted average cost of capital, capital expenditure, and other parameters on future utility‐scale PV levelised cost of electricity': 'Vartiainen_2019',
Expand All @@ -124,6 +197,7 @@
'Is a 100% renewable European power system feasible by 2050?': 'Zappa_2019, JRC_biomass',
'Entwicklung der spezifischen Kohlendioxid-Emissionen des deutschen Strommix in den Jahren 1990 - 2018': 'German_Environment_Agency',
'IEA WEM2017 97USD/boe = http://www.iea.org/media/weowebsite/2017/WEM_Documentation_WEO2017.pdf':'IEA_WEO2017',
'Danish Energy Agency, technology_data_for_el_and_dh.xlsx':'DEA_2019',
'Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx':'DEA_2019',
'Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx':'DEA_2019',
'Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx, Note K.':'DEA_2019',
Expand All @@ -134,7 +208,8 @@
'Global Energy System based on 100% Renewable Energy, Energywatchgroup/LTU University, 2019, Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx' :'Ram_2019, DEA_2019',
'Global Energy System based on 100% Renewable Energy, Energywatchgroup/LTU University, 2019, Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx, Note K.' :'Ram_2019, DEA_2019',
'TODO':'govUK',

'Viswanathan_2022': 'Viswanathan_2022',
'Georgiou_2018': 'Georgiou_2018',
}

# Solar thermal collector decentral & 270 & m$^{2}$ & 1.3 & 20 & variable & \cite{Henning20141003} \\
Expand All @@ -152,6 +227,11 @@
lifetime = str(int(costs.loc[idx[technology,'lifetime'],'value']))
else:
lifetime= ' '
if idx[technology,'investment'] in costs.index:
investment = str(int(costs.loc[idx[technology,'investment'],'value']/1000))
else:
investment= ' '
investment
if idx[technology,'efficiency'] in costs.index and technology not in ['onwind',
'offwind', 'central gas CHP', 'biomass CHP', 'battery storage',
'home battery storage', 'central coal CHP'
Expand All @@ -171,17 +251,19 @@
else:
source = costs.loc[idx[technology,'efficiency'],'source']
if technology == 'water tank charger':
file.write(' ' +name[technology]
+ ' & ' + FOM
+ ' & ' + lifetime
file.write(' ' + name[technology]
+ ' & ' + investment
+ ' & ' + FOM
+ ' & ' + lifetime
+ ' & ' + efficiency
+ ' & ' + ' \\' + ' ')
else:
file.write(' ' +name[technology]
+ ' & ' + FOM
+ ' & ' + lifetime
file.write(' ' + name[technology]
+ ' & ' + investment
+ ' & ' + FOM
+ ' & ' + lifetime
+ ' & ' + efficiency
+ ' & ' + ' \\' + 'cite{' + dic_ref[source]+ '} ')
+ ' & ' + ' \\' + 'cite{' + dic_ref[source.split(sep=",")[0]] + '} ')

file.write('\\')
file.write('\\')
Expand Down Expand Up @@ -285,7 +367,3 @@
file.write('\\')
file.close()





Loading