Next:
10. Design Philosophy
Up:
Basic formulation
Previous:
Code design
VI.
Code design
10. Design Philosophy
10.1 Objective
10.1.1 Speed
10.1.2 Flexibility
10.1.3 Modularity
10.1.4 Documentation
10.1.5 Coding efficiency.
10.1.6 Ability to upgrade.
11. Uni-tasking
11.1 Why memory management is important
11.2 Minimizing the memory requirement
11.2.1 Slicing through the 3-D prognostic data
11.3 The Memory Window
11.3.1 Detailed anatomy
11.3.2 Solving prognostic equations within the MW.
11.3.3 Moving the memory window
11.3.4 Questions and Answers
12. Multi-tasking
12.1 Scalability
12.2 When to multi-task
12.3 Approaches to multi-tasking
12.4 The distributed memory paradigm
12.5 Domain Decomposition
12.5.1 Calculating row boundaries on processors
12.5.2 Communications
12.5.3 The barotropic solution
13. Database
13.1 Data files
14. Variables
14.1 Naming convention for variables
14.2 The main variables
14.2.1 Relating indices j and jrow
14.2.2 Cell faces
14.2.3 Model size parameters
14.2.4 T cells
14.2.5 U cells
14.2.6 Vertical spacing
14.2.7 Time level indices
14.2.8 3-D Prognostic variables
14.2.9 2-D Prognostic variables
14.2.10 3-D Workspace variables
14.2.11 3-D Masks
14.2.12 Surface Boundary Condition variables
14.2.13 2-D Workspace variables
14.3 Operators
14.3.1 Tracer Operators
14.3.2 Momentum Operators
14.4 Input Namelist variables
14.4.1 Time and date
14.4.2 Integration control
14.4.3 Surface boundary conditions
14.4.4 Time steps
14.4.5 External mode
14.4.6 Mixing
14.4.7 Diagnostic intervals
14.4.8 Directing output
14.4.9 Isoneutral diffusion
14.4.10 Nonconstant isoneutral diffusivities
14.4.11 Pacanowski/Philander mixing
14.4.12 Smagorinsky mixing
14.4.13 Bryan/Lewis mixing
15. Modules and Modularity
15.1 List of Modules
15.1.1 convect.F
15.1.2 denscoef.F and MOM's density
15.1.2.1 Bryan and Cox 1972
15.1.2.2 Computing density within MOM
15.1.2.3
in situ
density and potential density
15.1.2.4 Linearized density and option linearized_density
15.1.3 grids.F
15.1.4 iomngr.F
15.1.5 poisson.F
15.1.6 vmix1d.F
15.1.7 timeinterp.F
15.1.8 timer.F
15.1.9 Time manager
15.1.9.1 Introduction
15.1.9.2 Overview of interfaces
15.1.9.3 Time interfaces
15.1.9.4 Calendar Interfaces
15.1.9.5 Sample test program
15.1.9.6 Logical Switches
15.1.10 topog.F
15.1.11 util.F
15.1.11.1 indp
15.1.11.2 ftc
15.1.11.3 ctf
15.1.11.4 extrap
15.1.11.5 setbcx
15.1.11.6 iplot
15.1.11.7 imatrix
15.1.11.8 matrix
15.1.11.9 scope
15.1.11.10 sum1st
15.1.11.11 plot
15.1.11.12 checksum
15.1.11.13 print_checksum
15.1.11.14 wrufio
15.1.11.15 rrufio
15.1.11.16 tranlon
RC Pacanowski and SM Griffies, GFDL, Jan 2000