nf-co2footprint
Estimates the energy consumption for each pipeline task based on the Nextflow resource usage metrics and information about the power consumption of the underlying compute system.
https://github.com/nextflow-io/nf-co2footprint
Category: Consumption
Sub Category: Computation and Communication
Keywords
analysis bioinformatics co2 co2-footprint emissions nextflow pipelines workflow
Keywords from Contributors
nf-core conda
Last synced: about 9 hours ago
JSON representation
Repository metadata
A Nextflow plugin to estimate the CO₂ footprint of pipeline runs.
- Host: GitHub
- URL: https://github.com/nextflow-io/nf-co2footprint
- Owner: nextflow-io
- License: apache-2.0
- Created: 2023-04-20T13:31:11.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2026-03-06T13:07:14.000Z (16 days ago)
- Last Synced: 2026-03-10T12:59:50.172Z (12 days ago)
- Topics: analysis, bioinformatics, co2, co2-footprint, emissions, nextflow, pipelines, workflow
- Language: HTML
- Homepage: https://nextflow-io.github.io/nf-co2footprint/
- Size: 8.85 MB
- Stars: 26
- Watchers: 6
- Forks: 11
- Open Issues: 14
- Releases: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: docs/contributing/guidelines.md
- License: LICENSE
- Citation: CITATION.cff
- Notice: NOTICE
README.md
nf-co2footprint plugin
A Nextflow plugin to estimate the CO₂ footprint of pipeline runs.
📚 Docs 👉🏻 https://nextflow-io.github.io/nf-co2footprint
Introduction
The nf-co2footprint plugin estimates the energy consumption for each pipeline task based on the Nextflow resource usage metrics and information about the power consumption of the underlying compute system.
The carbon intensity of the energy production is then used to estimate the respective CO₂ emission.
The calculation is based on the carbon footprint computation method developed in the Green Algorithms Project.
Green Algorithms: Quantifying the Carbon Footprint of Computation
Lannelongue, L., Grealey, J., Inouye, M.,
Adv. Sci. 2021, 2100707. https://doi.org/10.1002/advs.202100707
The nf-co2footprint plugin generates a detailed TXT carbon footprint report containing the energy consumption, the estimated CO₂ emission and other relevant metrics for each task.
Additionally, an HTML report is generated with information about the carbon footprint of the whole pipeline run and containing plots showing, for instance, an overview of the CO₂ emissions for the different processes.
Quick Start
Declare the plugin in your Nextflow pipeline configuration file:
plugins {
id 'nf-co2footprint@1.2.0'
}
This is all that is needed. Run your pipeline with the usual command:
nextflow run <pipeline_name>.nf
More details are available in the Nextflow plugin documentation and the configuration guide.
Extension
The plugin also provides a CLI command for post-run carbon footprint calculations from Nextflow's execution trace files, as well as a function that can be included in Nextflow pipelines. For more information, see the extension manual.
Output
The plugin generates three files, a detailed report, a text summary, and a trace file.
For more details, see the output documentation.
Contributing
Before contributing, please read the contribution guidelines carefully. You may also find the recommended testing setup helpful.
After your changes are accepted. maintainers may then publish a new version along with your contribution.
Troubleshooting
If you encounter any problem, please have a look at our FAQ and the issue section on our Github.
If you can't find a satisfying solution please open a new issue. Chances are you are not the only one experiencing it.
Credits
The nf-co2footprint plugin has been mainly developed by:
at QBiC. Special thanks to Loïc Lannelongue from the University of Cambridge, UK for collaboration and contributing to this project.
We additionally thank the following people for their extensive assistance in the development of this plugin:
How to cite:
J. Carl, N. Volkmann, J. Mir-Pedrol, P. Ewels, S. Nahnsen, S. Krakau nextflow-io/nf-co2footprint v1.2.0. (Mar., 2026). nextflow-io. Available: https://github.com/nextflow-io/nf-co2footprint
@software{nf_co2footprint_plugin,
author = {Josua Carl and
Nadja Volkmann and
Júlia Mir-Pedrol and
Phil Ewels and
Sven Nahnsen and
Sabrina Krakau}
title = {nextflow-io/nf-co2footprint - A Nextflow plugin to estimate the CO2e footprint of pipeline runs}
month = {March}
year = {2026}
publisher = {Nextflow-io}
version = {v1.2.0}
url = {https://doi.org/10.5281/zenodo.14622304}
doi = {10.5281/zenodo.14622304}
}
Data Attribution
Carbon intensity
This project uses carbon intensity (CI) data from Electricity Maps under the Open Database License (ODbL).
Depending on the configuration, either historical yearly data from 2024 is used or real-time CI values are accessed via the Electricity Maps API.
Electricity Maps: Carbon Intensity Data
Electricity Maps (2025). 2024 Yearly Carbon Intensity Data (Version January 27, 2025).
Electricity Maps. https://www.electricitymaps.com
You are free to use, share, and adapt the data under the terms of the ODbL. For more details and attribution requirements, see the NOTICE file.
CPU TDP data
To estimate the CPU power draw this project uses CPU TDP data from WikiChip under the CC BY-NC-SA 4.0 license.
WikiChip: CPU Data
WikiChip LLC (2025). CPU Data including Thermal Design Power (TDP) (Version June 20, 2025).
WikiChip. https://en.wikichip.org/wiki/WikiChip
You are free to use, share, and adapt the data under the terms of the CC BY-NC-SA 4.0. For more details and attribution requirements, see the NOTICE file.
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use or reference this software, please cite it as below"
type: "software"
authors:
- family-names: Carl
given-names: Josua
orcid: https://orcid.org/0009-0001-7336-9808
- family-names: Nadja
given-names: Volkmann
orcid: https://orcid.org/0009-0003-6788-7531
- family-names: Mir-Pedrol
given-names: Júlia
orcid: https://orcid.org/0000-0001-6104-9260
- family-names: Ewels
given-names: Philip
orcid: https://orcid.org/0000-0003-4101-2502
- family-names: Lannelongue
given-names: Loïc
orcid: https://orcid.org/0000-0002-9135-1345
- family-names: Nahnsen
given-names: Sven
orcid: https://orcid.org/0000-0002-4375-0691
- family-names: Krakau
given-names: Sabrina
orcid: https://orcid.org/0000-0003-0603-7907
title: "nf-co2footprint - A nextflow plugin to track CO2e emissions"
version: 1.1.0
identifiers:
- type: doi
value: 10.5281/zenodo.14622304
doi: 10.5281/zenodo.14622304
date-released: 2025-08-19
repository-code: "https://github.com/nextflow-io/nf-co2footprint/"
license: "Apache-2.0"
keywords:
- "co2footprint"
- "co2 footprint"
- "co2 emissions"
- "carbon emissions"
- "carbon footprint"
- "nextflow"
- "workflow"
- "pipeline"
- "sustainability"
Owner metadata
- Name: nextflow-io
- Login: nextflow-io
- Email:
- Kind: organization
- Description:
- Website: http://nextflow.io
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/6698688?v=4
- Repositories: 78
- Last ynced at: 2023-05-21T01:00:52.958Z
- Profile URL: https://github.com/nextflow-io
GitHub Events
Total
- Release event: 8
- Delete event: 28
- Member event: 3
- Pull request event: 217
- Fork event: 4
- Issues event: 121
- Watch event: 11
- Issue comment event: 145
- Push event: 254
- Pull request review comment event: 379
- Pull request review event: 417
- Create event: 33
Last Year
- Release event: 6
- Delete event: 27
- Pull request event: 180
- Fork event: 1
- Issues event: 111
- Watch event: 5
- Issue comment event: 108
- Push event: 227
- Pull request review comment event: 354
- Pull request review event: 378
- Create event: 29
Committers metadata
Last synced: 2 days ago
Total Commits: 994
Total Committers: 14
Avg Commits per committer: 71.0
Development Distribution Score (DDS): 0.365
Commits in past year: 761
Committers in past year: 8
Avg Commits per committer in past year: 95.125
Development Distribution Score (DDS) in past year: 0.179
| Name | Commits | |
|---|---|---|
| JosuaCarl | j****l@u****e | 631 |
| nadnein | n****8@g****m | 121 |
| Sabrina Krakau | s****u@g****m | 120 |
| mirpedrol | m****a@g****m | 58 |
| Till Englert | t****6@g****m | 20 |
| mashehu | m****3@g****m | 11 |
| Bastian Eisenmann | b****n@u****e | 9 |
| Paolo Di Tommaso | p****o@g****m | 8 |
| Murray Wham | m****m@e****k | 5 |
| Jorge Aguilera | j****a@s****o | 4 |
| hemantjoon | h****n@r****n | 3 |
| Ben Sherman | b****n@g****m | 2 |
| hemantjoon | j****9@g****m | 1 |
| Phil Ewels | p****s@s****o | 1 |
Committer domains:
- seqera.io: 2
- uni-tuebingen.de: 2
- rcb.res.in: 1
- ed.ac.uk: 1
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 94
Total pull requests: 273
Average time to close issues: 2 months
Average time to close pull requests: 11 days
Total issue authors: 8
Total pull request authors: 9
Average comments per issue: 0.7
Average comments per pull request: 0.56
Merged pull request: 193
Bot issues: 0
Bot pull requests: 0
Past year issues: 74
Past year pull requests: 162
Past year average time to close issues: 16 days
Past year average time to close pull requests: 6 days
Past year issue authors: 4
Past year pull request authors: 4
Past year average comments per issue: 0.54
Past year average comments per pull request: 0.41
Past year merged pull request: 107
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- JosuaCarl (58)
- nadnein (17)
- skrakau (12)
- Bastian-Eisenmann (3)
- julienfumey (1)
- Llannelongue (1)
- d4straub (1)
- chris-rands (1)
Top Pull Request Authors
- JosuaCarl (121)
- skrakau (47)
- nadnein (44)
- mirpedrol (24)
- Bastian-Eisenmann (12)
- tillenglert (10)
- hemantjoon (9)
- mashehu (5)
- LouisLeNezet (1)
Top Issue Labels
- 💎 enhancement (15)
- 🪲 bug (13)
- 🔀 refactor (12)
- 🧼 cleanup (8)
- cleanup (7)
- refactor (6)
- 📣 logging (5)
- ❔ question (5)
- enhancement (3)
- 🐁 small (3)
- 🛟 catches (3)
- ¯\_(ツ)_/¯ unclear (3)
- bug (2)
- 🧪 Testing (2)
- 📝 documentation (2)
- 🗄️ output (2)
- handling (1)
- logging (1)
- unclear (1)
- help wanted (1)
- documentation (1)
- ⛔ wontfix (1)
- ❗ help wanted (1)
- ❄️ stale (1)
Top Pull Request Labels
- 🐁 small (69)
- 🔀 refactor (31)
- 🪲 bug (29)
- 💎 enhancement (25)
- 📝 documentation (21)
- 🧼 cleanup (17)
- 📣 logging (17)
- 🗄️ output (16)
- 🛟 catches (13)
- 🐘 big (11)
- 🧪 Testing (10)
- 🛰️ continuous integration (9)
- enhancement (3)
- ❔ question (2)
- cleanup (2)
- bug (2)
- ✨ style (1)
- refactor (1)
Dependencies
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v1 composite
- actions/setup-java v1 composite
- io.nextflow:nextflow $nextflowVersion compileOnly
- org.pf4j:pf4j 3.4.1 compileOnly
- org.slf4j:slf4j-api 1.7.10 compileOnly
- cglib:cglib-nodep 3.3.0 testImplementation
- com.google.jimfs:jimfs 1.1 testImplementation
- io.nextflow:nextflow $nextflowVersion testImplementation
- org.codehaus.groovy:groovy 3.0.17 testImplementation
- org.codehaus.groovy:groovy-nio 3.0.17 testImplementation
- org.codehaus.groovy:groovy-test 3.0.17 testImplementation
- org.objenesis:objenesis 3.1 testImplementation
- org.spockframework:spock-core 2.2-groovy-3.0 testImplementation
- org.spockframework:spock-junit4 2.2-groovy-3.0 testImplementation
Score: 6.327936783729195