Quick Links
About Release1
Install: Getting started
Downloading
Building the code
Running the code
Tutorials
Barotropic gyre
Baroclinic gyre
Global ocean
Open ocean convection
Gravity plume
Held-Saurez atmosphere
Documentation
Continuous formulation
Numerical discretization
Vector invariant equations
Linear advection Schemes
Non-linear advection Schemes
About
Installation
Tutorials
Documentation
1.1 Introduction
1.3 Continuous equations in `r' coordinates
2. Discretization and Algorithm
4. Software Architecture
5. Automatic Differentiation
6. Physical Parameterization and Packages
7. Diagnostics and tools
8. Interface with ECCO
Browse Code
 
PDF file (9Mb)
PS file (7Mb)
Next:
1. Overview of MITgcm
Up:
manual
Previous:
manual
Contents
1. Overview of MITgcm
1.1 Introduction
1.2 Illustrations of the model in action
1.2.1 Global atmosphere: `Held-Suarez' benchmark
1.2.2 Ocean gyres
1.2.3 Global ocean circulation
1.2.4 Convection and mixing over topography
1.2.5 Boundary forced internal waves
1.2.6 Parameter sensitivity using the adjoint of MITgcm
1.2.7 Global state estimation of the ocean
1.2.8 Ocean biogeochemical cycles
1.2.9 Simulations of laboratory experiments
1.3 Continuous equations in `r' coordinates
1.3.1 Kinematic Boundary conditions
1.3.2 Atmosphere
1.3.3 Ocean
1.3.4 Hydrostatic, Quasi-hydrostatic, Quasi-nonhydrostatic and Non-hydrostatic forms
1.3.5 Solution strategy
1.3.6 Finding the pressure field
1.3.7 Forcing/dissipation
1.3.8 Vector invariant form
1.3.9 Adjoint
1.4 Appendix ATMOSPHERE
1.4.1 Hydrostatic Primitive Equations for the Atmosphere in pressure coordinates
1.5 Appendix OCEAN
1.5.1 Equations of motion for the ocean
1.6 Appendix:OPERATORS
1.6.1 Coordinate systems
2. Discretization and Algorithm
2.1 Time-stepping
2.2 Pressure method with rigid-lid
2.3 Pressure method with implicit linear free-surface
2.4 Explicit time-stepping: Adams-Bashforth
2.5 Implicit time-stepping: backward method
2.6 Synchronous time-stepping: variables co-located in time
2.7 Staggered baroclinic time-stepping
2.8 Non-hydrostatic formulation
2.9 Variants on the Free Surface
2.9.1 Crank-Nickelson barotropic time stepping
2.9.2 Non-linear free-surface
2.10 Spatial discretization of the dynamical equations
2.10.1 Notation
2.10.2 The finite volume method: finite volumes versus finite difference
2.10.3 C grid staggering of variables
2.10.4 Grid initialization and data
2.10.5 Horizontal grid
2.10.6 Vertical grid
2.10.7 Topography: partially filled cells
2.11 Continuity and horizontal pressure gradient terms
2.12 Hydrostatic balance
2.13 Flux-form momentum equations
2.13.1 Advection of momentum
2.13.2 Coriolis terms
2.13.3 Curvature metric terms
2.13.4 Non-hydrostatic metric terms
2.13.5 Lateral dissipation
2.13.6 Vertical dissipation
2.13.7 Derivation of discrete energy conservation
2.14 Vector invariant momentum equations
2.14.1 Relative vorticity
2.14.2 Kinetic energy
2.14.3 Coriolis terms
2.14.4 Shear terms
2.14.5 Gradient of Bernoulli function
2.14.6 Horizontal dissipation
2.14.7 Horizontal dissipation
2.14.8 Vertical dissipation
2.15 Tracer equations
2.15.1 Time-stepping of tracers: ABII
2.16 Linear advection schemes
2.16.1 Centered second order advection-diffusion
2.16.2 Third order upwind bias advection
2.16.3 Centered fourth order advection
2.16.4 First order upwind advection
2.17 Non-linear advection schemes
2.17.1 Second order flux limiters
2.17.2 Third order direct space time
2.17.3 Third order direct space time with flux limiting
2.17.4 Multi-dimensional advection
2.18 Comparison of advection schemes
2.19 Shapiro Filter
3. Getting started with MITgcm
3.1 Where to find information
3.2 Obtaining the code
3.2.1 Method 1 - Checkout from CVS
3.2.2 Method 2 - Tar file download
3.3 Model and directory structure
3.4 Example experiments
3.4.1 Full list of model examples
3.4.2 Directory structure of model examples
3.5 Building the code
3.6 Running the model in prognostic mode
3.6.1 Output files
3.6.2 Looking at the output
3.7 Tutorials
3.8 Barotropic Ocean Gyre In Cartesian Coordinates
3.8.1 Equations Solved
3.8.2 Discrete Numerical Configuration
3.8.3 Code Configuration
3.9 Four Layer Baroclinic Ocean Gyre In Spherical Coordinates
3.9.1 Overview
3.9.2 Equations solved
3.9.3 Discrete Numerical Configuration
3.9.4 Code Configuration
3.9.5 Running The Example
3.10 Global Ocean Simulation at 4 Resolution
3.10.1 Overview
3.10.2 Discrete Numerical Configuration
3.10.3 Experiment Configuration
3.11 Global Ocean Simulation at 4 Resolution in Pressure Coordinates
3.11.1 Overview
3.11.2 Discrete Numerical Configuration
3.11.3 Experiment Configuration
3.12 Held-Suarez forcing atmospheric simulation on a latitude-longitude grid 2.8 resolution and on a cube-sphere grid with 32 square cube faces.
3.12.1 Overview
3.12.2 Discrete Numerical Configuration
3.12.3 Experiment Configuration
3.13 Surface Driven Convection
3.13.1 Overview
3.13.2 Equations solved
3.13.3 Discrete numerical configuration
3.13.4 Numerical stability criteria and other considerations
3.13.5 Experiment configuration
3.13.6 Running the example
3.14 Gravity Plume On a Continental Slope
3.14.1 Configuration
3.14.2 Binary input data
3.14.3 Code configuration
3.14.4 Model parameters
3.14.5 Build and run the model
3.15 Centennial Time Scale Tracer Injection
3.15.1 Introduction
3.15.2 Overview
3.15.3 Discrete Numerical Configuration
3.15.4 Code Configuration
3.16 Doing it yourself: customizing the code
3.16.1 Building/compiling the code elsewhere
3.16.2 Using genmake2
3.16.3 Building with MPI
3.16.4 Configuration and setup
3.16.5 Computational domain, geometry and time-discretization
3.16.6 Equation of state
3.16.7 Momentum equations
3.16.8 Tracer equations
3.16.9 Simulation controls
3.17 Testing
3.17.1 Using testreport
3.17.2 Automated testing
4. Software Architecture
4.1 Overall architectural goals
4.2 WRAPPER
4.2.1 Target hardware
4.2.2 Supporting hardware neutrality
4.2.3 WRAPPER machine model
4.2.4 Machine model parallelism
4.2.5 Communication mechanisms
4.2.6 Shared memory communication
4.2.7 Distributed memory communication
4.2.8 Communication primitives
4.2.9 Memory architecture
4.2.10 Summary
4.3 Using the WRAPPER
4.3.1 Specifying a domain decomposition
4.3.2 Starting the code
4.3.3 Controlling communication
4.4 MITgcm execution under WRAPPER
4.4.1 Annotated call tree for MITgcm and WRAPPER
4.4.2 Measuring and Characterizing Performance
4.4.3 Estimating Resource Requirements
5. Automatic Differentiation
5.1 Some basic algebra
5.1.1 Forward or direct sensitivity
5.1.2 Reverse or adjoint sensitivity
5.1.3 Storing vs. recomputation in reverse mode
5.2 TLM and ADM generation in general
5.2.1 General setup
5.2.2 Building the AD code
5.2.3 The AD build process in detail
5.2.4 The cost function (dependent variable)
5.2.5 The control variables (independent variables)
5.3 Sensitivity of Air-Sea Exchange to Tracer Injection Site
5.3.1 Overview of the experiment
5.3.2 Code configuration
5.3.3 Compiling the model and its adjoint
5.4 The gradient check package
5.4.1 Code description
5.4.2 Code configuration
5.5 Adjoint dump & restart - divided adjoint (DIVA)
5.5.1 Introduction
5.5.2 Recipe 1: single processor
5.5.3 Recipe 2: multi processor (MPI)
6. Physical Parameterization and Packages
6.1 Using MITgcm Packages
6.1.1 Package Inclusion/Exclusion
6.1.2 Package Activation
6.2 Package Coding Standards
6.2.1 Packages are Not Libraries
6.3 Gent/McWiliams/Redi SGS Eddy parameterization
6.3.1 Redi scheme: Isopycnal diffusion
6.3.2 GM parameterization
6.3.3 Griffies Skew Flux
6.3.4 Variable
6.3.5 Tapering and stability
6.3.6 Tapering: Danabasoglu and McWilliams, J. Clim. 1995
6.3.7 Tapering: Large, Danabasoglu and Doney, JPO 1997
6.3.8 Package Reference
6.4 DIC Package
6.4.1 Introduction
6.4.2 Key subroutines and parameters
6.4.3 Do's and Don'ts
6.4.4 Reference Material
6.5 Ocean vertical mixing - the nonlocal K-profile parameterization scheme KPP
6.6 Thermodynamic Sea Ice Package: ``thsice''
6.7 Sea Ice Package: ``seaice''
6.8 Bulk Formula Package
6.9 Generic Advection/Diffusion
6.9.1 Introduction
6.9.2 Key subroutines, parameters and files
6.10 Atmospheric Intermediate Physics: AIM
6.10.1 Key subroutines, parameters and files
6.11 Land package
6.12 Coupling interface for Atmospheric Intermediate code
6.12.1 Key subroutines, parameters and files
6.13 Coupler for mapping between AIM and ocean
6.13.1 Key subroutines, parameters and files
6.14 Toolkit for building couplers
6.14.1 Key subroutines, parameters and files
6.15 NetCDF I/O Integration: MNC
6.15.1 Using MNC
6.15.2 MNC Internals
6.16 MDSIO
6.17 Simulation state monitoring toolkit
6.17.1 Key subroutines, parameters and files
6.18 exch2: Extended Cubed Sphere Topology
6.18.1 Introduction
6.18.2 Invoking exch2
6.18.3 Generating Topology Files for exch2
6.18.4 exch2, SIZE.h, and Multiprocessing
6.18.5 Key Variables
6.18.6 Key Routines
6.19 RW Basic binary I/O utilities
6.19.1 Introduction
6.20 FFT Filtering Code
6.20.1 Key subroutines, parameters and files
6.21 GCHEM Package
6.21.1 Introduction
6.21.2 Key subroutines and parameters
6.21.3 Do's and Don'ts
6.21.4 Reference Material
7. Diagnostics and tools
7.1 Utilities supplied with the model
7.1.1 utils/scripts
7.1.2 utils/matlab
7.2 Pre-processing software
8. Interface with ECCO
8.1 The ECCO state estimation cost function DRAFT!!!
8.1.1 Sea surface height from TOPEX/Poseidon and ERS-1/2 altimetry
8.1.2 Hydrographic constraints
8.2 The external forcing package exf
8.2.1 Summary
8.3 The calendar package cal
8.3.1 Basic assumptions for the calendar tool
8.3.2 Format of calendar dates
8.3.3 Calendar dates and time intervals
8.3.4 Using the calendar together with MITgcm
8.3.5 The individual calendars
8.3.6 Short routine description
8.4 The line search optimisation algorithm
8.4.1 General features
8.4.2 The online vs. offline version
8.4.3 Number of iterations vs. number of simulations
9. Model Uses
Bibliography
mitgcm-support@dev.mitgcm.org
Copyright © 2002 Massachusetts Institute of Technology