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 . (or pip install -e .[test] for development)

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.1.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.1-py2.py3-none-any.whl (53.1 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: eeco-0.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 9c39172deecacfb47938fef27490ad5f19f90983a56ec56ca0d0321db7de843b
MD5 a0ca8ac94a1d4ebd5332dda54361c642
BLAKE2b-256 852f9ba7c87c97839bcbbc880a135baaa8936a5f86cecef32160770ee35cfc70

See more details on using hashes here.

Provenance

The following attestation bundles were made for eeco-0.2.1.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.1-py2.py3-none-any.whl.

File metadata

  • Download URL: eeco-0.2.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 53.1 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.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 af4a8f50d7974ccdb9b8506ccd7fb295474123553da37110773efc23f10bdead
MD5 7bfc59b44d471df27a5c0234b00f6985
BLAKE2b-256 4f62f50cc7078c64f798f66040a76fd7ce8e7c4a4b61b0768b123fc1e77c437b

See more details on using hashes here.

Provenance

The following attestation bundles were made for eeco-0.2.1-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