Skip to content

Commit

Permalink
Merge pull request #106 from BertoGBG/master
Browse files Browse the repository at this point in the history
pull request for adding vehicle data
  • Loading branch information
lisazeyen committed Nov 7, 2023
2 parents 1392c7a + 0ec3459 commit 1e6e79a
Show file tree
Hide file tree
Showing 11 changed files with 334 additions and 0 deletions.
1 change: 1 addition & 0 deletions Snakefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ rule compile_cost_assumptions:
pypsa_costs = "inputs/costs_PyPSA.csv",
fraunhofer_costs = "inputs/Fraunhofer_ISE_costs.csv",
fraunhofer_energy_prices = "inputs/Fraunhofer_ISE_energy_prices.csv",
fraunhofer_vehicles_costs = "inputs/Fraunhofer_ISE_vehicles_costs.csv",
EWG_costs = "inputs/EWG_costs.csv",
dea_transport = "inputs/energy_transport_data_sheet_dec_2017.xlsx",
dea_renewable_fuels = "inputs/data_sheets_for_renewable_fuels.xlsx",
Expand Down
Binary file not shown.
38 changes: 38 additions & 0 deletions inputs/Fraunhofer_ISE_vehicles_costs.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Komponente,Gr��e,Einheit,2020,2025,2030,2035,2040,2045,2050
LKW H2- Brennstoffzelle,Investition,EUR/LKW,151574,122291,116497,117600,120177,122939,125710
LKW H2- Brennstoffzelle,Lebensdauer,a,15,15,15,15,15,15,15
LKW H2- Brennstoffzelle,M/O-Kosten,% Invest,10.1,12.5,13.1,13,12.7,12.4,12.2
LKW H2- Brennstoffzelle,Wirkungsgrad*,%,56,56,56,56,56,56,56
LKW ICE- Fl�ssigtreibstoff,Investition,EUR/LKW,99772,102543,105315,108086,110858,113629,116401
LKW ICE- Fl�ssigtreibstoff,Lebensdauer,a,15,15,15,15,15,15,15
LKW ICE- Fl�ssigtreibstoff,M/O-Kosten,% Invest,18,17.5,17.1,16.6,16.2,15.8,15.5
LKW ICE- Fl�ssigtreibstoff,Wirkungsgrad*,%,37.3,37.3,37.3,37.3,37.3,37.3,37.3
LKW Ladeinfrastruktur Brennstoffzellen Fahrzeuge * LKW,Investition,EUR/Lades�ule,2243051,2000991,1787894,1787894,1787894,1787894,1787894
LKW Ladeinfrastruktur Brennstoffzellen Fahrzeuge * LKW,Lebensdauer,a,30,30,30,30,30,30,30
LKW Ladeinfrastruktur Brennstoffzellen Fahrzeuge * LKW,M/O-Kosten,% Invest,2.2,2.2,2.2,2.2,2.2,2.2,2.2
PKW H2- Brennstoffzelle,Investition,EUR/PKW,55000,43500,33226,30720,29440,28160,26880
PKW H2- Brennstoffzelle,Lebensdauer,a,15,15,15,15,15,15,15
PKW H2- Brennstoffzelle,M/O-Kosten,% Invest,1.1,1.1,1.1,1.1,1.2,1.2,1.2
PKW H2- Brennstoffzelle,Wirkungsgrad*,%,48,48,48,48,48,48,48
PKW ICE- Fl�ssigtreibstoff,Investition,EUR/PKW,23561,24309,24999,25622,26167,26610,26880
PKW ICE- Fl�ssigtreibstoff,Lebensdauer,a,15,15,15,15,15,15,15
PKW ICE- Fl�ssigtreibstoff,M/O-Kosten,% Invest,1.6,1.6,1.6,1.6,1.6,1.6,1.6
PKW ICE- Fl�ssigtreibstoff,Wirkungsgrad*,%,21.5,21.5,21.5,21.5,21.5,21.5,21.5
PKW Ladeinfrastruktur Brennstoffzellen Fahrzeuge * PKW,Investition,EUR/Lades�ule,2243051,2000991,1787894,1788360,1788360,1788360,1788360
PKW Ladeinfrastruktur Brennstoffzellen Fahrzeuge * PKW,Lebensdauer,a,30,30,30,30,30,30,30
PKW Ladeinfrastruktur Brennstoffzellen Fahrzeuge * PKW,M/O-Kosten,% Invest,2.2,2.2,2.2,2.2,2.2,2.2,2.2
PKW Ladeinfrastruktur schnell (reine) Batteriefahrzeuge*,Investition,EUR/Lades�ule,629102,527507,448894,448894,448894,448894,448894
PKW Ladeinfrastruktur schnell (reine) Batteriefahrzeuge*,Lebensdauer,a,30,30,30,30,30,30,30
PKW Ladeinfrastruktur schnell (reine) Batteriefahrzeuge*,M/O-Kosten,% Invest,1.6,1.6,1.6,1.6,1.6,1.6,1.6
Ladeinfrastruktur langsam (reine) Batteriefahrzeuge*,Investition,EUR/Lades�ule,1283,1126,1005,1005,1005,1005,1005
Ladeinfrastruktur langsam (reine) Batteriefahrzeuge*,Lebensdauer,a,30,30,30,30,30,30,30
Ladeinfrastruktur langsam (reine) Batteriefahrzeuge*,M/O-Kosten,% Invest,1.8,1.8,1.8,1.8,1.8,1.8,1.8
NT,Wirkungsgrad el.,%,62.9,63.4,63.9,64.4,64.9,65.4,65.9
NT,Wirkungsgrad th.,%,27.9,28.1,28.3,28.5,28.7,28.9,29.1
PKW Batterie-Elektromotor,Investition,EUR/PKW,33000,28812,24624,24358,24092,23827,23561
PKW Batterie-Elektromotor,Lebensdauer,a,15,15,15,15,15,15,15
PKW Batterie-Elektromotor,M/O-Kosten,% Invest,0.9,0.9,0.9,0.9,0.9,0.9,0.9
PKW Batterie-Elektromotor,Wirkungsgrad*,%,68,68,68,68,68,68,68
LKW Batterie-Elektromotor,Investition,EUR/LKW,204067,165765,136400,134700,133000,131200,129400
LKW Batterie-Elektromotor,Lebensdauer,a,15,15,15,15,15,15,15
LKW Batterie-Elektromotor,M/O-Kosten,% Invest,14,14,15,16,16,16,16
35 changes: 35 additions & 0 deletions outputs/costs_2020.csv

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions outputs/costs_2025.csv

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions outputs/costs_2030.csv

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions outputs/costs_2035.csv

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions outputs/costs_2040.csv

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions outputs/costs_2045.csv

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions outputs/costs_2050.csv

Large diffs are not rendered by default.

50 changes: 50 additions & 0 deletions scripts/compile_cost_assumptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@
"Breede2015": "Breede et al. 2015: Overcoming challenges in the classification of deep geothermal potential, https://eprints.gla.ac.uk/169585/",
# Study of deep geothermal systems in the Northern Upper Rhine Graben
"Frey2022": "Frey et al. 2022: Techno-Economic Assessment of Geothermal Resources in the Variscan Basement of the Northern Upper Rhine Graben",
# vehicles
"vehicles" : "PATHS TO A CLIMATE-NEUTRAL ENERGY SYSTEM The German energy transformation in its social context. https://www.ise.fraunhofer.de/en/publications/studies/paths-to-a-climate-neutral-energy-system.html"
}

# [DEA-sheet-names]
Expand Down Expand Up @@ -1398,6 +1400,40 @@ def rename_ISE(costs_ISE):

return costs_ISE


def rename_ISE_vehicles(costs_vehicles):
"""
rename ISE_vehicles costs to fit to tech data
"""

costs_vehicles.rename(index = {"Investition": "investment",
"Lebensdauer": "lifetime",
"M/O-Kosten": "FOM",
"Wirkungsgrad*" : "Efficiency (carrier to wheel)",
"PKW Batterie-Elektromotor" : "Battery electric (passenger cars)",
"LKW Batterie-Elektromotor" : "Battery electric (trucks)",
"LKW H2- Brennstoffzelle": "Hydrogen fuel cell (trucks)",
"PKW H2- Brennstoffzelle": "Hydrogen fuel cell (passenger cars)",
"LKW ICE- Fl�ssigtreibstoff": "Liquid fuels ICE (trucks)",
"PKW ICE- Fl�ssigtreibstoff": "Liquid fuels ICE (passenger cars)",
"LKW Ladeinfrastruktur Brennstoffzellen Fahrzeuge * LKW": "Charging infrastructure fuel cell vehicles trucks",
"PKW Ladeinfrastruktur Brennstoffzellen Fahrzeuge * PKW": "Charging infrastructure fuel cell vehicles passenger cars",
"PKW Ladeinfrastruktur schnell (reine) Batteriefahrzeuge*" : "Charging infrastructure fast (purely) battery electric vehicles passenger cars",
"Ladeinfrastruktur langsam (reine) Batteriefahrzeuge*" : "Charging infrastructure slow (purely) battery electric vehicles passenger cars"},
columns = {"Einheit": "unit",
"2020": 2020,
"2025": 2025,
"2030": 2030,
"2035": 2035,
"2040": 2040,
"2045": 2045,
"2050": 2050}, inplace=True)
costs_vehicles.index.names = ["technology", "parameter"]
costs_vehicles.unit.replace({"a": "years", "% Invest": "%"}, inplace=True)
costs_vehicles["source"] = source_dict["vehicles"]
costs_vehicles['further description'] = costs_vehicles.reset_index()["technology"].values
return costs_vehicles

def carbon_flow(costs,year):
# NB: This requires some digits of accuracy; rounding to two digits creates carbon inbalances when scaling up
c_in_char = 0 # Carbon ending up in char: zero avoids inbalace -> assumed to be circulated back and eventually end up in one of the other output streams
Expand Down Expand Up @@ -2151,6 +2187,20 @@ def geometric_series(nominator, denominator=1, number_of_terms=1, start=1):
# rename some techs and convert units
costs_pypsa = rename_pypsa_old(costs_pypsa)

# (b1) ------- add vehicle costs from Fraunhofer vehicle study ------------------------
costs_vehicles = pd.read_csv(snakemake.input.fraunhofer_vehicles_costs,
engine="python",
index_col=[0,1],
encoding="ISO-8859-1")
# rename + reorder to fit to other data
costs_vehicles = rename_ISE_vehicles(costs_vehicles)
if 'NT' in costs_vehicles.index:
costs_vehicles.drop(['NT'], axis=0, inplace=True)

# add costs for vehicles
data = pd.concat([data, costs_vehicles], sort=True)


# (b) ------- add costs from Fraunhofer ISE study --------------------------
costs_ISE = pd.read_csv(snakemake.input.fraunhofer_costs,
engine="python",
Expand Down

0 comments on commit 1e6e79a

Please sign in to comment.