nf-co2footprint

A Nextflow plugin to estimate the CO2 footprint of pipeline runs.

https://github.com/nextflow-io/nf-co2footprint

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 13 committers (15.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary

Keywords from Contributors

nextflow nf-core
Last synced: 6 months ago · JSON representation ·

Repository

A Nextflow plugin to estimate the CO2 footprint of pipeline runs.

Basic Info
Statistics
  • Stars: 20
  • Watchers: 7
  • Forks: 10
  • Open Issues: 11
  • Releases: 7
Created almost 3 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Citation

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:

groovy title="nextflow.config" plugins { id 'nf-co2footprint@1.0.0' }

This is all that is needed. Run your pipeline with the usual command: bash nextflow run <pipeline_name>.nf

More details are available in the Nextflow plugin documentation and the configuration guide.

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.

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:

text J. Carl, N. Volkmann, J. Mir-Pedrol, P. Ewels, S. Nahnsen, S. Krakau nextflow-io/nf-co2footprint v1.0.0. (Jun., 2025). nextflow-io. Available: https://github.com/nextflow-io/nf-co2footprint Bibtex @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 = {June} year = {2025} publisher = {Nextflow-io} version = {v1.0.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.

Owner

  • Name: nextflow-io
  • Login: nextflow-io
  • Kind: organization

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.0.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"

GitHub Events

Total
  • Create event: 33
  • Release event: 8
  • Issues event: 111
  • Watch event: 8
  • Delete event: 27
  • Member event: 3
  • Issue comment event: 133
  • Push event: 228
  • Pull request review comment event: 343
  • Pull request review event: 384
  • Pull request event: 188
  • Fork event: 4
Last Year
  • Create event: 33
  • Release event: 8
  • Issues event: 111
  • Watch event: 8
  • Delete event: 27
  • Member event: 3
  • Issue comment event: 133
  • Push event: 228
  • Pull request review comment event: 343
  • Pull request review event: 384
  • Pull request event: 188
  • Fork event: 4

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 558
  • Total Committers: 13
  • Avg Commits per committer: 42.923
  • Development Distribution Score (DDS): 0.52
Past Year
  • Commits: 361
  • Committers: 8
  • Avg Commits per committer: 45.125
  • Development Distribution Score (DDS): 0.258
Top Committers
Name Email Commits
JosuaCarl j****l@u****e 268
Sabrina Krakau s****u@g****m 120
mirpedrol m****a@g****m 58
nadnein n****8@g****m 57
Till Englert t****6@g****m 20
Bastian Eisenmann b****n@u****e 9
Paolo Di Tommaso p****o@g****m 8
mashehu m****3@g****m 7
Jorge Aguilera j****a@s****o 4
hemantjoon h****n@r****n 3
Ben Sherman b****n@g****m 2
Phil Ewels p****s@s****o 1
hemantjoon j****9@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 92
  • Total pull requests: 270
  • Average time to close issues: 3 months
  • Average time to close pull requests: 10 days
  • Total issue authors: 9
  • Total pull request authors: 9
  • Average comments per issue: 0.76
  • Average comments per pull request: 0.54
  • Merged pull requests: 195
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 78
  • Pull requests: 194
  • Average time to close issues: 22 days
  • Average time to close pull requests: 10 days
  • Issue authors: 7
  • Pull request authors: 7
  • Average comments per issue: 0.59
  • Average comments per pull request: 0.45
  • Merged pull requests: 127
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • JosuaCarl (57)
  • nadnein (14)
  • skrakau (12)
  • Bastian-Eisenmann (3)
  • julienfumey (1)
  • Llannelongue (1)
  • d4straub (1)
  • chris-rands (1)
Pull Request Authors
  • JosuaCarl (120)
  • skrakau (47)
  • nadnein (40)
  • mirpedrol (24)
  • Bastian-Eisenmann (12)
  • tillenglert (10)
  • hemantjoon (9)
  • mashehu (5)
  • LouisLeNezet (2)
Top Labels
Issue Labels
💎 enhancement (12) 🪲 bug (11) 🔀 refactor (11) cleanup (7) refactor (6) 🧼 cleanup (6) ❔ question (5) 📣 logging (5) enhancement (3) 🛟 catches (3) 🐁 small (3) ¯\_(ツ)_/¯ unclear (2) 📝 documentation (2) 🧪 Testing (2) bug (2) unclear (1) logging (1) ⛔ wontfix (1) handling (1) 🗄️ output (1) help wanted (1) ❗ help wanted (1) documentation (1)
Pull Request Labels
🐁 small (68) 🔀 refactor (31) 🪲 bug (27) 💎 enhancement (25) 📝 documentation (20) 🧼 cleanup (17) 📣 logging (17) 🗄️ output (15) 🛟 catches (13) 🐘 big (11) 🧪 Testing (10) 🛰️ continuous integration (8) 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