Skip to content

Improve exogenous transport demand#91

Merged
lindnemi merged 23 commits intomainfrom
improve-transport-sector
Jul 21, 2025
Merged

Improve exogenous transport demand#91
lindnemi merged 23 commits intomainfrom
improve-transport-sector

Conversation

@lindnemi
Copy link
Collaborator

@lindnemi lindnemi commented Jul 7, 2025

Problem:
In modify_prenetwork the mobility demand is rescaled towards the data from Aladin. However, the number of cars is still taken from the pypsa-eur workflow. As a consequence:

  • The BEV charger capacity is not aligned with the land transport EV load (e.g. in 2025 ~30 TWh demand from 3.1 million EVs, whereas pypsa-eur has ~25 TWh demand from 7 milllion EVs - both is not aligned with latest consumption data from DE)
  • The config option land_transport_electric_share behaves very unintuitively.

This PR:

  • Computes the BEV charger capacity from the number of cars in Aladin. In this way the data source is unified. The config land_transport_electric_share does not matter anymore. A warning has been added and the config values of e.g. land_transport_electric_share in pypsa.de.yaml have been set to dummy values. (They need to remain >0 or else the loads won't be created.)
  • A new config option has been added iiasa_database:ageb_for_transport (true by default). If this value is true than the 2020 and 2025 transport demand will be read/extrapolated from the 2020/2024 AG Energiebilanzen publication for Germany. In this case the number of vehicles will be taken from the corresponding publication of the Kraftfahrtbundesamt (for 1. January 2021/2026(extrapolated))
  • Additionally i found a bug: Apparently the BEV charger rescaling did not work as intended.

Before this PR:

image
image

After this PR:

image
image

Update

I added a feature to switch the 2020 and 2025 to AGEB and Kraftfahrtbundesamt (for number of vehicles)

image
image

In a similar way we could insert the 2030 data from e.g. UBA Projektionsbericht

Addtional observation not adressed here

The number of cars dimensions the BEV charger
The number of cars is the number of passenger cars, i.e. LDV-BEV (and PHEV)
however the BEV load includes both LDV and HDV
Thus the BEV charger may be underdimensioned

Before asking for a review for this PR make sure to complete the following checklist:

  • Workflow with target rule ariadne_all completes without errors
  • The logic of export_ariadne_variables has been adapted to the changes
  • One or several figures that validate the changes in the PR have been posted as a comment
  • A brief description of the changes has been added to Changelog.md
  • The latest main has been merged into the PR
  • The config has a new prefix of the format YYYYMMDDdescriptive_title

@lindnemi lindnemi marked this pull request as ready for review July 8, 2025 14:15
@lindnemi
Copy link
Collaborator Author

#95 will partially supersede / refine this PR

@lindnemi
Copy link
Collaborator Author

lindnemi commented Jul 17, 2025

I added more verbose printing to the modify_prenetwork. This is for 2025:

INFO:__main__:Scaling land transport EV loads in Germany by 1.28.
Previous total demand: 24949035.03 MWh/a, new total demand: 32005624.83 MWh/a.
INFO:__main__:Scaling land transport fuel cell loads in Germany by 0.00.
Previous total demand: 2875149.28 MWh/a, new total demand: 0.00 MWh/a.
INFO:__main__:Scaling land transport oil loads in Germany by 1.08.
Previous total demand: 450874902.64 MWh/a, new total demand: 489158348.42 MWh/a.
INFO:__main__:Scaling BEV charger capacities in Germany by 0.60 to match the new number of EVs.
Previous total capacity: 78731.36 MW, new total capacity: 46996.85 MW.

In the screenshots above I divided the BEV charger capacity by an incorrect factor, this one should be correct (and it's the same number when multiplied with said factor)

@lindnemi lindnemi changed the title Improve representation of Aladin transport demand Improve exogenous transport demand Jul 17, 2025
Copy link
Contributor

@toniseibold toniseibold left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just curious if we could delete the transport_ratios from the config.
Maybe a bit confusing first setting them and then overwriting them in the workflow.

@lindnemi
Copy link
Collaborator Author

lindnemi commented Jul 18, 2025

  • before merging take another look at the "incompatible dtype" issue in build_exogeneous_mobility_demand

@lindnemi lindnemi merged commit f3fc07c into main Jul 21, 2025
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants