Skip to main content

Calculate electricity-related emissions and costs.

Project description

Build Status Documentation Code Coverage Zenodo DOI

A package for calculating electricity-related emissions and costs for optimization problem formulation and other computational analyses.

Useful Commands

  1. pip install -e .

This will install your package in editable mode.

  1. pytest eeco/tests --cov=eeco --cov-report=html

Produces an HTML test coverage report for the entire project which can be found at htmlcov/index.html.

  1. docs/make html

This will generate an HTML version of the documentation which can be found at _build/html/index.html.

  1. flake8 eeco --count --verbose --show-source --statistics

This will lint the code and share all the style errors it finds.

  1. black eeco

This will reformat the code according to strict style guidelines.

Documentation

The documentation for this package is hosted on GitHub Pages.

Attribution

If you found this package useful, we encourage you to cite the papers below depending on which portion of the code you use.

See the metadata in CITATION.cff, on Zenodo, or the following BibTeX format to cite the Python package in its entirety:

@software{chapin_2025_17102024,
  author={Chapin, Fletcher T. and
          Rao, Akshay K. and
          Sakthivelu, Adhithyan and
          Wettermark, Daly and
          Musabandesu, Erin and
          Jaminet, Anne and
          Dudchenko, Alexander V. and
          Mauter, Meagan S.},
  title={Electric Emissions \& Cost Optimizer (EECO)},
  month=sep,
  year=2025,
  publisher={Zenodo},
  version={v0.1.0},
  doi={10.5281/zenodo.17102025},
  url={https://doi.org/10.5281/zenodo.17102025}
}

Citing costs.py

The development of costs.py was the culmination of two papers from the WE3Lab.

The convex formulation of tariff costs for optimizing flexible loads was originally developed for a case study of flexible wastewater treatment plant operation published in Environmental Science & Technology:

Bolorinos, J., Mauter, M. S., & Rajagopal, R. Integrated energy flexibility management at wastewater treatment facilities. Environ. Sci. Technol. 57, 18362-18371. (2023). DOI: 10.1021/acs.est.3c00365

In BibTeX format:

@article{bolorinos2023integrated,
  title={Integrated energy flexibility management at wastewater treatment facilities},
  author={Bolorinos, Jose and Mauter, Meagan S and Rajagopal, Ram},
  journal={Environmental Science \& Technology},
  volume={57},
  number={46},
  pages={18362--18371},
  year={2023},
  publisher={ACS Publications},
  url={https://doi.org/10.1021/acs.est.3c00365}
}

The tariff data format was published in the following data descriptor in Nature Scientific Data:

Chapin, F.T., Bolorinos, J. & Mauter, M.S. Electricity and natural gas tariffs at United States wastewater treatment plants. Sci Data 11, 113 (2024). DOI: 10.1038/s41597-023-02886-6

In BibTeX format:

@Article{Chapin2024,
author={Chapin, Fletcher T and Bolorinos, Jose and Mauter, Meagan S.},
title={Electricity and natural gas tariffs at United States wastewater treatment plants},
journal={Scientific Data},
year={2024},
month={Jan},
day={23},
volume={11},
number={1},
pages={113},
issn={2052-4463},
doi={10.1038/s41597-023-02886-6},
url={https://doi.org/10.1038/s41597-023-02886-6}
}

Citing emissions.py

The emissions optimization code was originally developed for co-optimizing costs and emissions at a wastewater treatment plant and published in Environmental Science & Technology:

Chapin, F.T., Wettermark, D., Bolorinos, J. & Mauter, M.S. Load-shifting strategies for cost-effective emission reductions at wastewater facilities Environ. Sci. Technol. 59, 2285-2294 (2025). DOI: 10.1021/acs.est.4c09773

In BibTeX format:

@article{chapin2025load,
  title={Load-Shifting Strategies for Cost-Effective Emission Reductions at Wastewater Facilities},
  author={Chapin, Fletcher T and Wettermark, Daly and Bolorinos, Jose and Mauter, Meagan S},
  journal={Environmental Science \& Technology},
  volume={59},
  number={4},
  pages={2285--2294},
  year={2025},
  publisher={ACS Publications},
  url={https://pubs.acs.org/doi/10.1021/acs.est.4c09773}
}

Citing metrics.py

The flexibility metrics come from the following Nature Water paper:

Rao, A. K., Bolorinos, J., Musabandesu, E., Chapin, F. T., & Mauter, M. S. Valuing energy flexibility from water systems. Nat. Water 2, 1028-1037 (2024). DOI: 10.1038/s44221-024-00316-4

In BibTeX format:

@article{rao2024valuing,
  title={Valuing energy flexibility from water systems},
  author={Rao, Akshay K and Bolorinos, Jose and Musabandesu, Erin and Chapin, Fletcher T and Mauter, Meagan S},
  journal={Nature Water},
  volume={2},
  number={10},
  pages={1028--1037},
  year={2024},
  publisher={Nature Publishing Group UK London},
  url={https://doi.org/10.1038/s44221-024-00316-4}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eeco-0.2.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eeco-0.2.0-py2.py3-none-any.whl (52.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file eeco-0.2.0.tar.gz.

File metadata

  • Download URL: eeco-0.2.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for eeco-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cc34c9e9ef7e5ff940b94774629c272db1552fe2accef5aedaacda7d7bbc910d
MD5 3fbc7895bb2b649ccb83b7085393ee90
BLAKE2b-256 4f2272a81031636164a29dc71de7044033e490e4b04c03df44e24bf3f9415913

See more details on using hashes here.

Provenance

The following attestation bundles were made for eeco-0.2.0.tar.gz:

Publisher: publish.yml on we3lab/eeco

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eeco-0.2.0-py2.py3-none-any.whl.

File metadata

  • Download URL: eeco-0.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 52.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for eeco-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d7699b51b4182bf04cea7b249f9fb65ae913f84d707246f83598aa964d1fd7b3
MD5 7cbf415476c71058fa63c7521d718834
BLAKE2b-256 7684f2a26019082d8cca798d5a5c62ef4aac6ad8185cd9129b80bd525f72808f

See more details on using hashes here.

Provenance

The following attestation bundles were made for eeco-0.2.0-py2.py3-none-any.whl:

Publisher: publish.yml on we3lab/eeco

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page