| 1 |
jmc |
1.50 |
% $Header: /u/gcmpack/manual/s_phys_pkgs/text/top_section.tex,v 1.49 2013/11/26 20:35:57 dgoldberg Exp $ |
| 2 |
adcroft |
1.2 |
% $Name: $ |
| 3 |
adcroft |
1.1 |
|
| 4 |
molod |
1.33 |
\chapter{Physical Parameterizations - Packages I} |
| 5 |
edhill |
1.37 |
\label{chap:packagesI} |
| 6 |
|
|
|
| 7 |
edhill |
1.30 |
\begin{rawhtml} |
| 8 |
|
|
<!-- CMIREDIR:packages: --> |
| 9 |
|
|
\end{rawhtml} |
| 10 |
cnh |
1.4 |
|
| 11 |
jmc |
1.50 |
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 |
| 13 |
jmc |
1.48 |
from case studies in section \ref{sec:modelExamples}, configuring |
| 14 |
cnh |
1.34 |
a brand new experiment or making major changes to an experimental configuration |
| 15 |
|
|
requires some knowledge of the {\it packages} |
| 16 |
|
|
that make up the full MITgcm code. Packages are used in MITgcm to |
| 17 |
jmc |
1.50 |
help organize and layer various code building blocks that are assembled |
| 18 |
cnh |
1.34 |
and selected to perform a specific experiment. Each of the specific experiments |
| 19 |
jmc |
1.48 |
described in section \ref{sec:modelExamples} uses a particular combination |
| 20 |
cnh |
1.34 |
of packages. |
| 21 |
|
|
Figure \ref{fig:package_organigramme} shows the full set of packages that |
| 22 |
jmc |
1.50 |
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 |
| 24 |
cnh |
1.34 |
generally specialized to specific simulation types. In this layer there are |
| 25 |
|
|
packages that deal with biogeochemical processes, ocean interior |
| 26 |
jmc |
1.50 |
and boundary layer processes, atmospheric processes, sea-ice, coupled |
| 27 |
cnh |
1.34 |
simulations and state estimation. |
| 28 |
|
|
Below this layer are a set of general purpose |
| 29 |
|
|
numerical and computational packages. The general purpose numerical packages |
| 30 |
|
|
provide code for kernel numerical alogorithms |
| 31 |
|
|
that apply to |
| 32 |
jmc |
1.50 |
many different simulation types. Similarly, the general purpose computational |
| 33 |
cnh |
1.34 |
packages implement non-numerical alogorithms that provide parallelism, |
| 34 |
|
|
I/O and time-keeping functions that are used in many different scenarios. |
| 35 |
|
|
|
| 36 |
|
|
\begin{figure} |
| 37 |
edhill |
1.38 |
%%\begin{minipage}{12cm} |
| 38 |
|
|
%%\marginsize{0cm}{0cm}{0cm}{0cm} |
| 39 |
cnh |
1.34 |
%% \scalefig{0.6} |
| 40 |
jmc |
1.47 |
%% \epsfbox{s_phys_pkgs/figs/organigramme_mitgcm_pkg.eps} |
| 41 |
|
|
%%\epsfig{file=s_phys_pkgs/figs/organigramme_mitgcm_pkg.eps, angle=-90, scale=0.85, width=17cm} |
| 42 |
edhill |
1.38 |
%%\end{minipage} |
| 43 |
jmc |
1.47 |
\resizebox{5.5in}{!}{\includegraphics{s_phys_pkgs/figs/organigramme_mitgcm_pkg2.eps}} |
| 44 |
jmc |
1.48 |
\\ |
| 45 |
jmc |
1.50 |
\caption{ Hierarchy of code layers that are assembled to make up an MITgcm |
| 46 |
cnh |
1.34 |
simulation. Conceptually (and in terms of code organization) MITgcm consists |
| 47 |
jmc |
1.50 |
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 |
| 49 |
cnh |
1.34 |
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. |
| 51 |
|
|
This layer is not organized into packages. All code above the foundation layer |
| 52 |
jmc |
1.50 |
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 |
| 54 |
cnh |
1.34 |
functionality that make up the full MITgcm software distribution. |
| 55 |
jmc |
1.50 |
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 |
| 57 |
|
|
general purpose infrastructure software that consist of computational and |
| 58 |
|
|
numerical packages. These general purpose packages can be applied to both |
| 59 |
|
|
online and offline simulations and are used in many different physical |
| 60 |
cnh |
1.34 |
simulation types. Above these layers are more specialized packages. } |
| 61 |
jmc |
1.48 |
\label{fig:package_organigramme} |
| 62 |
cnh |
1.34 |
\end{figure} |
| 63 |
|
|
|
| 64 |
jmc |
1.50 |
The following sections describe the packages shown in |
| 65 |
jmc |
1.48 |
figure \ref{fig:package_organigramme}. Section \ref{sec:pkg:using} |
| 66 |
cnh |
1.35 |
describes the general procedure for using any package in MITgcm. |
| 67 |
jmc |
1.50 |
Following that sections \ref{sec:pkg:gad}-\ref{sec:pkg:monitor} |
| 68 |
cnh |
1.35 |
layout the algorithms implemented in specific packages |
| 69 |
jmc |
1.50 |
and describe how to use the individual packages. A brief synopsis of the |
| 70 |
cnh |
1.35 |
function of each package is given in table \ref{tab:package_summary_tab}. |
| 71 |
cnh |
1.34 |
Organizationally package code is assigned a |
| 72 |
|
|
separate subdirectory in the MITgcm code distribution |
| 73 |
|
|
(within the source code directory \texttt{pkg}). |
| 74 |
|
|
The name of this subdirectory is used as the package name in |
| 75 |
|
|
table \ref{tab:package_summary_tab}. |
| 76 |
edhill |
1.25 |
|
| 77 |
|
|
%% In this chapter the schemes for parameterizing processes that are not |
| 78 |
|
|
%% represented explicitly in MITgcm are described. Some of these |
| 79 |
|
|
%% processes are sub-grid scale (SGS) phenomena, other processes, such as |
| 80 |
|
|
%% open-boundaries, are external to the simulation. |
| 81 |
|
|
|
| 82 |
jmc |
1.48 |
\begin{table} |
| 83 |
|
|
\caption{~} |
| 84 |
|
|
\label{tab:package_summary_tab}. |
| 85 |
|
|
\end{table} |
| 86 |
|
|
|
| 87 |
molod |
1.33 |
% Overview |
| 88 |
edhill |
1.25 |
\newpage |
| 89 |
jmc |
1.47 |
\input{s_phys_pkgs/text/packages.tex} |
| 90 |
cnh |
1.4 |
|
| 91 |
molod |
1.33 |
% Packages Related to Hydrodynamical Kernel |
| 92 |
edhill |
1.19 |
\newpage |
| 93 |
molod |
1.33 |
\section{Packages Related to Hydrodynamical Kernel} |
| 94 |
jmc |
1.47 |
\input{s_phys_pkgs/text/generic_advdiff.tex} |
| 95 |
edhill |
1.27 |
|
| 96 |
|
|
\newpage |
| 97 |
jmc |
1.47 |
\input{s_phys_pkgs/text/shap_filt.tex} |
| 98 |
jmc |
1.45 |
|
| 99 |
|
|
\newpage |
| 100 |
jmc |
1.47 |
\input{s_phys_pkgs/text/zonal_filt.tex} |
| 101 |
edhill |
1.19 |
|
| 102 |
|
|
\newpage |
| 103 |
jmc |
1.47 |
\input{s_phys_pkgs/text/exch2.tex} |
| 104 |
edhill |
1.19 |
|
| 105 |
|
|
\newpage |
| 106 |
jmc |
1.47 |
\input{s_phys_pkgs/text/gridalt.tex} |
| 107 |
molod |
1.33 |
|
| 108 |
|
|
% Some Mention of Packages that are part of the main model document |
| 109 |
jmc |
1.48 |
\newpage |
| 110 |
stephd |
1.42 |
\section{General purpose numerical infrastructure packages} |
| 111 |
jmc |
1.47 |
\input{s_phys_pkgs/text/obcs.tex} |
| 112 |
stephd |
1.42 |
|
| 113 |
|
|
\newpage |
| 114 |
jmc |
1.47 |
\input{s_phys_pkgs/text/rbcs.tex} |
| 115 |
stephd |
1.43 |
|
| 116 |
|
|
\newpage |
| 117 |
jmc |
1.47 |
\input{s_phys_pkgs/text/ptracers.tex} |
| 118 |
stephd |
1.42 |
|
| 119 |
molod |
1.33 |
% Ocean Packages |
| 120 |
edhill |
1.19 |
\newpage |
| 121 |
molod |
1.33 |
\section{Ocean Packages} |
| 122 |
jmc |
1.47 |
\input{s_phys_pkgs/text/gmredi.tex} |
| 123 |
edhill |
1.29 |
|
| 124 |
|
|
\newpage |
| 125 |
jmc |
1.47 |
\input{s_phys_pkgs/text/kpp.tex} |
| 126 |
edhill |
1.24 |
|
| 127 |
|
|
\newpage |
| 128 |
jmc |
1.47 |
\input{s_phys_pkgs/text/ggl90.tex} |
| 129 |
jmc |
1.45 |
|
| 130 |
|
|
\newpage |
| 131 |
jmc |
1.47 |
\input{s_phys_pkgs/text/opps.tex} |
| 132 |
jmc |
1.45 |
|
| 133 |
|
|
\newpage |
| 134 |
jmc |
1.50 |
\input{s_phys_pkgs/text/kl10.tex} |
| 135 |
|
|
|
| 136 |
|
|
\newpage |
| 137 |
jmc |
1.47 |
\input{s_phys_pkgs/text/bulk_force.tex} |
| 138 |
heimbach |
1.32 |
|
| 139 |
|
|
\newpage |
| 140 |
jmc |
1.47 |
\input{s_phys_pkgs/text/exf.tex} |
| 141 |
heimbach |
1.32 |
|
| 142 |
|
|
\newpage |
| 143 |
jmc |
1.47 |
\input{s_phys_pkgs/text/cal.tex} |
| 144 |
jmc |
1.20 |
|
| 145 |
jmc |
1.48 |
\newpage |
| 146 |
molod |
1.33 |
\section{Atmosphere Packages} |
| 147 |
jmc |
1.47 |
\input{s_phys_pkgs/text/aim.tex} |
| 148 |
edhill |
1.19 |
|
| 149 |
|
|
\newpage |
| 150 |
jmc |
1.47 |
\input{s_phys_pkgs/text/land.tex} |
| 151 |
edhill |
1.19 |
|
| 152 |
molod |
1.39 |
\newpage |
| 153 |
jmc |
1.47 |
\input{s_phys_pkgs/text/fizhi.tex} |
| 154 |
edhill |
1.19 |
|
| 155 |
jmc |
1.48 |
\newpage |
| 156 |
molod |
1.33 |
\section{Sea Ice Packages} |
| 157 |
jmc |
1.47 |
\input{s_phys_pkgs/text/thsice.tex} |
| 158 |
edhill |
1.19 |
|
| 159 |
|
|
\newpage |
| 160 |
jmc |
1.47 |
\input{s_phys_pkgs/text/seaice.tex} |
| 161 |
edhill |
1.19 |
|
| 162 |
mlosch |
1.44 |
\newpage |
| 163 |
jmc |
1.47 |
\input{s_phys_pkgs/text/shelfice.tex} |
| 164 |
mlosch |
1.44 |
|
| 165 |
jmc |
1.48 |
\newpage |
| 166 |
dgoldberg |
1.49 |
\input{s_phys_pkgs/text/streamice.tex} |
| 167 |
|
|
|
| 168 |
|
|
\newpage |
| 169 |
molod |
1.33 |
\section{Packages Related to Coupled Model} |
| 170 |
jmc |
1.47 |
\input{s_phys_pkgs/text/aim_compon_interf.tex} |
| 171 |
edhill |
1.23 |
|
| 172 |
|
|
\newpage |
| 173 |
jmc |
1.47 |
\input{s_phys_pkgs/text/atm_ocn_coupler.tex} |
| 174 |
edhill |
1.19 |
|
| 175 |
|
|
\newpage |
| 176 |
jmc |
1.47 |
\input{s_phys_pkgs/text/component_communications.tex} |
| 177 |
edhill |
1.19 |
|
| 178 |
jmc |
1.48 |
\newpage |
| 179 |
molod |
1.33 |
\section{Biogeochemistry Packages} |
| 180 |
jmc |
1.47 |
\input{s_phys_pkgs/text/gchem.tex} |
| 181 |
cnh |
1.15 |
|
| 182 |
molod |
1.31 |
\newpage |
| 183 |
jmc |
1.47 |
\input{s_phys_pkgs/text/dic.tex} |