diff --git a/config/config.default.yaml b/config/config.default.yaml index 32a8865e..b1d5a9a6 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -430,8 +430,8 @@ sector: 2040: 0.3 2045: 0.15 2050: 0 - transport_fuel_cell_efficiency: 0.5 - transport_internal_combustion_efficiency: 0.3 + transport_fuel_cell_efficiency: 30.003 # MWh_H2 per 100 km + transport_internal_combustion_efficiency: 16.0712 # MWh_oil per 100 km agriculture_machinery_electric_share: 0 agriculture_machinery_oil_share: 1 agriculture_machinery_fuel_efficiency: 0.7 diff --git a/scripts/build_transport_demand.py b/scripts/build_transport_demand.py index 2954a999..eedaecb1 100644 --- a/scripts/build_transport_demand.py +++ b/scripts/build_transport_demand.py @@ -45,7 +45,7 @@ def build_nodal_transport_data(fn, pop_layout, year): def build_transport_demand(traffic_fn, airtemp_fn, nodes, nodal_transport_data): """ - Returns transport demand per bus in unit kinetic energy. + Returns transport demand per bus in unit km driven [100 km]. """ # averaged weekly counts from the year 2010-2015 traffic = pd.read_csv(traffic_fn, skiprows=2, usecols=["count"]).squeeze("columns") @@ -78,9 +78,12 @@ def build_transport_demand(traffic_fn, airtemp_fn, nodes, nodal_transport_data): + pop_weighted_energy_totals["total rail"] - pop_weighted_energy_totals["electricity rail"] ) - + + # convert average fuel efficiency from kW/100 km -> MW/100km + eff = nodal_transport_data["average fuel efficiency"] * 1e3 + return (transport_shape.multiply(energy_totals_transport) * 1e6 * nyears).divide( - nodal_transport_data["average fuel efficiency"] * ice_correction + eff * ice_correction ) diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 53355b27..b7e5cfb5 100755 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -1562,7 +1562,7 @@ def add_EVs( unit="MWh_el", ) - car_efficiency = costs.at["Battery electric (passenger cars)", "efficiency"] + car_efficiency = options["transport_electric_efficiency"] # temperature corrected efficiency efficiency = get_temp_efficency( @@ -1730,7 +1730,7 @@ def add_land_transport(n, costs): logger.info("Add land transport") - # read in transport demand in units kinetic energy + # read in transport demand in units driven km [100 km] transport = pd.read_csv( snakemake.input.transport_demand, index_col=0, parse_dates=True ) @@ -1764,7 +1764,7 @@ def add_land_transport(n, costs): location=nodes, suffix=" land transport", carrier="land transport demand", - unit="MWh_kinetic", + unit="100 km", ) p_set = transport[nodes]