Warning, /doc/phys_pkgs/phys_pkgs.rst is written in an unsupported language. File is not indexed.
view on githubraw file Latest commit faa67d17 on 2022-01-31 17:00:48 UTC
8679f9097b Jeff*0001 .. _packagesI:
0002
0003 Packages I - Physical Parameterizations
0004 ***************************************
0005
0006
0007 In this chapter and in the following chapter, the MITgcm 'packages' are
0008 described. While you can carry out many experiments with MITgcm by starting
bf89a37abc Phob*0009 from case studies in section :numref:`chap_modelExamples`, configuring
8679f9097b Jeff*0010 a brand new experiment or making major changes to an experimental configuration
0011 requires some knowledge of the *packages*
0012 that make up the full MITgcm code. Packages are used in MITgcm to
0013 help organize and layer various code building blocks that are assembled
0014 and selected to perform a specific experiment. Each of the specific experiments
bf89a37abc Phob*0015 described in section :numref:`chap_modelExamples` uses a particular combination
8679f9097b Jeff*0016 of packages.
0017
0018 :numref:`fig_package_organigramme` shows the full set of packages that
0019 are available. As shown in the figure packages are classified into different
0020 groupings that layer on top of each other. The top layer packages are
0021 generally specialized to specific simulation types. In this layer there are
0022 packages that deal with biogeochemical processes, ocean interior
0023 and boundary layer processes, atmospheric processes, sea-ice, coupled
0024 simulations and state estimation.
0025 Below this layer are a set of general purpose
0026 numerical and computational packages. The general purpose numerical packages
0027 provide code for kernel numerical algorithms
0028 that apply to
0029 many different simulation types. Similarly, the general purpose computational
0030 packages implement non-numerical algorithms that provide parallelism,
0031 I/O and time-keeping functions that are used in many different scenarios.
0032
0033 .. figure:: figs/mitgcm_package_organisation.*
0034 :width: 70%
0035 :align: center
0036 :alt: One model for atmospheric and oceanic simulations
0037 :name: fig_package_organigramme
0038
0039 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.
0040
0041
0042 The following sections describe the packages shown in
bf89a37abc Phob*0043 :numref:`fig_package_organigramme`. Section :numref:`using_packages`
8679f9097b Jeff*0044 describes the general procedure for using any package in MITgcm.
bf89a37abc Phob*0045 Sections :numref:`packagesI` to :numref:`chap_state_estimation`
8679f9097b Jeff*0046 layout the algorithms implemented in specific packages
0047 and describe how to use the individual packages. A brief synopsis of the
bf89a37abc Phob*0048 function of each package is given in :numref:`fig_package_organigramme`.
8679f9097b Jeff*0049 Organizationally package code is assigned a
0050 separate subdirectory in the MITgcm code distribution
bf89a37abc Phob*0051 (within the source code directory :filelink:`pkg`).
8679f9097b Jeff*0052 The name of this subdirectory is used as the package name in
bf89a37abc Phob*0053 :numref:`fig_package_organigramme`.
8679f9097b Jeff*0054
0055
0056 Overview
0057 ========
0058
0059 .. toctree::
0060 :maxdepth: 3
0061
0062 packages_overview.rst
0063
0064
0065 Packages Related to Hydrodynamical Kernel
0066 =========================================
0067
0068 .. toctree::
0069 :maxdepth: 3
0070
0071 generic_advdiff.rst
dcaaa42497 Jeff*0072 mom_packages.rst
8679f9097b Jeff*0073 shap_filt.rst
0074 zonal_filt.rst
0075 exch2.rst
0076 gridalt.rst
0077
0078 General purpose numerical infrastructure packages
0079 =================================================
0080
0081 .. toctree::
0082 :maxdepth: 3
0083
0084 obcs.rst
0085 rbcs.rst
0086 ptracers.rst
0087
0088 Ocean Packages
0089 ==============
0090
0091 .. toctree::
0092 :maxdepth: 3
0093
0094 gmredi.rst
0095 kpp.rst
0096 ggl90.rst
0097 opps.rst
0098 kl10.rst
0099 bulk_force.rst
0100 exf.rst
0101 cal.rst
0102
0103 Atmosphere Packages
0104 ===================
0105
0106 .. toctree::
0107 :maxdepth: 3
0108
0109 aim.rst
0110 land.rst
0111 fizhi.rst
0112
a18d498838 Jeff*0113 Ice and Sea Ice Packages
0114 ========================
8679f9097b Jeff*0115
0116 .. toctree::
0117 :maxdepth: 3
0118
0119 thsice.rst
0120 seaice.rst
b3f1c54cf2 Jeff*0121 shelfice.rst
838416a165 Jeff*0122 remesh.rst
04bc052df0 dngo*0123 streamice.rst
0124
9ce7d74115 Jeff*0125 Biogeochemistry Packages
0126 ========================
0127
0128 .. toctree::
0129 :maxdepth: 3
0130
0131 gchem.rst
0132 dic.rst
1d947889e4 Oliv*0133 darwin.rst
0134 radtrans.rst
faa67d1773 Oliv*0135 sun.rst