OpenDSM: Tools for calculating metered energy savings
Background - Why use OpenDSM
Energy efficiency programs have traditionally focused on addressing long-term load growth and reducing customer energy bills rather than serving as reliable grid resources. However, as utilities work to decarbonize power generation, buildings, and transportation, demand-side programs (e.g. energy efficiency, load shifting, electrification, and demand response programs) must evolve into dependable, scalable grid assets. Ultimately, decarbonizing the power grid will require both supply and demand-side solutions. While supply-side production is easily quantified, measuring the impacts of demand-side programs has historically been challenging due to inconsistent and opaque measurement methodologies. OpenDSM solves these problems with accurate, efficient, and transparent models designed to measure demand-side program impacts. OpenDSM gives all stakeholders full visibility and confidence in the results. OpenDSM builds upon the shoulders of OpenEEmeter and the CalTRACK Methods which themselves are built upon the foundational work of the Princeton Scorekeeping Method (PRISM 1986) for the daily and billing models and Lawrence Berkeley National Laboratory's Time-of-Week and Temperature Model (TOWT 2011) for the hourly energy efficiency and demand response models. OpenDSM models have been proven to meet or exceed the predictive capablity of the aforementioned 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 OpenDSM will provide accurate and stable model predictions suitable for savings measurements from demand side interventions. Settings can be modified and sufficiency requirements can be bypassed for research and development purposes; however, the outputs of such models are no longer OpenDSM compliant measurements as the modifications mean that these models are no longer verified and approved by the OpenDSM Working Group.Installation
OpenDSM is a python package and can be installed with pip. ~~~~~~~~~~~~~~~ $ pip install opendsm ~~~~~~~~~~~~~~~ To run the tutorials, install thetutorial extra, which adds the pyarrow dependency that
load_test_data needs to read the parquet datasets.
~~~~~~~~~~~~~~~
$ pip install "opendsm[tutorial]"
~~~~~~~~~~~~~~~
Features
- Models:
- Flexible sources of temperature data. See EEweather.
- Data sufficiency checking
- Model serialization
- First-class warnings reporting
Documentation
Documenation for this library can be found here.Future Development
The OpenDSM project growth goals 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
Community goals
- Improve repository structure, architecture, and API
- Make it easier to contribute
Technical goals
- Integrate comparison groups
- Reassess existing sufficiency and disqualification criteria
- Determine the sufficiency requirements of PV installation date in the hourly model
- Update the Demand Response (DR) model
- Improve the daily model
- Integrate EEweather
- Greater weather coverage
License
This project is licensed under Apache 2.0.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.