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.

README.md

nf-co2footprint plugin

A Nextflow plugin to estimate the CO₂ footprint of pipeline runs.

DOI
Get help on Slack

📚 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


GitHub Events

Total
Last Year

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 Email 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:


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

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/nextflow-io/nf-co2footprint

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

.github/workflows/build-docs.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/build.yml actions
  • actions/checkout v1 composite
  • actions/setup-java v1 composite
buildSrc/build.gradle maven
plugins/build.gradle maven
plugins/nf-co2footprint/build.gradle maven
  • 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