8 |
<!-- CMIREDIR:packages: --> |
<!-- CMIREDIR:packages: --> |
9 |
\end{rawhtml} |
\end{rawhtml} |
10 |
|
|
11 |
In this chapter and in the following chapter, the MITgcm ``packages'' are |
In this chapter and in the following chapter, the MITgcm ``packages'' are |
12 |
described. While you can carry out many experiments with MITgcm by starting |
described. While you can carry out many experiments with MITgcm by starting |
13 |
from case studies in section \ref{sec:modelExamples}, configuring |
from case studies in section \ref{sec:modelExamples}, configuring |
14 |
a brand new experiment or making major changes to an experimental configuration |
a brand new experiment or making major changes to an experimental configuration |
15 |
requires some knowledge of the {\it packages} |
requires some knowledge of the {\it packages} |
16 |
that make up the full MITgcm code. Packages are used in MITgcm to |
that make up the full MITgcm code. Packages are used in MITgcm to |
17 |
help organize and layer various code building blocks that are assembled |
help organize and layer various code building blocks that are assembled |
18 |
and selected to perform a specific experiment. Each of the specific experiments |
and selected to perform a specific experiment. Each of the specific experiments |
19 |
described in section \ref{sec:modelExamples} uses a particular combination |
described in section \ref{sec:modelExamples} uses a particular combination |
20 |
of packages. |
of packages. |
21 |
Figure \ref{fig:package_organigramme} shows the full set of packages that |
Figure \ref{fig:package_organigramme} shows the full set of packages that |
22 |
are available. As shown in the figure packages are classified into different |
are available. As shown in the figure packages are classified into different |
23 |
groupings that layer on top of each other. The top layer packages are |
groupings that layer on top of each other. The top layer packages are |
24 |
generally specialized to specific simulation types. In this layer there are |
generally specialized to specific simulation types. In this layer there are |
25 |
packages that deal with biogeochemical processes, ocean interior |
packages that deal with biogeochemical processes, ocean interior |
26 |
and boundary layer processes, atmospheric processes, sea-ice, coupled |
and boundary layer processes, atmospheric processes, sea-ice, coupled |
27 |
simulations and state estimation. |
simulations and state estimation. |
28 |
Below this layer are a set of general purpose |
Below this layer are a set of general purpose |
29 |
numerical and computational packages. The general purpose numerical packages |
numerical and computational packages. The general purpose numerical packages |
30 |
provide code for kernel numerical alogorithms |
provide code for kernel numerical alogorithms |
31 |
that apply to |
that apply to |
32 |
many different simulation types. Similarly, the general purpose computational |
many different simulation types. Similarly, the general purpose computational |
33 |
packages implement non-numerical alogorithms that provide parallelism, |
packages implement non-numerical alogorithms that provide parallelism, |
34 |
I/O and time-keeping functions that are used in many different scenarios. |
I/O and time-keeping functions that are used in many different scenarios. |
35 |
|
|
|
|
|
36 |
\begin{figure} |
\begin{figure} |
37 |
%%\begin{minipage}{12cm} |
%%\begin{minipage}{12cm} |
38 |
%%\marginsize{0cm}{0cm}{0cm}{0cm} |
%%\marginsize{0cm}{0cm}{0cm}{0cm} |
42 |
%%\end{minipage} |
%%\end{minipage} |
43 |
\resizebox{5.5in}{!}{\includegraphics{s_phys_pkgs/figs/organigramme_mitgcm_pkg2.eps}} |
\resizebox{5.5in}{!}{\includegraphics{s_phys_pkgs/figs/organigramme_mitgcm_pkg2.eps}} |
44 |
\\ |
\\ |
45 |
\caption{ Hierarchy of code layers that are assembled to make up an MITgcm |
\caption{ Hierarchy of code layers that are assembled to make up an MITgcm |
46 |
simulation. Conceptually (and in terms of code organization) MITgcm consists |
simulation. Conceptually (and in terms of code organization) MITgcm consists |
47 |
of several layers. At the base is a layer of core software that provides a |
of several layers. At the base is a layer of core software that provides a |
48 |
basic numerical and computational foundation for MITgcm simulations. This |
basic numerical and computational foundation for MITgcm simulations. This |
49 |
layer is shown marked {\bf Foundation Code} at the bottom of the figure |
layer is shown marked {\bf Foundation Code} at the bottom of the figure |
50 |
and corresponds to code in the italicised subdirectories on the figure. |
and corresponds to code in the italicised subdirectories on the figure. |
51 |
This layer is not organized into packages. All code above the foundation layer |
This layer is not organized into packages. All code above the foundation layer |
52 |
is organized as packages. Much of the code in MITgcm is contained in packages |
is organized as packages. Much of the code in MITgcm is contained in packages |
53 |
which serve as a useful way of organizing and layering the different levels of |
which serve as a useful way of organizing and layering the different levels of |
54 |
functionality that make up the full MITgcm software distribution. |
functionality that make up the full MITgcm software distribution. |
55 |
The figure shows the different packages in MITgcm as boxes containing bold |
The figure shows the different packages in MITgcm as boxes containing bold |
56 |
face upper case names. Directly above the foundation layer are two layers of |
face upper case names. Directly above the foundation layer are two layers of |
57 |
general purpose infrastructure software that consist of computational and |
general purpose infrastructure software that consist of computational and |
58 |
numerical packages. These general purpose packages can be applied to both |
numerical packages. These general purpose packages can be applied to both |
59 |
online and offline simulations and are used in many different physical |
online and offline simulations and are used in many different physical |
60 |
simulation types. Above these layers are more specialized packages. } |
simulation types. Above these layers are more specialized packages. } |
61 |
\label{fig:package_organigramme} |
\label{fig:package_organigramme} |
62 |
\end{figure} |
\end{figure} |
63 |
|
|
64 |
The following sections describe the packages shown in |
The following sections describe the packages shown in |
65 |
figure \ref{fig:package_organigramme}. Section \ref{sec:pkg:using} |
figure \ref{fig:package_organigramme}. Section \ref{sec:pkg:using} |
66 |
describes the general procedure for using any package in MITgcm. |
describes the general procedure for using any package in MITgcm. |
67 |
Following that sections \ref{sec:pkg:gad}-\ref{sec:pkg:monitor} |
Following that sections \ref{sec:pkg:gad}-\ref{sec:pkg:monitor} |
68 |
layout the algorithms implemented in specific packages |
layout the algorithms implemented in specific packages |
69 |
and describe how to use the individual packages. A brief synopsis of the |
and describe how to use the individual packages. A brief synopsis of the |
70 |
function of each package is given in table \ref{tab:package_summary_tab}. |
function of each package is given in table \ref{tab:package_summary_tab}. |
71 |
Organizationally package code is assigned a |
Organizationally package code is assigned a |
72 |
separate subdirectory in the MITgcm code distribution |
separate subdirectory in the MITgcm code distribution |
131 |
\input{s_phys_pkgs/text/opps.tex} |
\input{s_phys_pkgs/text/opps.tex} |
132 |
|
|
133 |
\newpage |
\newpage |
134 |
|
\input{s_phys_pkgs/text/kl10.tex} |
135 |
|
|
136 |
|
\newpage |
137 |
\input{s_phys_pkgs/text/bulk_force.tex} |
\input{s_phys_pkgs/text/bulk_force.tex} |
138 |
|
|
139 |
\newpage |
\newpage |