Big Ladder Software

EPx, a modified version of EnergyPlus v. 7 or 8

Welcome! The EPx project has two goals:

  1. To provide an outlet for open development and collaboration on an independent fork of EnergyPlus.
  2. To release a free and open-source EPx simulation engine suitable for commercial-grade energy modeling.

To accomplish these objectives, we have set up a project on SourceForge and discussion groups on Google Groups–see the Quick Links to the right. The project also maintains an archive of current and past versions of the canonical (unmodified) open-source releases of EnergyPlus.

If you are a software developer, you can show your support by downloading our distribution of the latest unmodified EnergyPlus source code and by joining our EPx Developers discussion group. You can also check out our development vision.

If you are an energy modeler, stay tuned–we plan to release a user-friendly installer program for EPx in the future. In the meantime you can show your support and stay informed about upcoming releases by joining our EPx Users discussion group.

This project is unfunded, volunteer work for us. As such, the success of EPx will depend greatly on bringing other volunteers into the fold to collaborate on the project. We can’t do this without you. Read about how you can contribute.

We want to hear from you! We invite you to share your comments below.

The EPx Team: Peter Ellis, Neal Kruis


Further Reading

How We Got Here
Development Vision
How To Contribute
Comments


How We Got Here

In January 2012, EnergyPlus, the whole-building energy simulation engine developed by the US Department of Energy (DOE), was released under an open-source license for the first time. It was a major accomplishment for DOE that was, no doubt, a long time in the making. Our hats go off to all who were involved in making it happen.

The Big Ladder team was in Chicago for the ASHRAE Winter Meeting when we heard the good news. As hard-core users and former developers of EnergyPlus, we are frequently pushing the limits of the program. Over the course of a typical modeling project we often run into problems that make it difficult to get the job done. The new license meant we were now free to access the source code–without a commercial license–and free to dig into the innards of the program, study the algorithms, and fix any problems we encounter.

The news quickly got us thinking. We started making plans to put the source on a revision control system. We wanted to be able to keep track of our bug fixes and other improvements, and then merge them with the latest changes from the EnergyPlus development team whenever a new official version was released. But as we spoke to fellow energy modelers and developers (also in town for ASHRAE), everyone we talked to encouraged us to make it a public repository instead of a private one. Sure, why not? If we fixed a bug for our own needs, why not share the fix with the entire EnergyPlus community? Why not leverage the benefits of open-source software development? People were clearly eager to collaborate and become proactive about improving EnergyPlus.

Fast-forward to July 2012–we are proud to launch an independent fork of EnergyPlus for open development and collaboration called EPx.

Development Vision

Our primary goal for EPx is to improve the usability of the program. Usability spans many aspects of the software: input/output interface, robustness, documentation…even how you download and install the program. In our view, usability is the most critical factor limiting the adoption of EnergyPlus. Most of the objectives below relate directly or indirectly to improving usability. Secondary goals include improving the execution speed and completeness of the program. This is not yet a comprehensive development plan, nor does it represent everything we want to do. The objectives will inevitably increase and evolve as more collaborators join the effort.

Short-Term Objectives

The following are objectives that we intend to accomplish soon:

  • Release a minimal (executable only) distribution of the canonical open-source releases of EnergyPlus for each platform.
  • Release an EPx-labeled minimal (executable only) distribution for each platform.
  • Establish a development policy that preserves backward compatibility of the input/output interface for a declared time period; change to a rational version numbering system such as semantic versioning.
  • Develop a plan to streamline the input syntax by reducing redundancies and improving consistency.

Long-Term Objectives

The following are objectives that will take a bit longer and will rely on the contributions of collaborators and volunteers. We won’t be able to do everything at once, but this is where we want to go:

  • Change to a free compiler and IDE for the standard distribution; publish project files and detailed build instructions for each platform.
  • Add an enhanced command-line interface to facilitate automation and batch processing.
  • Set up an automated test suite for evaluating standard comparative tests such as ANSI/ASHRAE Standard 140-2011 and IEA SHC Task 34/Annex 43 (BESTest).
  • Investigate Fortran unit testing methods (or a similar low-level approach) for new code modules, and for existing code as practical.
  • Convert documentation to text-based source files that can be stored in the repository and compiled into PDF and HTML documents; add hyperlink references between related object classes; post documentation on a web site.
  • Release a complete end-user distribution (executable, documentation, and examples) for each platform that is suitable for commercial-grade energy modeling.

Collaboration Tools

To get development started, we’ve set up the following tools for open collaboration:

  • File Downloads - We’re using SourceForge’s file manager. The public can download release files and view detailed download statistics. Designated project members can post files.
  • Revision Control System - We’re using a Subversion repository on SourceForge. The public has anonymous read-only access to the repository and commit log. Designated project members can commit. New members can earn committer status by demonstrating competence (for example, by submitting several high-quality bug patches).
  • Bug/Feature Tracker - We’re using SourceForge’s ticket system. The public can browse all tickets. Anyone with a free SourceForge account can post new tickets.
  • Discussion Groups - We’re using Google Groups to host the developer forum/email list. The public can browse all topics. Anyone can join with a free Google account or subscribe by sending an email (no Google account required). Members can post or reply via email or the web forum interface. Member accounts can be configured for digest or no-email options.

As the project matures we can also add tools for a project wiki and blog.

How To Contribute

Anyone can contribute to the EPx project, even if you’re not a software developer. For example, energy modelers can help out in any of the following ways:

  • Submit bug reports
  • Submit feature requests
  • Perform testing and validation
  • Expand and correct documentation
  • Share example files
  • Participate in discussion groups
  • Provide user-to-user support

Developers can contribute in all of the above ways plus:

  • Develop bug patches
  • Develop new features
  • Develop test files
  • Share compiler settings
  • Provide advanced user support

A first good step to contributing is to join our discussion groups: EPx Users or EPx Developers.

Comments

Post your comments and questions on our EPx Developers discussion group. Before you can post, you must join the group with a free Google account or subscribe by sending an email (no Google account required) to .