Structure of the repository#
This repository has the following structure:
inputs: input data in format .csv or .xlsx
outputs: technology data saved as
costs_{year}.csv
format for defined years. In the outputcosts_{year}.csv
are specifiedtechnology (e.g. ‘onwind’)
parameter (e.g. FOM)
value (e.g. 1.18)
unit (e.g. %/year)
source (e.g. DEA, excel_file_name.xlsx)
further description (specific assumptions, sheet name if data from a multi-sheet Excel file)
conifg:
years : [2020, 2025, 2030, 2035, 2040, 2045, 2050] expectation : "" # tech data uncertainty, possible options [None, "optimist", "pessimist"] rate_inflation : 0.02 #year for EUR outputs #NB: 2015 is standard year in DEA, and DEA is NOT yet adjusted #if this is changed, only non-DEA # DEA takes for solar PV eur_year 2020! eur_year : 2015 # add solar from different source solar_utility_from_vartiaien : false solar_rooftop_from_etip : false energy_storage_database: h2_from_budischak: false # add fuel cell/electrolysis efficiencies from Budischak (DEA assumptions very conservative) ewg_home_battery: true # add home battery data derived from DEA data and EWG study pnnl_energy_storage: add_data: true # add storage data mainly from PNNL
the following parameters can be set in the
config.yaml
years : numpy array of all the years of which an output costs csv should be created
rate_inflation : inflation rate (currently: rate_inflation=0.02)
solar_utility_from_vartiaien : Bool (True/False) if solar utility data is taken from DEA or Vartiaien
solar_rooftop_from_etip : Bool (True/False) if solar rooftop data is taken from DEA or ETIP
h2_from_budischak : Bool (True/False) if fuel cell and electrolyzer efficiencies are taken from DEA or Budischak
offwind_no_gridcosts : Bool (True/False) if offshore wind grid connection costs should be removed (they are calculated seperately in PyPSA-Eur)
scripts :
compile_cost_assumptions.py
converts input data from multiple sources tocost_{year}.csv
for chosen year. Interpolates data for missing years or calculates the costs at a certain year based on the inflation rate. Technology data from the Danish Energy Agency are preferred. If data are missing from all sources, these are taken from the old PyPSA cost assumptions (with a printed warning).convert_pdf_fraunhofer_to_dataframe.py
converts table from Fraunhofer ISE report in pdf to csv format for input data. Script can be modified to convert other .pdf sources to .csv formatretrieve_data_from_dea.py
downloads up-to-date technology data from DEA website and saves it in the input folder. Optional, also retrieves the documentation of the data into the folder docu
docu: reports, paper, additional information about the input data, format .pdf
latex_tables: .tex files with tables of the cost.csv and two python scripts
tables_in_latex.py
to create .tex files with nice namestables_in_csv.py
to create csv files with nice name (which can be used in latex with csv autotabular)
The data licences and sources are given in the following table.
description |
file/folder/function in script |
licence |
source |
---|---|---|---|
Danish Energy Agency Technology Database, most technologies |
technology_data*.xlsx, energy_transport_data_sheet_dec_2017.xlsx |
https://ens.dk/en/our-services/projections-and-models/technology-data |
|
Vartiaien et. al., utility-scale solar PV |
function in script |
||
Fraunhofer ISE Studie, gas pipeline costs |
Fraunhofer_ISE_*.csv |
||
Older data collected by the PyPSA team from a variety of sources |
costs_PyPSA.csv |
||
The European Technology and Innovation Platform for Photovoltaics, solar rooftop |
function in script |
||
Lazard, conventional carriers |
function in script |
https://www.lazard.com/media/451086/lazards-levelized-cost-of-energy-version-130-vf.pdf |
|
Zappe et. al., fuel cost |
function in script |
||
Umweltbundesamt – Entwicklung Kohlendioxid, fuel cost |
function in script |
https://www.umweltbundesamt.de/publikationen/entwicklung-der-spezifischen-kohlendioxid-5 |