Green Algorithms
Aims at promoting more environmentally sustainable computational science.
https://github.com/GreenAlgorithms/green-algorithms-tool
Category: Consumption
Sub Category: Computation and Communication
Keywords from Contributors
optimize transforms archiving measur generic compose observation animals projection conversion
Last synced: about 10 hours ago
JSON representation
Repository metadata
- Host: GitHub
- URL: https://github.com/GreenAlgorithms/green-algorithms-tool
- Owner: GreenAlgorithms
- License: cc-by-4.0
- Created: 2020-07-13T19:16:36.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2026-01-09T00:23:26.000Z (6 days ago)
- Last Synced: 2026-01-12T05:28:17.247Z (2 days ago)
- Language: Python
- Homepage: http://green-algorithms.org/
- Size: 32.6 MB
- Stars: 118
- Watchers: 4
- Forks: 32
- Open Issues: 19
- Releases: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
Green Algorithms
How to deal with the GA-data git submodule?
After cloning the repository or one of its forks, run the following to properly activate the git submodule GA-data:
git submodule init
git submodule update
We recommand running the following to add submodule information in the output of the regular git status command:
git config status.submodulesummary 1
When running git pull, git automatically fetches from the submodules but does not update them, meaning that you can see new commits from the submodule, they are checked-out but not included in the current repo tracked changes. To do so run:
git submodule update
Do not apply changes to the git submodule from the current repository. Data is directly updated from the GA-data repository. For a more detailed description of the contributions recommendations, please have a look at the online documentation.
Methods and data
The methodology behind the Green Algorithms project is described in our publication:
https://onlinelibrary.wiley.com/doi/10.1002/advs.202100707
All the data used for the calculator are in the /data directory above.
Questions, issues, suggestions? Want to contribute?
Start by opening an issue here, and we will try to address it quickly:
https://github.com/GreenAlgorithms/green-algorithms-tool/issues
You can also contact us at: green.algorithms@gmail.com
How to cite this work
Lannelongue, L., Grealey, J., Inouye, M.,
Green Algorithms: Quantifying the Carbon Footprint of Computation.
Adv. Sci. 2021, 2100707. https://doi.org/10.1002/advs.202100707
FAQ
Should I include the number of processors, number of cores, or number of threads used?
For CPUs, the number of cores (CPUs usually have 4-12 cores per processor). For GPUs, the number of GPUs.
If using multi-threading on CPUs (i.e. using more threads than cores), still input the number of cores,
but be aware that your emissions might be underestimated.
What if my processor is not in the list?
You can select "Other" and find the TDP (Thermal Design Power) value on the manufacturer's website.
Plus, add a comment on this issue so that we can add it to the list!
What if my country is not in the list?
Add a comment on this issue so that we can add it to the list!
(some countries are more secretive than others about their energy mix).
You can use the world average, or a close proxy, for your estimations.
Can I compare algorithms impact independantly of the location?
Yes, simply use the "Energy needed" (in W) displayed next to the carbon emissions.
How do I find the usage factor of my processors?
It depends on your system. For example if you're using SLURM, seff <job_id> will give you the "CPU Efficiency".
Similar commands exist for the different systems, and if you can't find it, you can just leave the default value of 1.
How do I estimate my Multiplicative Factor?
Try to estimate how many times you need to run your full analysis to get results you're happy with.
It can be trials and errors, parameters optimisations, memory issues etc.
What if I found a bug in the tool?
Open an issue on the GitHub so that we can look at it.
Credits
The Green Algorithms project is led by Dr Loïc Lannelongue
with the support of Prof Michael Inouye from the University of Cambridge (UK).
Other contributors
- Dr Jason Grealey (then: Baker Heart and Diabetes Institute, Melbourne, Australia) helped to start this project.
- Even Matencio (GitHub, LinkedIn) (then: French Department for the Environment, Paris, France) developed the v3.0 of the calculator and in particular the AI view.
- The app has also been improved by ongcp97
Software and images
- The app was designed using Plotly Dash.
- The background image is realised by Ed Hawkins from the University of Reading.
- The icons used are under CC Attribution licence
and have been designed by
Laura Reen,
Jeremiah,
Sergei Kokota,
Baianat and
RoundIcons.
.
Licence
This work is licensed under a
Creative Commons Attribution 4.0 International License.
Owner metadata
- Name: The Green Algorithms project
- Login: GreenAlgorithms
- Email:
- Kind: user
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/61868901?v=4
- Repositories: 3
- Last ynced at: 2024-05-12T00:44:27.901Z
- Profile URL: https://github.com/GreenAlgorithms
GitHub Events
Total
- Create event: 8
- Release event: 1
- Issues event: 8
- Watch event: 21
- Delete event: 12
- Issue comment event: 22
- Push event: 14
- Pull request review event: 43
- Pull request review comment event: 37
- Pull request event: 40
- Fork event: 9
Last Year
- Create event: 7
- Release event: 1
- Issues event: 5
- Watch event: 15
- Delete event: 12
- Issue comment event: 21
- Push event: 14
- Pull request review comment event: 32
- Pull request review event: 36
- Pull request event: 38
- Fork event: 5
Committers metadata
Last synced: about 15 hours ago
Total Commits: 413
Total Committers: 11
Avg Commits per committer: 37.545
Development Distribution Score (DDS): 0.431
Commits in past year: 130
Committers in past year: 5
Avg Commits per committer in past year: 26.0
Development Distribution Score (DDS) in past year: 0.308
| Name | Commits | |
|---|---|---|
| Loïc Lannelongue | l****e@g****m | 235 |
| evenmatencio | m****n@g****m | 147 |
| Green Algorithms | 6****s | 11 |
| dependabot[bot] | 4****] | 9 |
| Jason Grealey | j****y@B****l | 4 |
| MATENCIO Even | e****o@d****r | 2 |
| budimirbudimir | b****r@m****m | 1 |
| Pierre Le Fevre | h****o@p****m | 1 |
| Jason Grealey | j****y@g****m | 1 |
| Eric Scott | s****r@g****m | 1 |
| Jason Grealey | j****y@B****l | 1 |
Committer domains:
Issue and Pull Request metadata
Last synced: 6 days ago
Total issues: 24
Total pull requests: 56
Average time to close issues: 4 months
Average time to close pull requests: 11 months
Total issue authors: 17
Total pull request authors: 8
Average comments per issue: 1.79
Average comments per pull request: 0.45
Merged pull request: 15
Bot issues: 0
Bot pull requests: 31
Past year issues: 5
Past year pull requests: 22
Past year average time to close issues: N/A
Past year average time to close pull requests: about 1 month
Past year issue authors: 3
Past year pull request authors: 4
Past year average comments per issue: 0.2
Past year average comments per pull request: 0.32
Past year merged pull request: 8
Past year bot issues: 0
Past year bot pull requests: 7
Top Issue Authors
- Llannelongue (4)
- mattagape (2)
- GreenAlgorithms (2)
- evenmatencio (2)
- adrientaudiere (2)
- Scottan (1)
- czmrand (1)
- foreveremain (1)
- chris-rands (1)
- drtimf (1)
- fungiboletus (1)
- pauleustice (1)
- davehowell (1)
- manics (1)
- andhya (1)
Top Pull Request Authors
- dependabot[bot] (31)
- evenmatencio (13)
- Llannelongue (4)
- unkaktus (2)
- RevantBabu (2)
- Aariq (2)
- pierrelefevre (1)
- budimirbudimir (1)
Top Issue Labels
- enhancement (8)
- question (4)
- bug (1)
Top Pull Request Labels
- dependencies (31)
- python (7)
Package metadata
- Total packages: 2
- Total downloads: unknown
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 0 (may contain duplicates)
- Total versions: 6
proxy.golang.org: github.com/greenalgorithms/green-algorithms-tool
- Homepage:
- Documentation: https://pkg.go.dev/github.com/greenalgorithms/green-algorithms-tool#section-documentation
- Licenses: cc-by-4.0
- Latest release: v2.2.2+incompatible (published over 2 years ago)
- Last Synced: 2026-01-11T00:55:34.883Z (4 days ago)
- Versions: 3
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.395%
- Average: 5.576%
- Dependent repos count: 5.758%
proxy.golang.org: github.com/GreenAlgorithms/green-algorithms-tool
- Homepage:
- Documentation: https://pkg.go.dev/github.com/GreenAlgorithms/green-algorithms-tool#section-documentation
- Licenses: cc-by-4.0
- Latest release: v2.2.2+incompatible (published over 2 years ago)
- Last Synced: 2026-01-11T00:55:44.627Z (4 days ago)
- Versions: 3
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.395%
- Average: 5.576%
- Dependent repos count: 5.758%
Dependencies
- Babel ==2.8.0
- Click ==7.0
- Flask ==1.1.1
- Flask-Compress ==1.4.0
- Jinja2 ==2.11.1
- MarkupSafe ==1.1.1
- PyYAML ==6.0
- Pygments ==2.5.2
- QtPy ==1.9.0
- Send2Trash ==1.5.0
- Sphinx ==2.4.3
- Werkzeug ==1.0.0
- alabaster ==0.7.12
- appnope ==0.1.0
- attrs ==19.3.0
- backcall ==0.1.0
- bleach ==3.1.4
- certifi ==2021.10.8
- chardet ==3.0.4
- coverage ==5.0.3
- cycler ==0.10.0
- dash ==1.4.1
- dash-core-components ==1.3.1
- dash-html-components ==1.0.1
- dash-renderer ==1.1.2
- dash-table ==4.4.1
- dask ==2021.3.0
- decorator ==4.4.2
- defusedxml ==0.6.0
- docutils ==0.16
- entrypoints ==0.3
- future ==0.18.2
- gunicorn ==20.0.4
- idna ==2.9
- imagesize ==1.2.0
- importlib-metadata ==1.5.0
- ipykernel ==5.1.4
- ipython ==7.13.0
- ipython-genutils ==0.2.0
- ipywidgets ==7.5.1
- itsdangerous ==1.1.0
- jedi ==0.17.0
- jsonschema ==3.2.0
- jupyter ==1.0.0
- jupyter-client ==6.1.3
- jupyter-console ==6.1.0
- jupyter-core ==4.6.3
- kiwisolver ==1.1.0
- matplotlib ==3.1.1
- mistune ==0.8.4
- more-itertools ==8.2.0
- nbconvert ==5.6.1
- nbformat ==5.0.6
- newrelic *
- notebook ==6.0.3
- numpy ==1.17.4
- numpydoc ==0.9.2
- packaging ==20.1
- pandas ==0.25.3
- pandocfilters ==1.4.2
- parso ==0.7.0
- pexpect ==4.8.0
- pickleshare ==0.7.5
- plotly ==5.8.0
- pluggy ==0.13.1
- pprintpp ==0.4.0
- prometheus-client ==0.7.1
- prompt-toolkit ==3.0.5
- ptyprocess ==0.6.0
- py ==1.8.1
- pycountry ==19.8.18
- pycountry-convert ==0.7.2
- pyparsing ==2.4.6
- pyrsistent ==0.16.0
- pytest ==5.3.5
- pytest-cov ==2.8.1
- pytest-mock ==2.0.0
- python-dateutil ==2.8.1
- pytz ==2019.3
- pyzmq ==18.1.1
- qtconsole ==4.7.4
- repoze.lru ==0.7
- requests ==2.23.0
- retrying ==1.3.3
- scipy ==1.4.1
- seaborn ==0.9.0
- six ==1.14.0
- snowballstemmer ==2.0.0
- sphinxcontrib-applehelp ==1.0.2
- sphinxcontrib-devhelp ==1.0.2
- sphinxcontrib-htmlhelp ==1.0.3
- sphinxcontrib-jsmath ==1.0.1
- sphinxcontrib-qthelp ==1.0.3
- sphinxcontrib-serializinghtml ==1.1.4
- tenacity ==8.0.1
- terminado ==0.8.3
- testpath ==0.4.4
- tornado ==6.0.4
- traitlets ==4.3.3
- urllib3 ==1.25.8
- wcwidth ==0.1.8
- webencodings ==0.5.1
- widgetsnbextension ==3.5.1
- zipp ==3.1.0
- Babel ==2.9.1
- Click ==7.0
- Flask ==1.1.1
- Flask-Compress ==1.4.0
- Jinja2 ==2.11.3
- MarkupSafe ==1.1.1
- Pygments ==2.7.4
- Sphinx ==2.4.3
- Werkzeug ==1.0.0
- alabaster ==0.7.12
- attrs ==19.3.0
- certifi ==2019.11.28
- chardet ==3.0.4
- coverage ==5.0.3
- cycler ==0.10.0
- dash ==1.4.1
- dash-core-components ==1.3.1
- dash-html-components ==1.0.1
- dash-renderer ==1.1.2
- dash-table ==4.4.1
- dask ==2021.10.0
- docutils ==0.16
- future ==0.18.2
- gunicorn ==20.0.4
- idna ==2.9
- imagesize ==1.2.0
- importlib-metadata ==1.5.0
- itsdangerous ==1.1.0
- kiwisolver ==1.1.0
- matplotlib ==3.1.1
- more-itertools ==8.2.0
- newrelic *
- numpy ==1.17.4
- numpydoc ==0.9.2
- packaging ==20.1
- pandas ==0.25.3
- plotly ==4.5.0
- pluggy ==0.13.1
- pprintpp ==0.4.0
- py ==1.10.0
- pycountry ==19.8.18
- pycountry-convert ==0.7.2
- pyparsing ==2.4.6
- pytest ==5.3.5
- pytest-cov ==2.8.1
- pytest-mock ==2.0.0
- python-dateutil ==2.8.1
- pytz ==2019.3
- repoze.lru ==0.7
- requests ==2.23.0
- retrying ==1.3.3
- scipy ==1.4.1
- seaborn ==0.9.0
- six ==1.14.0
- snowballstemmer ==2.0.0
- sphinxcontrib-applehelp ==1.0.2
- sphinxcontrib-devhelp ==1.0.2
- sphinxcontrib-htmlhelp ==1.0.3
- sphinxcontrib-jsmath ==1.0.1
- sphinxcontrib-qthelp ==1.0.3
- sphinxcontrib-serializinghtml ==1.1.4
- urllib3 ==1.26.5
- wcwidth ==0.1.8
- zipp ==3.1.0
Score: -Infinity
