Table of Contents: Programming Standard — EnergyPlus 8.2
Table of Contents
All 8.2 Docs
|
Docs Home
|
EPx Home
EnergyPlus Programming Standard
(to understand and be able to write the code)
Introduction
Reference Documents
Coding Standard
Fortran 90/95
Fortran 90 Code
F90/95 Language Features for Use in EnergyPlus
Fortran 90/95 Compilers
Beyond F90/95 Language Features for Use in EnergyPlus
Naming Conventions
Subroutine Naming Convention
Module and Source Code File Naming Convention
Variable Naming Convention
Program Variables
Variable Declarations and Usage
Units in EnergyPlus
Variable Initializations
Allocation/Deallocation Variable Arrays
Unused Variables
Module Structure and Interaction
Module Usage in EnergyPlus
Driver Subroutines
Environment Flags
User Data Interface Subroutines (Get routines)
Initialization Subroutine(s)
Calculation Routines and Utility Subroutines and Functions
Update Routine(s)
Reporting Subroutine(s)
USE Statements in EnergyPlus
Example of the EnergyPlus Module Structure
Generic Subroutines and Functions
Programming Style
Code Template
Notes on the EnergyPlus Code Template
Good Coding Practices
Code Readability vs. Speed of Execution
Code Documentation
Source Code Comments
Engineering Documentation
External Libraries
Requirements and Responsibilities
Build System
Software Development Procedures
EnergyPlus development: step by step
Testing
Input File Documentation
Appendix A: Definitions and Notation
Appendix B: Development of the Standard
Why Standards?
What Standards?
Application of the Standard
Metrics
Complexity Metric
Lines of Code per routine
Appendix C: Evolutionary Reengineering
Appendix D: EnergyPlus Variable Abbreviations
Documentation content copyright © 1996-2014 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.