Next:
1 Introduction
Up:
dev_guide
Previous:
dev_guide
Contents
1 Introduction
2 Software Management
2.1 Software Management Positions at NCAR
3 Software Life Cycle
3.1 The Staged Delivery Model
4 Document Guidelines
4.1 General Guidelines
4.1.1 Accessibility
4.1.2 File format
4.2 Development Documents and User Documentation
4.2.1 Requirements Document
4.2.2 Architecture Document
4.2.3 Detailed Design Document
4.2.4 User's Guide
4.2.5 User's Reference Manual
4.3 Planning Documents
4.3.1 CCSM Software Engineering Plan
4.3.2 Component Development Plan
5 Target Architectures
5.1 Statement from the CCSM Software Engineering Plan
6 Coding Conventions
6.1 Fortran Coding Standard for the Community Atmospheric Model
6.1.1 Style Rules
6.1.2 Content Rules
6.1.3 Package Coding Rules
7 Configuration Management
7.1 CVS Repository Access
7.2 Procedures for the Central CCSM Repository
7.2.1 Commit Sequence
7.2.2 How to Commit
7.2.3 Useful Modules
7.2.4 Management of Change Logs
7.2.5 Naming Conventions
8 Shared and External Libraries
8.1 csm_share
8.1.1 Share Constant Module
8.2 External Libraries Integration Policies
9 Component Requirements
9.1 Overall Requirements
9.2 Signal Trapping
9.3 Restart Capabilities
9.3.1 Initial Runs
9.3.2 Continue Runs
9.3.3 Branch Runs
10 Diagnostics
10.1 Standard Diagnostics
10.1.1 Timing Calls
10.2 Run-Time Optional Diagnostics
10.2.1 Global Fluxes
11 Data Management Conventions
11.1 Overview
11.1.1 Convention Purpose and Philosophy
11.1.2 Summary
11.1.3 Relationship to the COARDS Convention
11.2 Conventions for Required Attributes
11.2.1 long_name Attribute
11.2.2 units Attribute
11.2.3 Coordinates
11.2.4 Global Attributes
11.3 Conventions for Optional Attributes
11.3.1 Calendar / Orbital Parameters
11.3.2 Representing Values on Intervals
11.3.3 Non-Ordinal Coordinates
11.3.4 Projection Coordinates
11.3.5 Flux Direction
11.4 Resources
12 Component Model Testing, Unit-Testing, Code Reviews
12.1 Component Model Testing
12.1.1 Designing Good Tests
12.1.2 unit-tests
12.1.3 Functional-tests
12.1.4 System-tests
12.1.5 CCSM Testing requirements and implementation details
12.2 Code-Reviews
12.2.1 Strategies for Implementation of Code-Reviews
13 System Testing and Validation
13.1 Model Testing Procedures for the CCSM
13.1.1 Development Testing Steps
13.1.2 Ongoing Test Steps
13.2 Model Validation Procedures for the CCSM
13.3 Port Validation of the CCSM
13.3.1 Background
13.3.2 Full CCSM Port Validation
13.3.3 Recommended Procedure
13.3.4 Port Validation Examples
Appendix A: Testing Terminology
Appendix DevA: CSEG Leads and Component Liaisons
Appendix DevB: CVS Access Groups
Bibliography
About this document ...
csm@ucar.edu