eu-zevam

This repository presents a European passenger car stock model. It allows to model the future powertrain composition of the European vehicle fleet under different scenarios. It also presents different sensitivity analysis performed. This code is used to analyze the European BEV stock fleet up to 2050.

https://github.com/gabrielmoringmartinez/eu-zevam

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 17 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary

Keywords

electric-vehicles europe modelling-framework python transportation
Last synced: 6 months ago · JSON representation ·

Repository

This repository presents a European passenger car stock model. It allows to model the future powertrain composition of the European vehicle fleet under different scenarios. It also presents different sensitivity analysis performed. This code is used to analyze the European BEV stock fleet up to 2050.

Basic Info
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
electric-vehicles europe modelling-framework python transportation
Created 8 months ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

EU-ZEVAM Banner

REUSE status MIT License Data License: CC BY-SA 4.0 CI codecov

EU-ZEVAM logo

🚗 EU-ZEVAM: European Zero-Emission Vehicle Adoption Model in Python

Integrating transport simulation and fleet survival analysis to forecast Europe’s electric vehicle transition

The model allows to project the future European passenger car fleet composition by powertrain up to 2050.

Table of Contents

🔋 About

This repository presents a European passenger car stock model. It is based on the EU clustering model presented in (Möring-Martínez et al., 2024) and in the empirical survivality rates approach presented in (Held et al., 2021). This code is used to analyze the European BEV stock fleet up to 2050 in the publication: (Möring-Martínez et al., 2025 - under review).

Process Diagram

Figure 1: Estimated BEV stock shares for EU-27+Norway up to 2050 using [(Möring-Martínez et al., 2024)](https://doi.org/10.1016/j.trd.2024.104372) and 2021 country-specific empirical survival rates .

📜 Statement of need

The European Passenger Car Stock Model is a model designed to project the composition of the passenger car fleet by powertrain type up to the year 2050 or later if desired, using the projection of new vehicle registrations and empirical survival rates as inputs. Built on country-specific data from 2021, the model enables researchers and policymakers to project future fleet compositions under varying new vehicle registration scenarios and/or varying empirical survival rates.

Core features

  • Scenario Exploration: Users can provide as input different new vehicle registration secenarios or modify the survival rates. Different new vehicle registration scenarios can have:
    • Technology advancements
    • Current and progressive policy implementations
    • Changes in energy prices

Different survival rates can define: - Restrictions on vehicle drivability after a certain age based on survival rates. - Dynamic survival rates analyzing the effect of slower or faster stock turnover rates.

  • Survival Rate Analysis: The model incorporates historical survival rates from 2008, 2016, and 2021, allowing for detailed exploration of how changing lifespans influence fleet dynamics. Alternatively, assumptions about using other countries' survival rates can be used also to assess the impact.

Contribution to the state of the art

Unlike most existing tools in the field, which are proprietary, the European Passenger Car Stock Model is an open-source contribution, enabling transparency and accessibility. It offers the flexibility to integrate external transportation models, such as those described by (Domarchi and Cherchi, 2023), to enhance the accuracy and applicability of fleet projections.

Explorative, not prescriptive

The model does not optimize fleet composition but instead explores the effects of different assumptions and scenarios. This allows users to study the emerging impacts of policy, technology, and economic changes on the European passenger car market.

In doing so, the model serves as a valuable tool for decision-making, enabling stakeholders to anticipate and plan for the future of passenger transportation systems across Europe.

🔧 Recommended skills

The European Passenger Car Stock Model is implemented in Python. While no programming skills are strictly required to configure and run the model, experience with transportation modeling and Python is beneficial. Developers wishing to modify the model's functionality or enhance its capabilities should have at least a basic understanding of Python.

📦 Installation

⚠️ Note: This setup has been tested only on Windows 10/11 using WSL2 (Ubuntu). The same steps should work on macOS and most Linux distributions, but have not been officially tested.

To ensure consistent execution across systems, the model uses Python 3.12.6 managed by pyenv and isolated in a virtual environment via venv.

🔧 Prerequisites

On Windows: - WSL2 with Ubuntu installed (recommended version: Ubuntu 22.04 or later) - git, build-essential, pyenv, and python-build installed inside WSL

Install pyenv following the official guide: https://github.com/pyenv/pyenv

On macOS/Linux: - Xcode Command Line Tools (macOS) or build-essential (Linux)

  • git, pyenv, and required Python build dependencies installed

See pyenv wiki for OS-specific setup instructions.

📂 How to Open WSL in a Specific Folder (Windows only)

If you're using Windows with WSL installed:

Navigate to the folder in File Explorer (e.g., where you want to clone the project).

Click the address bar, type wsl, and press Enter. This opens WSL directly in that folder.

💡 macOS/Linux users: Open Terminal and use cd to move into the desired folder.

🚀 Setup Steps

  1. Clone the project in the folder you want to store it bash git clone https://github.com/gabrielmoringmartinez/EU-ZEVAM.git
  2. Change your working directory to the folder where the repository was cloned bash cd EU-ZEVAM
  3. Install Python 3.12.6 using pyenv bash pyenv install 3.12.6
  4. Set Python 3.12.6 as python in your environment bash pyenv local 3.12.6
  5. Create a virtual environment bash python -m venv venv
  6. Activate the virtual environment.

bash source venv/bin/activate 7. Install dependencies (libraries): bash pip install -r stock_model_requirements.txt 8. Run the model: bash python model_european_passenger_car_stock.py

🧪 Testing

CI codecov

This repository includes unit tests to ensure consistent and reliable behavior of the European passenger car stock model.

To run all automated tests:

bash python run_tests.py This will:

  • Discover and execute all tests in the tests/folder using pytest

  • Print outputs to the terminal (due to the -s flag in use) and save outputs in the outputs folder

  • Exit with a status code indicating test success or failure

Optional: Run a specific test

To run an individual test instead, modify the run_tests.py script. For example: ```

Uncomment and adapt one of the lines below in run_tests.py

Syntax:

sys.exit(pytest.main(["tests/testfile.py::testfunction"]))

Example:

sys.exit(pytest.main(["tests/test4modelrunsonminimalinputsinglecountry.py::testmodelrunsonminimal_input"]))

**Note:** The tests assume the model environment is already set up. The tests assume the model environment is already set up. Make sure you’ve installed the required dependencies with: bash pip install -r stockmodelrequirements.txt. ```

🤝 Acknowledgements

Development of the European passenger car stock model was funded by the NDC ASPECTS project. It received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 101003866. Additional funding for this research was provided by the MoDa project of the German Aerospace Center (DLR). We express our gratitude to all contributors.

✍️ Authorship

This model is developed by Gabriel Möring-Martínez in the DLR's Institute of Vehicle concepts. Special thanks to the DLR members Stephan Schmid, Isheeka Dasgupta, Murat Senzeybek and Samuel Hasselwander which helped in the model conceptualization.

📝 Citation

For work involving the EU-ZEVAM model in your work, please cite the following:

Möring-Martínez, G. (2025). "EU-ZEVAM: European Zero-Emission Vehicle Adoption Model in Python." Journal of Open Source Software, XX(XXX), XXXX. doi:XX.XXXXX/joss.XXXXX, https://doi:XX.XXXXX/joss.XXXXX bibtex @article{MoringMartinez2025EUZEVAM, author = {M{\"o}ring-Martínez, Gabriel}, title = {{EU-ZEVAM}: {European} zero-emission vehicle adoption model in {Python}}, year = {2025}, doi = {10.21105/joss.XXXXX}, url = {https://doi.org/XX.XXXXX/joss.XXXXX}, journal = {Journal of Open Source Software}, volume = {X}, number = {X}, pages = {X}, publisher = {The Open Journal} } Möring-Martínez, G., Senzeybek, M., Hasselwander, S., Schmid, S. (2025). "Quantifying the impact of fleet turnover on electric vehicle uptake in Europe." Transportation Research Part D: Transport and Environment, XXX, XXXXXX. https://doi.org/10.1016/j.trd.2025.XXXXXX, https://doi.org/10.1016/j.trd.2025.XXXXXX

```bibtex @article{MoringMartinez2025Paper, author={M{\"o}ring-Martínez, Gabriel and Senzeybek, Murat and Hasselwander, Samuel and Schmid, Stephan}, title={Quantifying the impact of fleet turnover on electric vehicle uptake in Europe}, journal={Transportation Research Part D: Transport and Environment}, volume={X}, number={X}, year={2025}, URL={https://doi.org/XX.XXXX/XXXXXX}, doi={XX.XXXX/XXXXXXXXX}, publisher={Elsevier} }

```

You can also find machine-readable citation metadata for the EU-ZEVAM Python model in the CITATION.cff file for use with citation tools like GitHub’s citation button or Zotero.

📃 License

REUSE status MIT License Data License: CC BY-SA 4.0

This project is REUSE compliant and licensed under multiple open licenses depending on content type:

Some third-party data is excluded (see details below).

For full licensing details and exceptions, see the LICENSE.md file.

🗨️ Contacts

For any general information, further questions or future collaborations regarding the European passenger car stock model, feel free to reach out to us. We are here to provide support and answer any questions you may have. Below are the best ways to contact our team:

For having the latest news about the DLR Institute of Vehicle Concepts, subscribe to our LinkedIn:

LinkedIn

Back to top

Owner

  • Login: gabrielmoringmartinez
  • Kind: user

Citation (CITATION.cff)

# SPDX-FileCopyrightText: 2025 German Aerospace Center (DLR), Gabriel Möring-Martínez
# SPDX-License-Identifier: CC-BY-4.0

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: "EU-ZEVAM: European Zero-Emission Vehicle Adoption Model in Python"
message: >
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - family-names: Möring-Martínez
    given-names: Gabriel
    email: gabriel.moeringmartinez@dlr.de
    affiliation: DLR
    orcid: https://orcid.org/0009-0003-4380-3081
repository-code: https://github.com/gabrielmoringmartinez/European-passenger-car-stock-model
identifiers:
  - type: url
    value: https://github.com/gabrielmoringmartinez/European-passenger-car-stock-model
abstract: >
  This repository presents a European passenger car stock model. It is based on the EU clustering model presented in Möring-Martínez et al. (2024) and on the empirical survival rates approach presented in Held et al. (2021). This code is used to analyze the European BEV stock fleet up to 2050 in the publication Möring-Martínez et al. (2025, under review).
keywords:
  - passenger car stock
  - vehicle fleet
  - fleet electrification
  - European Union
  - stock turnover
  - survival rates
  - electric vehicles
license: MIT
version: "1.0.0"
commit: 44cf21cb
date-released: 2025-07-24

GitHub Events

Total
  • Push event: 11
  • Create event: 2
Last Year
  • Push event: 11
  • Create event: 2

Dependencies

stock_model_requirements.txt pypi
.github/workflows/test.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v5 composite
.github/workflows/test.yml.license actions
pyproject.toml pypi