Warning, /doc/algorithm/c-grid.rst is written in an unsupported language. File is not indexed.
view on githubraw file Latest commit 4f2617d4 on 2018-02-08 20:33:46 UTC
4f2617d475 Jeff*0001 C grid staggering of variables
0002 ------------------------------
0003
0004 The basic algorithm employed for stepping forward the momentum equations
0005 is based on retaining non-divergence of the flow at all times. This is
0006 most naturally done if the components of flow are staggered in space in
0007 the form of an Arakawa C grid (Arakawa and Lamb, 1977 :cite:`arakawa:77`).
0008
0009 :numref:`cgrid3d` shows the components of flow
0010 (:math:`u`,\ :math:`v`,\ :math:`w`) staggered in space such that the
0011 zonal component falls on the interface between continuity cells in the
0012 zonal direction. Similarly for the meridional and vertical directions.
0013 The continuity cell is synonymous with tracer cells (they are one and
0014 the same).
0015
0016 .. figure:: figs/cgrid3d.*
0017 :width: 40%
0018 :align: center
0019 :alt: cgrid3d
0020 :name: cgrid3d
0021
0022 Three dimensional staggering of velocity components. This facilitates the natural discretization of the continuity and tracer equations.
0023
0024 Grid initialization and data
0025 ----------------------------
0026
0027 Initialization of grid data is controlled by subroutine :filelink:`INI_GRID <model/src/ini_grid.F>`
0028 which in calls :filelink:`INI_VERTICAL_GRID <model/src/ini_vertical_grid.F>` to initialize the vertical grid,
0029 and then either of :filelink:`INI_CARTESIAN_GRID <model/src/ini_cartesian_grid.F>`,
0030 :filelink:`INI_SPHERICAL_POLAR_GRID <model/src/ini_spherical_polar_grid.F>`
0031 or :filelink:`INI_CURVILINEAR_GRID <model/src/ini_curvilinear_grid.F>` to initialize the horizontal grid for
0032 cartesian, spherical-polar or curvilinear coordinates respectively.
0033
0034 The reciprocals of all grid quantities are pre-calculated and this is
0035 done in subroutine :filelink:`INI_MASKS_ETC <model/src/ini_masks_etc.F>` which is called later by subroutine
0036 :filelink:`INITIALISE_FIXED <model/src/initialise_fixed.F>`.
0037
0038 All grid descriptors are global arrays and stored in common blocks in
0039 :filelink:`GRID.h <model/inc/GRID.h>` and a generally declared as ``_RS``.
0040