This is the EnergyPlus Development Repository. EnergyPlus™ is a whole building energy simulation program that engineers, architects, and researchers use to model both energy consumption and water use in buildings.
- The Department of Energy maintains a public website for EnergyPlus where you can find much more information about the program.
- For detailed developer information, consult the wiki.
- Many users (and developers) of EnergyPlus are active on Unmet Hours, so that's a great place to start if you have a question about EnergyPlus or building simulation.
- For more in-depth, developer-driven support, please utilize the EnergyPlus Helpdesk.
Every commit and every release of EnergyPlus undergoes rigorous testing. The testing consists of building EnergyPlus, of course, then there are unit tests, integration tests, API tests, and regression tests. Since 2014, most of the testing has been performed a fork of the Decent CI continuous integration system. We are now adapting our efforts to use the GitHub Actions system to handle more of our testing processes. In the meantime, while Decent CI is still handling the regression and bulkier testing, results from Decent CI are still available on the testing dashboard.
EnergyPlus is released twice annually, usually in March and September. It is recommended all use of EnergyPlus in production workflows use these formal, public releases. Iteration (pre-)releases may be created during a development cycle, however users should generally avoid these, as input syntax may change which won't be supported by the major release version transition tools, and could require manual intervention to remedy. If an interim release is intended for active use by users, such as a bug-fix-only or performance-only re-release, it will be clearly specified on the release notes and a public announcement will accompany this type of release. Our releases are now built by GitHub Actions.
The EnergyPlus documentation site brings together introductory material, user and developer guides, input-schema documentation, and the C and Python API references. Start with the Quick Start Guide to install EnergyPlus and run a first simulation, or browse the complete documentation for detailed modeling and development guidance.
Key references include:
- Getting Started — a comprehensive introduction to EnergyPlus concepts, workflows, input files, and output files.
- Input Output Reference — an encyclopedic reference to EnergyPlus input objects and output reports.
- Engineering Reference — the theoretical background, algorithms, and calculation methods used by EnergyPlus.
- EnergyPlus epJSON input schema — searchable definitions for EnergyPlus input objects and fields.
- C API reference — the native API for embedding EnergyPlus and accessing runtime, data-transfer, functional, and callback interfaces.
- Python API reference — Python bindings for the EnergyPlus C API and supporting functionality.
The latest documentation follows the develop branch, while stable follows the most recent release.
PDF documentation is also included with the packages on the EnergyPlus releases page. Big Ladder maintains an independent archive of web-based EnergyPlus documentation for released versions.
For local build instructions and information about contributing documentation, see the documentation contributor guide.
EnergyPlus is available under a BSD-3-like license. For more information, check out the license file. The EnergyPlus team accepts contributions to EnergyPlus source, utilities, test files, documentation, and other materials distributed with the program. The current EnergyPlus contribution policy is now available on the EnergyPlus contribution policy page. If you are interested in contributing, please start there, but feel free to reach out to the team.
A detailed description of compiling EnergyPlus on multiple platforms is available on the wiki. Also, as we are adapting to using GitHub Actions, the recipes for building EnergyPlus can be found in our workflow files.