Programming Standard — EnergyPlus 8.2

<< Prev | Table of Contents | Next >>

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.