Have you ever wondered what the “guts” of EnergyPlus really look like? Have you ever had the nerdy urge to go in and modify/create modules to suit your needs? Or maybe even to just see where that pesky error message actually comes from?
If so, I bet you didn’t even know that the US Dept. of Energy decided recently to fully open their source code licensing for Version 7.0. This is a change from the former policy of a tedious and underutilized Collaborative Developer license which required physically signing a piece of paper and mailing it to California with a check for a couple hundred bucks (I kid you not).
Based on this victory, the fine gentlemen at Big Ladder Software have created an independent fork of EnergyPlus called EPx which is hosted on SourceForge with matching developer and user communities on Google Groups.
As an energy modeler, you may be asking how this impacts you. According to the development vision of this project, there is a laser focus on usability:
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.
I think we would all agree that EnergyPlus could use some improvement from that perspective. Users can help out the effort by trying EPx releases, monitoring progress, testing for bugs, adding to documentation, etc.
I’ll warn you - EnergyPlus source code is not for the faint of heart. It’s an intimidating 100+ Fortran modules and can be quite difficult for even an experienced developer to wrap their head around - let alone an energy modeler with little programming skills. I spent 6 months of my Fulbright grant basically staring at it in order to add a module for my project. However, I think the learning curve for source code understanding and manipulation will get better as more professionals add to the documentation, improve usability, and modernize the effort.
I plan to create more blog posts outlining how to use the repository and the progress we make as a community. Stay tuned!