Skip to content

cpmodel/FTT_StandAlone

Repository files navigation

Future Technology Transformation (FTT)

Modules

This repository contains a family of Future Technology Transformation (FTT) models. Models that are included are:

  • FTT:Power (Mercure, 2012) - updated to 2022 (generation) and 2023 (prices)
  • FTT:Heat (Knobloch et al, 2017) data up to 2020
  • FTT:Industrial heat
  • FTT:Transport (Mercure et al, 2018) - data up to 2022
  • FTT:Freight - data up to 2023
  • FTT:Hydrogen (under review)

Theoretical background

The FTT family of models are based on evolutionary economics. The uptake of new technologies typically follows an S-curve, which can be represented well with evolutionary dynamics (Mercure et al, 2012). The core equations for all of the models in the model family are coupled logistic equations of the Lotka-Volterra family, also known as the predator-prey equations. These equations are used to determine the evolution of the shares of various technologies in the models. Each model contains between ~10 to 25 technologies competing for market share.

FTT and macro-economic models

This repository contains the main version of FTT, written in Python. It comes as a package that can be imported into macro-economic models. A FORTRAN version of the model family is often used together with a macro-economic model as: E3ME-FTT. This model is managed by Cambridge Econometrics, and informs some of the inputs for the model. In specific, energy demand is an output from the coupled model.

Installation

Before you start, make sure that git is installed on your system, for instance by installing GitHub Desktop

  1. Open your terminal at a location where you want to install ftt. Type the following in your terminal to download the package from GitHub:

    git clone https://github.com/cpmodel/FTT_StandAlone.git
  2. The python package requirements are curated in the environment.yml file. Change directory to the repo, and then install the environment using:

    conda env create -f environment.yml
  3. On Windows, you can start the frontend with launch_frontend.bat. If Python is not yet added to your path, ensure you add this first.

Alternatively, you can download ftt by clicking the green Code button in the top right, and selecting Open with Github Desktop if you have this installed. You can import the environment in Anaconda Navigator.

Running the model

  1. You can run the frontend of the model in your browser by either double clicking open_frontend.bat or by running run_frontend.py. Select the models to run and scenarios and explore the output.
  2. Alternatively, you can run the model from the run_file.py script. Output is saved to a pickle file in the Output folder. Select the models and scenarios from the settings.ini file.
  3. Create new scenarios by adding a new folder in the Inputs folder. Data is read in first from this folder, and missing data is read from the S0 baseline folder.

How to contribute

We welcome contributions from everyone. You can report issues, fix bugs, improve the documentation, or write and propose model changes and provide updated data.

  1. New contributors can fork the repository to open pull requests with suggested code improvements
  2. Join our Discord and Open Community meetings, typically on the last Friday of the month; send an email for the invites.
  3. When you have questions, ask them on GitHub, so other people can benefit from the answers. Bugs and feature requests should be raised in GitHub Issues. Questions should be posted at the GitHub Discussions tab.
  4. Whether you open a PR or ask questions, ensure that you're using the latest version of the code. Rebase your branch before you open a PR.

Collaborations and publications

If you plan to publish work using this codebase, please let us know. Where capacity allows, we are happy to review results or confirm that analyses are consistent with the implementation.

We encourage a community-driven approach. If you need more detailed support, we welcome contributions back to the project through improvements to code, training material or data, to help strengthen the work for everyone.

References

About

Future Technology Transformation models: a family of evolutionary economics models to investigate energy policy

Topics

Resources

License

Stars

20 stars

Watchers

7 watching

Forks

Packages

 
 
 

Contributors

Languages