next up previous contents
Next: 7 Configuration Management Up: dev_guide Previous: 5 Target Architectures   Contents

Subsections


6 Coding Conventions

It is recommended that all CCSM components follow a coding convention. The goal is to create code with a consistent look and feel so that it is easier to read and maintain. To date, no conventions have been specified which apply across all CCSM components. Conventions have been defined for the atmospheric model and are included below.


6.1 Fortran Coding Standard for the Community Atmospheric Model

This section defines a set of specifications, rules, and recommendations for the coding of the Community Atmospheric Model (CAM). The purpose is to provide a framework that enables users to easily understand or modify the code, or to port it to new computational environments. In addition, it is hoped that adherence to these guidelines will facilitate the exchange and incorporation of new packages and parameterizations into the model. Other works which influenced the development of this standard are "Report on Column Physics Standards" (http://nsipp.gsfc.nasa.gov/infra/) and "European Standards For Writing and Documenting Exchangeable Fortran 90 Code" (http://nsipp.gsfc.nasa.gov/infra/eurorules.html).

6.1.1 Style Rules

6.1.2 Content Rules

6.1.3 Package Coding Rules

The term "package" in the following rules refers to a routine or group of routines which takes a well-defined set of input and produces a well-defined set of output. A package can be large, such as a dynamics package, which computes large scale advection for a single timestep. It can also be relatively small, such as a parameterization to compute the effects of gravity wave drag.


next up previous contents
Next: 7 Configuration Management Up: dev_guide Previous: 5 Target Architectures   Contents
csm@ucar.edu