Future Technology Transformation
Integrated assessment model with a realistic treatment of technology diffusion.
https://github.com/cpmodel/ftt_standalone
Category: Climate Change
Sub Category: Integrated Assessment and Climate Policy
Keywords
energy-system-model power-system-model python scenario-analysis simulation-model
Last synced: about 4 hours ago
JSON representation
Repository metadata
Future Technology Transformation models: a family of evolutionary economics models to investigate energy policy
- Host: GitHub
- URL: https://github.com/cpmodel/ftt_standalone
- Owner: cpmodel
- License: mit
- Created: 2022-12-16T22:10:23.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2026-07-20T16:36:46.000Z (4 days ago)
- Last Synced: 2026-07-21T06:04:39.704Z (3 days ago)
- Topics: energy-system-model, power-system-model, python, scenario-analysis, simulation-model
- Language: Python
- Homepage: https://ftt-standalone.readthedocs.io/en/latest
- Size: 1.37 GB
- Stars: 21
- Watchers: 7
- Forks: 6
- Open Issues: 37
- Releases: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
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
-
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 -
The python package requirements are curated in the
environment.ymlfile.
Change directory to the repo, and then install the environment using:conda env create -f environment.yml -
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
- You can run the frontend of the model in your browser by either double clicking
open_frontend.bator by runningrun_frontend.py. Select the models to run and scenarios and explore the output. - 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.
- 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.
- New contributors can fork the repository to open pull requests with suggested code improvements
- Join our Discord and Open Community meetings, typically on the last Friday of the month; send an email for the invites.
- 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.
- 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
- Heat: Knobloch, F., Pollitt H., Chewpreecha U., Daioglou V. and Mercure J-F. (2018) ‘Simulating the deep decarbonisation of residential heating for limiting global warming to 1.5°C’, Energy Efficiency 12, Issue 2, pp 521–550.
- Power: Mercure (2012): A global model of the power sector with induced technological change and natural resource depletion. Energy Policy 48.
- Power: Nijsse et al. (2023): The momentum of the solar energy transition . Nature Communications 14
- Passenger transport: Mercure, J-F., Lam, A., Billington, S. and Pollitt, H. (2018) ‘Integrated assessment modelling as a positive science: private passenger road transport policies to meet a climate target well below 2°C’, Climatic Change, November 2018, Volume 151, Issue 2, pp 109–129.
- Steel: Vercoulen, P.; Lee, S.; Han, X.; Zhang, W.; Cho, Y.; Pang, J. (2023) 'Carbon-Neutral Steel Production and Its Impact on the Economies of China, Japan, and Korea: A Simulation with E3ME-FTT:Steel. Energies 16, 4498. https://doi.org/10.3390/en16114498
Owner metadata
- Name: Climate Policy Assessment Community of Models
- Login: cpmodel
- Email:
- Kind: organization
- Description: The community of Models includes CPAT, Mindset and FTT
- Website:
- Location: United States of America
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/87036185?v=4
- Repositories: 1
- Last ynced at: 2023-05-01T08:37:12.517Z
- Profile URL: https://github.com/cpmodel
GitHub Events
Total
- Create event: 54
- Commit comment event: 2
- Release event: 1
- Delete event: 46
- Pull request event: 66
- Fork event: 1
- Issues event: 18
- Watch event: 4
- Issue comment event: 47
- Push event: 476
- Pull request review comment event: 73
- Pull request review event: 88
Last Year
- Delete event: 16
- Pull request event: 22
- Fork event: 1
- Issues event: 6
- Watch event: 3
- Issue comment event: 13
- Push event: 217
- Pull request review comment event: 44
- Pull request review event: 33
- Create event: 26
Committers metadata
Last synced: 3 days ago
Total Commits: 868
Total Committers: 22
Avg Commits per committer: 39.455
Development Distribution Score (DDS): 0.388
Commits in past year: 410
Committers in past year: 10
Avg Commits per committer in past year: 41.0
Development Distribution Score (DDS) in past year: 0.315
| Name | Commits | |
|---|---|---|
| Femke Nijsse | f****e@p****t | 531 |
| Cormac Lynch | 1****h | 118 |
| Rosie Hayward | 1****1 | 36 |
| Ian Burton | i****0@e****k | 32 |
| Rosie Hayward | 1****n | 30 |
| copilot-swe-agent[bot] | 1****t | 23 |
| ADanneaux | a****x@h****r | 21 |
| Rishi Sahastrabuddhe | r****1@g****m | 18 |
| Chris Thoung | ct@c****m | 12 |
| Amir Akther | a****r@e****k | 12 |
| AEdwards476 | a****6@e****k | 12 |
| Sanatparida01 | s****0@e****k | 4 |
| Aicha Kharazi | k****9@g****m | 4 |
| Pim Vercoulen | pv@c****m | 3 |
| Jamie Pirie | C****P | 3 |
| Carlos Paes Dos Santos Gomes | u****d@e****u | 2 |
| aileenlam28 | 6****8 | 2 |
| Carlos Eduardo Paes | 5****g | 1 |
| Jamie Pirie | 1****n | 1 |
| Xiaofan Feng | f****3@1****m | 1 |
| dbastidas | d****c@g****m | 1 |
| ghardadi | g****i@g****m | 1 |
Committer domains:
- exeter.ac.uk: 4
- camecon.com: 2
- 163.com: 1
- eait.uq.edu.au: 1
- posteo.net: 1
Issue and Pull Request metadata
Last synced: 3 days ago
Total issues: 97
Total pull requests: 335
Average time to close issues: 10 months
Average time to close pull requests: 19 days
Total issue authors: 14
Total pull request authors: 26
Average comments per issue: 0.91
Average comments per pull request: 1.02
Merged pull request: 228
Bot issues: 0
Bot pull requests: 0
Past year issues: 16
Past year pull requests: 57
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 23 days
Past year issue authors: 2
Past year pull request authors: 9
Past year average comments per issue: 0.19
Past year average comments per pull request: 1.75
Past year merged pull request: 37
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- Femkemilene (71)
- cormacmlynch (9)
- rh-camecon (3)
- pv-camecon (3)
- rhayward1 (2)
- PVercoulen-CE (1)
- QuentinLETERRIER (1)
- ldxib2 (1)
- ct-camecon (1)
- gressyde (1)
- rishids01 (1)
- jp-camecon (1)
- AEdwards476 (1)
- jk694exe (1)
Top Pull Request Authors
- Femkemilene (150)
- cormacmlynch (35)
- arpangolechha (30)
- rishids01 (26)
- ldxib2 (23)
- varunaga13 (8)
- rhayward1 (8)
- Shruti-d1 (7)
- jp-camecon (5)
- cadupsg (4)
- PurpleHycinth (4)
- ct-camecon (4)
- jk694exe (4)
- AEdwards476 (3)
- AmAkther (3)
Top Issue Labels
- frontend (9)
- hackathon (7)
- documentation (5)
- good first issue (5)
- enhancement (5)
- bug (4)
- question (4)
- frontend + backend (4)
- invalid (2)
Top Pull Request Labels
- enhancement (4)
- documentation (4)
Score: 7.151485463904735