transport demand: clarify units in code comments

This commit is contained in:
Fabian Neumann 2024-05-25 17:16:47 +02:00
parent 422c37827c
commit fd9e93b4b0
2 changed files with 8 additions and 8 deletions

View File

@ -394,8 +394,8 @@ def build_idees(countries):
names=["country", "year"], names=["country", "year"],
) )
# efficiency kgoe/100km -> ktoe/100km # efficiency kgoe/100km -> ktoe/100km so that after conversion TWh/100km
totals.loc[:, "passenger car efficiency"] *= 1e3 totals.loc[:, "passenger car efficiency"] /= 1e6
# convert ktoe to TWh # convert ktoe to TWh
exclude = totals.columns.str.fullmatch("passenger cars") exclude = totals.columns.str.fullmatch("passenger cars")
totals.loc[:, ~exclude] *= 11.63 / 1e3 totals.loc[:, ~exclude] *= 11.63 / 1e3
@ -766,9 +766,8 @@ def build_transport_data(countries, population, idees):
transport_data = transport_data.combine_first(fill_values) transport_data = transport_data.combine_first(fill_values)
# collect average fuel efficiency in kWh/km # collect average fuel efficiency in MWh/100km, taking passengar car efficiency in TWh/100km
transport_data["average fuel efficiency"] = idees["passenger car efficiency"] * 1e6
transport_data["average fuel efficiency"] = idees["passenger car efficiency"]
missing = transport_data.index[transport_data["average fuel efficiency"].isna()] missing = transport_data.index[transport_data["average fuel efficiency"].isna()]
if not missing.empty: if not missing.empty:

View File

@ -73,14 +73,15 @@ def build_transport_demand(traffic_fn, airtemp_fn, nodes, nodal_transport_data):
# divide out the heating/cooling demand from ICE totals # divide out the heating/cooling demand from ICE totals
ice_correction = (transport_shape * (1 + dd_ICE)).sum() / transport_shape.sum() ice_correction = (transport_shape * (1 + dd_ICE)).sum() / transport_shape.sum()
# unit TWh
energy_totals_transport = ( energy_totals_transport = (
pop_weighted_energy_totals["total road"] pop_weighted_energy_totals["total road"]
+ pop_weighted_energy_totals["total rail"] + pop_weighted_energy_totals["total rail"]
- pop_weighted_energy_totals["electricity rail"] - pop_weighted_energy_totals["electricity rail"]
) )
# convert average fuel efficiency from kW/100 km -> MW/100km # average fuel efficiency in MWh/100 km
eff = nodal_transport_data["average fuel efficiency"] / 1e3 eff = nodal_transport_data["average fuel efficiency"]
return (transport_shape.multiply(energy_totals_transport) * 1e6 * nyears).divide( return (transport_shape.multiply(energy_totals_transport) * 1e6 * nyears).divide(
eff * ice_correction eff * ice_correction
@ -169,7 +170,7 @@ if __name__ == "__main__":
snakemake = mock_snakemake( snakemake = mock_snakemake(
"build_transport_demand", "build_transport_demand",
simpl="", simpl="",
clusters=37, clusters=128,
) )
configure_logging(snakemake) configure_logging(snakemake)
set_scenario_config(snakemake) set_scenario_config(snakemake)