{"id":335095,"name":"24/7 Carbon Free Energy","description":"The purpose of this project is to study the feasibility, costs, and impacts of 24/7 CFE in the commercial and industrial (C\u0026I) sector in five distinct geographies in Asia.","url":"https://github.com/transition-zero/tza-google-cfe","last_synced_at":"2026-04-21T01:30:21.673Z","repository":{"id":322413775,"uuid":"756315015","full_name":"transition-zero/tza-google-cfe","owner":"transition-zero","description":" Code repo for the 24/7 CFE project at TransitionZero, supported by Google.org ","archived":false,"fork":false,"pushed_at":"2026-04-14T12:00:49.000Z","size":42949,"stargazers_count":7,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-15T23:08:27.266Z","etag":null,"topics":["analysis"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/transition-zero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-12T12:28:24.000Z","updated_at":"2026-04-09T09:41:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"c4b15639-2b03-45d7-8340-699c6f6861df","html_url":"https://github.com/transition-zero/tza-google-cfe","commit_stats":null,"previous_names":["transition-zero/tza-google-cfe"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/transition-zero/tza-google-cfe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transition-zero%2Ftza-google-cfe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transition-zero%2Ftza-google-cfe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transition-zero%2Ftza-google-cfe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transition-zero%2Ftza-google-cfe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/transition-zero","download_url":"https://codeload.github.com/transition-zero/tza-google-cfe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transition-zero%2Ftza-google-cfe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31950891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"transition-zero","name":"Transition Zero","uuid":"73114765","kind":"organization","description":"","email":null,"website":null,"location":"United Kingdom","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/73114765?v=4","repositories_count":1,"last_synced_at":"2023-03-01T18:22:29.152Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/transition-zero","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-03-01T18:22:29.163Z","updated_at":"2023-03-01T18:22:29.163Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/transition-zero","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/transition-zero/repositories"},"packages":[],"commits":{"id":11567029,"full_name":"transition-zero/tza-google-cfe","default_branch":"master","total_commits":208,"total_committers":11,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":18.90909090909091,"dds":0.5480769230769231,"past_year_total_commits":76,"past_year_total_committers":9,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":8.444444444444445,"past_year_dds":0.5921052631578947,"last_synced_at":"2026-04-15T19:58:05.255Z","last_synced_commit":"955f828e6273eb7204003f377e5ddb6a2ae20cba","created_at":"2025-11-20T01:00:33.437Z","updated_at":"2026-04-15T19:57:40.799Z","committers":[{"name":"Aman Majid","email":"39566844+amanmajid","login":"amanmajid","count":94},{"name":"Irfan","email":"irfanm@transitionzero.org","login":null,"count":39},{"name":"djwels","email":"dan.w@transitionzero.org","login":"djwels","count":28},{"name":"Thomas Kouroughli","email":"tomkourou@icloud.com","login":"Tomkourou","count":14},{"name":"Abhishek Shivakumar","email":"abhishek0208@gmail.com","login":"abhishek0208","count":12},{"name":"Handriyanti","email":"handriyanti@transitionzer.org","login":null,"count":9},{"name":"Handriyanti","email":"handriyanti@transitionzero.org","login":"Handriyanti","count":4},{"name":"Joel","email":"joelyap1120@hotmail.com","login":"joel1120","count":3},{"name":"ollie-bell","email":"56110893+ollie-bell","login":"ollie-bell","count":2},{"name":"irfan","email":"irfan.m@transitionzero.org","login":"irfanm-tz","count":2},{"name":"Calvin Nesbitt","email":"calvin@transitionzero.org","login":"CalvinNesbitt","count":1}],"past_year_committers":[{"name":"Irfan","email":"irfanm@transitionzero.org","login":null,"count":31},{"name":"djwels","email":"dan.w@transitionzero.org","login":"djwels","count":28},{"name":"abhishek0208","email":"abhishek0208@gmail.com","login":"abhishek0208","count":4},{"name":"Handriyanti","email":"handriyanti@transitionzero.org","login":"Handriyanti","count":4},{"name":"Joel","email":"joelyap1120@hotmail.com","login":"joel1120","count":3},{"name":"ollie-bell","email":"56110893+ollie-bell","login":"ollie-bell","count":2},{"name":"Handriyanti","email":"handriyanti@transitionzer.org","login":null,"count":2},{"name":"irfan","email":"irfan.m@transitionzero.org","login":"irfanm-tz","count":1},{"name":"Calvin Nesbitt","email":"calvin@transitionzero.org","login":"CalvinNesbitt","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/transition-zero%2Ftza-google-cfe/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-15T00:00:09.512Z","repositories_count":6213589,"commits_count":900137604,"contributors_count":34924064,"owners_count":1144686,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"transition-zero/tza-google-cfe","html_url":"https://github.com/transition-zero/tza-google-cfe","last_synced_at":"2026-04-15T23:01:53.900Z","status":"active","issues_count":5,"pull_requests_count":31,"avg_time_to_close_issue":20232472.6,"avg_time_to_close_pull_request":5020016.866666666,"issues_closed_count":5,"pull_requests_closed_count":30,"pull_request_authors_count":9,"issue_authors_count":2,"avg_comments_per_issue":0.4,"avg_comments_per_pull_request":1.5161290322580645,"merged_pull_requests_count":20,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":12,"past_year_avg_time_to_close_issue":25828374.0,"past_year_avg_time_to_close_pull_request":1537511.0909090908,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":11,"past_year_pull_request_authors_count":5,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.8333333333333334,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":9,"created_at":"2025-11-20T01:00:35.208Z","updated_at":"2026-04-15T23:01:53.900Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/transition-zero%2Ftza-google-cfe","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/transition-zero%2Ftza-google-cfe/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"CONTRIBUTOR":5},"pull_request_author_associations_count":{"CONTRIBUTOR":28,"COLLABORATOR":3},"issue_authors":{"irfanm-tz":3,"amanmajid":2},"pull_request_authors":{"irfanm-tz":9,"djwels":6,"amanmajid":5,"Tomkourou":4,"joel1120":3,"ollie-bell":1,"Handriyanti":1,"CalvinNesbitt":1,"abhishek0208":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-18T00:00:07.858Z","repositories_count":14300766,"issues_count":34554680,"pull_requests_count":113097042,"authors_count":11237117,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"CONTRIBUTOR":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":9,"COLLABORATOR":3},"past_year_issue_authors":{"irfanm-tz":1},"past_year_pull_request_authors":{"irfanm-tz":4,"djwels":3,"joel1120":3,"CalvinNesbitt":1,"ollie-bell":1},"maintainers":[{"login":"joel1120","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/joel1120"}],"active_maintainers":[{"login":"joel1120","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/joel1120"}]},"events":{"total":{"DeleteEvent":2,"PushEvent":13,"CreateEvent":2},"last_year":{"DeleteEvent":2,"PushEvent":13,"CreateEvent":2}},"keywords":["analysis"],"dependencies":[],"score":4.477336814478207,"created_at":"2025-11-18T00:05:40.066Z","updated_at":"2026-04-21T01:30:21.675Z","avatar_url":"https://github.com/transition-zero.png","language":"Python","category":"Energy Systems","sub_category":"Global and Regional Energy System Models","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\u003cdiv style=\"display: flex; justify-content: space-around; align-items: center;\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/transition-zero/tza-google-cfe/blob/main/img/logo.png\"\u003e\n    \u003cimg alt=\"TransitionZero Logo\" width=\"800 px\" src=\"https://github.com/transition-zero/tza-google-cfe/blob/main/img/logo.png\"\u003e\n  \u003c/picture\u003e\n\u003c/div\u003e\n\n\u003c!-- height=\"50px\" width=\"300px\" --\u003e\n\n# System-level impacts of 24/7 Carbon Free Energy (CFE) in Asia\n\n\u003c!-- badges-begin --\u003e\n\n![Python][python badge]\n![Status][status badge]\n\n[python badge]: https://img.shields.io/badge/python_version-3.11-green\n[status badge]: https://img.shields.io/badge/Status-Under_Construction-orange\n\n\u003c!-- badges-end --\u003e\n\n## Background\nAs climate change intensifies the push for global decarbonization of power systems, many organisations increasingly rely on renewable energy through Power Purchase Agreements (PPAs), which traditionally balance supply and demand over long periods. However, some energy buyers now seek 24/7 carbon-free electricity (also referred to as 24/7 CFE), ensuring every kilowatt-hour is continuously sourced from clean energy. Yet, more modelling studies are needed to explore the feasibility, costs, and impacts of 24/7 CFE at scale in the commercial and industrial (C\u0026I) sector.\n\n## Our study\nThe purpose of this project is to study the feasibility, costs, and impacts of 24/7 CFE in the commercial and industrial (C\u0026I) sector in five distinct geographies. These are:\n\n1. India\n2. Japan\n3. Taiwan\n4. Malaysia\n5. Singapore\n\nOur study employs energy system modelling using the widely adopted [PyPSA](https://github.com/PyPSA/PyPSA) framework. In doing so, we create in almost all cases the first openly available PyPSA models for each of the geographies listed above. In addition, to emphasise transparency and reproducibility, we make our entire workflow accessible on Github, and provide all results, visualizations, and compiled analyses openly.\n\n## Reproducing this work\n\n### Getting started\n\nYou can clone the repository using the `git` command line\n\n```bash\ngit clone https://github.com/transition-zero/tza-google-cfe\n```\n\nYou can set up the project environment using either `uv` or `mamba`. Following the instructions below to get started. \n\nUsing `uv`:\n\nCreate a virtual environment:\n```bash\nuv venv\n```\n\nActivate the virtual environment: \nOn macOS/Linux: \n```bash \nsource .venv/bin/activate\n```\nOn Windows \n```bash \n.venv\\Scripts\\activate\n```\n\nInstall depedencies: \n```bash \nuv sync\n```\n\nUsing `mamba`: \n```bash\nmamba env create -f environment.yaml\n```\n\nActivate the environment \n```bash\nmamba activate tza-cfe\n```\n\n### Running CFE models\nif using `uv`:\n- To build brownfield models:\n```bash \nuv run python main.py build-brownfield --config configs.yaml\n```\n- To solve the brownfield models:\n```bash \nuv run python main.py solve-brownfield --config configs.yaml\n```\n- To run the full CFE scenarios:\n```bash \nuv run python main.py run-full-cfe --config configs.yaml\n```\n\nif using `mamba`:\nThe same except ommit `uv run` \n```bash\npython main.py build-brownfield --config configs.yaml\n```\n\nYou can control which scenarios you want to run using the `configs.yaml` inside the `run` directory.\nExample config files are provided for each country explored in this CFE project (e.g. for Japan an example for Hokkaido (JPN01) is provided and can be used as a template for running any/all other nodes in Japan).\n\nIn the config files provided, HiGHS - an open source linear optimisation solver - is currently set as the optimisation engine for solving each stock model. In the CFE project, Gurobi was also used and parameters are also provided in each config file.\n\n## Acknowledgements\n\nWe gratefully acknowledge the contributions of colleagues across TransitionZero — both current and former — who supported this work through\ncommunications, analysis, modelling infrastructure, and operational coordination. These include Alice Apsey, Ollie Bell, Duncan Byrne, Khandekar\nMahammad Galib, Matthew Gray, Michael Guzzardi, Tim Haines, Anna Hartley, John Heal, Simone Huber, Thomas Kouroughli, Alex Luta, Aman Majid, Grace Mitchell, Irfan Mohamed, Calvin Nesbitt, Joe O’Connor, Sabina Parvu, Handriyanti Diah Puspitarini, Abhishek Shivakumar, Stephanie Stevenson, Isabella Söldner-Rembold, Isabella Suarez, Dan Welsby, and Thu Vu.\n\nThis work was made possible through the funding from Google.org.\n\nOur methodological approach is focused on the assessment of system-level costs and benefits of 24/7 Carbon-Free Electricity (CFE) procurement in Japan, India, Singapore, Taiwan, and Malaysia.\n\nIt builds on a robust body of literature and cutting-edge modelling tools. In particular we were influenced by,\n\n- TU Berlin and affiliated researchers:\n  - Riepin, I., \u0026 Brown, T. (2022). System-level impacts of 24/7 carbon-free electricity procurement in Europe. Zenodo. https://doi.org/10.5281/zenodo.7180098\n  - Riepin, I., \u0026 Brown, T. (2023). The value of space-time load-shifting flexibility for 24/7 carbon-free electricity procurement. Zenodo. https://doi.org/10.5281/zenodo.8185850\n\n- Princeton University (ZERO Lab):\n  - Xu, Q.,Manocha, A.,Patankar, N., and Jenkins, J.D., System-level Impacts of 24/7 Carbon-free Electricity Procurement, Zero-carbon Energy Systems Research and Optimization Laboratory, Princeton University, Princeton, NJ, 16 November 2021.\n  - Xu, Q., \u0026 Jenkins, J. D. (2022). Electricity System and Market Impacts of Time-based Attribute Trading and 24/7 Carbon-free Electricity Procurement. Zenodo. https://doi.org/10.5281/zenodo.7082212\n\n- International Energy Agency (IEA):\n  - Regional insights and sectoral analyses\n  - IEA (2022), Advancing Decarbonisation through Clean Electricity Procurement, IEA, Paris. https://www.iea.org/reports/advancing-decarbonisation-through-clean-electricity-procurement\n\nOur in-house modelling leverages PyPSA (Python for Power System Analysis), an open-source framework for simulating and optimizing energy systems. This platform enables high-resolution, hourly modelling of decarbonised power systems, adapted for our country-specific analyses. We are grateful to all contributors in the open modelling community, whose tools and insights strengthen the analytical foundation for achieving global CFE goals.\n\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.5281/zenodo.7180098","https://doi.org/10.5281/zenodo.8185850","https://doi.org/10.5281/zenodo.7082212"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["energy-system-model","energy-system"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/335095","html_url":"https://ost.ecosyste.ms/projects/335095"}