Structure of the repository#
This repository has the following structure:
inputs: input data in format .csv, .xlsx or .parquet
outputs: technology data saved as
costs_{year}.csvformat for defined years. In the outputcosts_{year}.csvare 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)
currency_year (year used for adjusting economic values to reflect current purchasing power)
outputs/US: US-specific technology data saved as
US/costs_{year}.csvformat for defined years. In the outputsUS/costs_{year}.csvare 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)
currency_year (year used for adjusting economic values to reflect current purchasing power)
financial_case (financial assumptions for the definition of the cost of capital)
scenario (technology innovation scenario)
config:
# considered years for output data years: [2020, 2025, 2030, 2035, 2040, 2045, 2050] nrel_atb: nrel_atb_input_years: [2022, 2024] nrel_atb_columns_to_keep: ["atb_year", "core_metric_parameter", "core_metric_case", "core_metric_variable", "technology", "technology_alias", "display_name", "scenario", "units", "value"] nrel_atb_core_metric_parameter_to_keep: ["CAPEX", "CF", "Fixed O&M", "Variable O&M", "Fuel", "Additional OCC"] nrel_atb_technology_to_remove: ["Coal-CCS-95% -> Transformational Tech", "Coal-Max-CCS -> Transformational Tech", "Coal-new -> Transformational Tech", "NG combined cycle 95% CCS (F-frame basis -> Transformational Tech)", "NG combined cycle 95% CCS (H-frame basis -> Transformational Tech)", "NG combined cycle Max CCS (F-frame basis -> Transformational Tech)", "NG combined cycle Max CCS (H-frame basis -> Transformational Tech)", "AEO"] nrel_atb_source_link: "NREL/ATB-https://data.openei.org/s3_viewer?bucket=oedi-data-lake&prefix=ATB%2Felectricity%2Fcsv%2F2022%2F" nrel_atb_further_description: "Meaning of scenario and financial case: https://atb.nrel.gov/electricity/2024/definitions#scenarios" expectation: "" # tech data uncertainty, possible options [None, "optimist", "pessimist"] #year for EUR outputs eur_year: 2025 # 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 approx_beyond_2030: ["same_as_2030"] # ["geometric_series"] or ["same_as_2030"] # remove grid connection costs from DEA for offwind because they are calculated # separately in pypsa-eur offwind_no_gridcosts: true desalination: salinity: 35 # in PSU (Practical Salinity Unit) = kg/m^3 ndigits: 4
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
nrel_atb_input_years : list of years that define the source files
nrel_atb_columns_to_keep : list of columns to use from the NREL/ATB source files
nrel_atb_core_metric_parameter_to_keep : list of parameters to use from the NREL/ATB source files
nrel_atb_technology_to_remove : list of technologies that should be excluded from NREL/ATB
nrel_atb_source_link : source url for the NREL/ATB data used
nrel_atb_further_description : Meaning of “scenario” and “financial case”
expectation : tech data uncertainty, possible options [None, “optimist”, “pessimist”]
eur_year : year for EUR outputs
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) add fuel cell/electrolysis efficiencies from Budischak
ewg_home_battery: Bool (True/False) add home battery data derived from DEA data and EWG study
add_data: Bool (True/False) add storage data mainly from PNNL
approx_beyond_2030: [“geometric_series”] or [“same_as_2030”]
offwind_no_gridcosts : Bool (True/False) if offshore wind grid connection costs should be removed (they are calculated seperately in PyPSA-Eur)
salinity : estimated in PSU (Practical Salinity Unit) = kg/m^3
ndigits : number of significant digits
- scripts :
compile_cost_assumptions.pyconverts input data from multiple sources tocost_{year}.csvfor 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).compile_cost_assumptions_usa.pyconverts input data from NREL/ATB toUS/cost_{year}.csvfor chosen year. It starts from the cost assumptions files produced by compile_cost_assumptions.py. All technology-parameter pairs present in the NREL/ATB input data are updated. Those not present in NREL/ATB are left untouched.convert_pdf_fraunhofer_to_dataframe.pyconverts 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.pydownloads 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.pyto create .tex files with nice namestables_in_csv.pyto 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 |