|
|
|||
Warning, /doc/algorithm/vert-grid.rst is written in an unsupported language. File is not indexed.
view on githubraw file Latest commit 9c8516d9 on 2020-02-12 22:02:25 UTC4f2617d475 Jeff*0001 0002 Vertical grid 0003 ------------- 0004 0005 .. figure:: figs/vgrid-accur-center.* 0006 :width: 60% 0007 :align: center 0008 :alt: vgrid-accur-center 0009 :name: vgrid-accur-center 0010 9c8516d9da Jeff*0011 Two versions of the vertical grid. a) The cell centered approach where the interface depths are specified 0012 and the tracer points centered in between the interfaces. b) The interface centered approach where tracer 0013 levels are specified and the w-interfaces are centered in between. 4f2617d475 Jeff*0014** Warning **
Wide character in print at /usr/local/share/lxr/source line 1030, <$git> line 16.
0015 As for the horizontal grid, we use the suffixes “c” and “f” to indicates 0016 faces and centers. :numref:`vgrid-accur-center` (a) shows the default vertical grid 0017 used by the model. :math:`\Delta r_f` is the difference in :math:`r` 0018 (vertical coordinate) between the faces (i.e. :math:`\Delta r_f \equiv - 0019 \delta_k r` where the minus sign appears due to the convention that the 0020 surface layer has index :math:`k=1`.). 0021 0022 The vertical grid is calculated in subroutine :filelink:`INI_VERTICAL_GRID <model/src/ini_vertical_grid.F>` and** Warning **
Wide character in print at /usr/local/share/lxr/source line 1030, <$git> line 24.
0023 specified via the vector :varlink:`delR` in namelist ``PARM04``. The units of “r” 0024 are either meters or Pascals depending on the isomorphism being used 0025 which in turn is dependent only on the choice of equation of state. 0026 0027 There are alternative namelist vectors :varlink:`delZ` and :varlink:`delP` which 0028 dictate whether z- or p- coordinates are to be used but we intend to 0029 phase this out since they are redundant. 0030 0031 The reciprocals :math:`\Delta r_f^{-1}` and :math:`\Delta r_c^{-1}` are 0032 pre-calculated (also in subroutine :filelink:`INI_VERTICAL_GRID <model/src/ini_vertical_grid.F>`). All vertical 0033 grid descriptors are stored in common blocks in :filelink:`GRID.h <model/inc/GRID.h>`. 0034 0035 The above grid :numref:`vgrid-accur-center` (a) is known as the cell centered 0036 approach because the tracer points are at cell centers; the cell centers 0037 are mid-way between the cell interfaces. This discretization is selected 0038 when the thickness of the levels are provided (:varlink:`delR`, parameter file 0039 ``data``, namelist ``PARM04``) An alternative, the vertex or interface 0040 centered approach, is shown in :numref:`vgrid-accur-center` (b). Here, the interior 0041 interfaces are positioned mid-way between the tracer nodes (no longer 0042 cell centers). This approach is formally more accurate for evaluation of 0043 hydrostatic pressure and vertical advection but historically the cell 0044 centered approach has been used. An alternative form of subroutine 0045 :filelink:`INI_VERTICAL_GRID <model/src/ini_vertical_grid.F>` is used to select the interface centered approach 0046 This form requires to specify :math:`Nr+1` vertical distances :varlink:`delRc` 0047 (parameter file ``data``, namelist ``PARM04``, e.g. 0048 :filelink:`ideal\_2D\_oce/input/data <verification/ideal_2D_oce/input/data>`) corresponding to surface to 0049 center, :math:`Nr-1` center to center, and center to bottom distances. 0050 0051 .. admonition:: S/R :filelink:`INI_VERTICAL_GRID <model/src/ini_vertical_grid.F>` 0052 :class: note 0053 0054 | :math:`\Delta r_f , \Delta r_c` : :varlink:`drF`, :varlink:`drC` ( :filelink:`GRID.h <model/inc/GRID.h>` ) 0055 | :math:`\Delta r_f^{-1} , \Delta r_c^{-1}` : :varlink:`recip_drF`, :varlink:`recip_drC` ( :filelink:`GRID.h <model/inc/GRID.h>` ) 0056 9c8516d9da Jeff*0057 .. _sec_topo_partial_cells: 4f2617d475 Jeff*0058 0059 Topography: partially filled cells 0060 ---------------------------------- 0061 0062 Adcroft et al. (1997) :cite:`adcroft:97` presented two alternatives to the 0063 step-wise finite difference representation of topography. The method is 0064 known to the engineering community as *intersecting boundary method*. It 0065 involves allowing the boundary to intersect a grid of cells thereby 0066 modifying the shape of those cells intersected. We suggested allowing 0067 the topography to take on a piece-wise linear representation (shaved 0068 cells) or a simpler piecewise constant representation (partial step). 0069 Both show dramatic improvements in solution compared to the traditional 0070 full step representation, the piece-wise linear being the best. However, 0071 the storage requirements are excessive so the simpler piece-wise 0072 constant or partial-step method is all that is currently supported. 0073 0074 .. figure:: figs/vgrid-xz.* 0075 :width: 60% 0076 :align: center 0077 :alt: vgrid-xz 0078 :name: vgrid-xz 0079 0080 A schematic of the x-r plane showing the location of the non-dimensional fractions :math:`h_c` and :math:`h_w` . The physical thickness of a tracer cell is given by :math:`h_c(i,j,k) \Delta r_f(k)` and the physical thickness of the open side is given by :math:`h_w(i,j,k) \Delta r_f(k)` . 0081 0082 :numref:`vgrid-xz` shows a schematic of the x-r plane indicating how the 0083 thickness of a level is determined at tracer and u points. The physical 0084 thickness of a tracer cell is given by :math:`h_c(i,j,k) \Delta 0085 r_f(k)` and the physical thickness of the open side is given by 0086 :math:`h_w(i,j,k) \Delta r_f(k)`. Three 3-D descriptors :math:`h_c`, 0087 :math:`h_w` and :math:`h_s` are used to describe the geometry: 0088 :varlink:`hFacC`, :varlink:`hFacW` and :varlink:`hFacS` respectively. These are calculated in 0089 subroutine :filelink:`INI_MASKS_ETC <model/src/ini_masks_etc.F>` along with there reciprocals 0090 :varlink:`recip_hFacC`, :varlink:`recip_hFacW` and :varlink:`recip_hFacS`. 0091 0092 The non-dimensional fractions (or h-facs as we call them) are calculated 0093 from the model depth array and then processed to avoid tiny volumes. The 0094 rule is that if a fraction is less than :varlink:`hFacMin` then it is rounded 0095 to the nearer of :math:`0` or :varlink:`hFacMin` or if the physical thickness 0096 is less than :varlink:`hFacMinDr` then it is similarly rounded. The larger of 0097 the two methods is used when there is a conflict. By setting 0098 :varlink:`hFacMinDr` equal to or larger than the thinnest nominal layers, 0099 :math:`\min{(\Delta z_f)}`, but setting :varlink:`hFacMin` to some small 0100 fraction then the model will only lop thick layers but retain stability 0101 based on the thinnest unlopped thickness; 0102 :math:`\min{(\Delta z_f,hFacMinDr)}`. 0103 0104 .. admonition:: S/R :filelink::filelink:`INI_MASKS_ETC <model/src/ini_masks_etc.F>` 0105 :class: note 0106 0107 | :math:`h_c , h_w , h_s` : :varlink:`hFacC`, :varlink:`hFacW`, :varlink:`hFacS` ( :filelink:`GRID.h <model/inc/GRID.h>` ) 0108 | :math:`h_c^{-1} , h_w^{-1} , h_s^{-1}` : :varlink:`recip_hFacC`, :varlink:`recip_hFacW`, :varlink:`recip_hFacS` ( :filelink:`GRID.h <model/inc/GRID.h>` ) 0109 0110
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated from https://github.com/darwinproject/darwin3 by the 2.3.7-MITgcm-0.1 LXR engine. The LXR team |
|