Home Contact Us Site Map  
 
       
    next up previous contents
Next: 6.1 Using MITgcm Packages Up: MITGCM USER MANUAL Previous: 5.5.3 Building MITgcm adjoint   Contents


6. Physical Parameterizations - Packages I

In this chapter and in the following chapter, the MITgcm ``packages'' are described. While you can carry out many experiments with MITgcm by starting from case studies in section 3.8, configuring a brand new experiment or making major changes to an experimental configuration requires some knowledge of the packages that make up the full MITgcm code. Packages are used in MITgcm to help organize and layer various code building blocks that are assembled and selected to perform a specific experiment. Each of the specific experiments described in section 3.8 uses a particular combination of packages. Figure 6.1 shows the full set of packages that are available. As shown in the figure packages are classified into different groupings that layer on top of each other. The top layer packages are generally specialized to specific simulation types. In this layer there are packages that deal with biogeochemical processes, ocean interior and boundary layer processes, atmospheric processes, sea-ice, coupled simulations and state estimation. Below this layer are a set of general purpose numerical and computational packages. The general purpose numerical packages provide code for kernel numerical alogorithms that apply to many different simulation types. Similarly, the general purpose computational packages implement non-numerical alogorithms that provide parallelism, I/O and time-keeping functions that are used in many different scenarios.

Figure 6.1: Hierarchy of code layers that are assembled to make up an MITgcm simulation. Conceptually (and in terms of code organization) MITgcm consists of several layers. At the base is a layer of core software that provides a basic numerical and computational foundation for MITgcm simulations. This layer is shown marked Foundation Code at the bottom of the figure and corresponds to code in the italicised subdirectories on the figure. This layer is not organized into packages. All code above the foundation layer is organized as packages. Much of the code in MITgcm is contained in packages which serve as a useful way of organizing and layering the different levels of functionality that make up the full MITgcm software distribution. The figure shows the different packages in MITgcm as boxes containing bold face upper case names. Directly above the foundation layer are two layers of general purpose infrastructure software that consist of computational and numerical packages. These general purpose packages can be applied to both online and offline simulations and are used in many different physical simulation types. Above these layers are more specialized packages.
\resizebox{5.5in}{!}{\includegraphics{s_phys_pkgs/figs/mitgcm_package_organisation.eps}}

The following sections describe the packages shown in figure 6.1. Section 6.1 describes the general procedure for using any package in MITgcm. Following that sections 6.2.1-7.4 layout the algorithms implemented in specific packages and describe how to use the individual packages. A brief synopsis of the function of each package is given in table 6.1. Organizationally package code is assigned a separate subdirectory in the MITgcm code distribution (within the source code directory pkg). The name of this subdirectory is used as the package name in table 6.1.


Table 6.1:  
\begin{table}
.
\end{table}




Subsections
next up previous contents
Next: 6.1 Using MITgcm Packages Up: MITGCM USER MANUAL Previous: 5.5.3 Building MITgcm adjoint   Contents
mitgcm-support@mitgcm.org
Copyright 2006 Massachusetts Institute of Technology Last update 2018-01-23