Software Development
Procedures[LINK]
The EnergyPlus software development philosophy is to
proceed incrementally, always maintaining a working version of
EnergyPlus. Large, dramatic development steps that break the
code are not encouraged. This philosophy grew out of the fact
that a large portion of EnergyPlus - the heat balance section
- is based upon legacy code from iBLAST. This code, in common
with most of the code in DOE-2 and BLAST, is written in
Fortran 77 and tends to be disorganized and difficult to
understand. Rather than rewrite this code in one step it was
decided to begin with the legacy code and transform it
gradually into modular, structured Fortran 90 code. This
procedure allowed the working of the code to be verified at
each stage of transformation and allowed other development to
proceed in parallel. This method of gradually transforming
legacy code into modern, structured code was dubbed
“evolutionary reengineering”; a more detailed description is
in Appendix C.
The experience with evolutionary reengineering led to the
EnergyPlus development philosophy: proceed in modest
development steps; maintain working code; test frequently and
always test at the end of each development step. A more
detailed description of the software development steps is
provided below.
Software Development Procedures[LINK]
The EnergyPlus software development philosophy is to proceed incrementally, always maintaining a working version of EnergyPlus. Large, dramatic development steps that break the code are not encouraged. This philosophy grew out of the fact that a large portion of EnergyPlus - the heat balance section - is based upon legacy code from iBLAST. This code, in common with most of the code in DOE-2 and BLAST, is written in Fortran 77 and tends to be disorganized and difficult to understand. Rather than rewrite this code in one step it was decided to begin with the legacy code and transform it gradually into modular, structured Fortran 90 code. This procedure allowed the working of the code to be verified at each stage of transformation and allowed other development to proceed in parallel. This method of gradually transforming legacy code into modern, structured code was dubbed “evolutionary reengineering”; a more detailed description is in Appendix C.
The experience with evolutionary reengineering led to the EnergyPlus development philosophy: proceed in modest development steps; maintain working code; test frequently and always test at the end of each development step. A more detailed description of the software development steps is provided below.
Documentation content copyright © 1996-2026 The Board of Trustees of the University of Illinois and the Regents of the University of California through the Ernest Orlando Lawrence Berkeley National Laboratory. All rights reserved. EnergyPlus is a trademark of the US Department of Energy.
This documentation is made available under the EnergyPlus Open Source License v1.0.