EEmeter — an open source python library for creating standardized models for predicting energy usage. These models are often used to calculate energy savings post demand side intervention (such as energy efficiency projects or demand response events).
Background - why use the EEMeter library
OpenEEmeter, as implemented in the eemeter package and sibling eeweather package builds upon the foundation of the CalTRACK Methods to provide free, open-source modeling tools to anyone seeking to model energy building usage. Eemeter models have been developed to meet or exceed the predictive capability of the CalTRACK models. These models adhere to a statistical approach, as opposed to an engineering approach, so that these models can be efficiently run on millions of meters at a time, while still providing accurate predictions.
Using default settings in eemeter will provide accurate and stable model predictions suitable for savings measurements from demand side interventions. Settings can be modified for research and development purposes, although the outputs of such models may no longer be an officially recognized measurement as these models have been verified by the OpenEEmeter Working Group.
Installation
EEmeter is a python package and can be installed with pip.
$ pip install eemeter
Features
Models:
Energy Efficiency Daily Model
Energy Efficiency Billing (Monthly) Model
Energy Efficiency Hourly Model
Demand Response Hourly Model
Flexible sources of temperature data. See EEweather.
Data sufficiency checking
Model serialization
First-class warnings reporting
Pandas dataframe support
Visualization tools
Documentation
Documenation for this library can be found here. Additionally, within the repository, the scripts directory contains Jupyter Notebooks, which function as interactive examples.
Roadmap for 2024 development
The OpenEEmeter project growth goals for the year fall into two categories:
Community goals - we want help our community thrive and continue to grow.
Technical goals - we want to keep building the library in new ways that make it as easy as possible to use.
Community goals
Develop project documentation and tutorials
A number of users have expressed how hard it is to get started when tutorials are out of date. We will dedicate time and energy this year to help create high quality tutorials that build upon the API documentation and existing tutorials.
Make it easier to contribute
As our user base grows, the need and desire for users to contribute back to the library also grows, and we want to make this as seamless as possible. This means writing and maintaining contribution guides, and creating checklists to guide users through the process.
Technical goals
Implement new OpenEEmeter models
The OpenEEmeter Working Group continues to improve the underlying models in OpenEEmeter. We seek to continue to implement these models in a safe, tested manner so that these models may continue to be used within engineering pipelines effectively.
Weather normal and unusual scenarios
The EEweather package, which supports the OpenEEmeter, comes packaged with publicly available weather normal scenarios, but one feature that could help make that easier would be to package methods for creating custom weather year scenarios.
Greater weather coverage
The weather station coverage in the EEweather package includes full coverage of US and Australia, but with some technical work, it could be expanded to include greater, or even worldwide coverage.
License
This project is licensed under [Apache 2.0](LICENSE).
Other resources
CONTRIBUTING: how to contribute to the project.
MAINTAINERS: an ordered list of project maintainers.
CHARTER: open source project charter.
CODE_OF_CONDUCT: Code of conduct for contributors.
Metadata
Release files for eemeter 4.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| eemeter-4.1.1.tar.gz | 1.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| eemeter-4.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.9 MB
Release files / eemeter-4.1.1.tar.gz
| Download URL | eemeter-4.1.1.tar.gz |
|---|---|
| Size | 1.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c9c626b2e77072981522c95c7c314dceac476e8848249efe83ac019932782fda
|
|
BLAKE2b-256 checksum How to use checksums |
01e13bdc03b545e9295358e2fff96289809c2f08b195ee514be0ab7c9d8c9fe7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 11, 2025.
Transparency logRelease files / eemeter-4.1.1-py3-none-any.whl
| Download URL | eemeter-4.1.1-py3-none-any.whl |
|---|---|
| Size | 1.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2b9002d80ba11257764785f6f0e1f29a4f17f897e1cdffa4ac49429e7c2e3578
|
|
BLAKE2b-256 checksum How to use checksums |
1a63f67fa9cfcc0e139e24ada72deb9841d5d559134b302b59309d500ca23cb6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 11, 2025.
Transparency log