Numerical Solution Technique

From WikiROMS
Revision as of 19:01, 22 July 2008 by Kate (talk | contribs) (sorry, the non-tex Greek letters set my teeth on edge)
Jump to navigationJump to search
Numerical Solution Technique

Horizontal Discretization

<wikitex> In the horizontal, the ROMS governing equations are discretized over a boundary-fitted, orthogonal curvilinear coordinates ($\xi$, $\eta$) grid. The general formulation of the curvilinear coordinates system allows Cartesian, polar and spherical coordinates applications. The transformation of any of these coordinates to ROMS ($\xi$, $\eta$) grid is specified in the metric terms (pm, pn).

The model state variables are staggered using an Arakawa C-grid. As illustrated below, the free-surface (zeta), density (rho), and active/passive tracers (t) are located at the center of the cell whereas the horizontal velocity (u and v) are located at the west/east and south/north edges of the cell, respectively. That is, the density is evaluated between points where the currents are evaluated.


ROMS staggered horizontal grid


In ROMS all the state arrays are dimensioned the same size to facilitate parallelization. However, the computational ranges for all the state variables are:

Grid Cell
Variable Interior Range Full Range
$\rho$-type 1:Lm(ng),1:Mm(ng) 0:L(ng),0:M(ng)
$\psi$-type 2:Lm(ng),2:Mm(ng) 1:L(ng),1:M(ng)
u-type 2:Lm(ng),1:Mm(ng) 1:L(ng),0:M(ng)
v-type 1:Lm(ng),2:Mm(ng) 0:L(ng),1:M(ng)

</wikitex>

Coastal boundaries can also be specified as a finite-discretized grid via land/sea masking arrays (rmask, umask, and vmask).

Vertical Discretization

<wikitex> The ROMS governing equations are discretized over variable topography using a stretched, terrain-following, vertical coordinate. As a result, each grid cell may have different level thickness (Hz) and volume. The model state variables are vertically staggered so that horizontal momentum (u, v), (rho), and active/passive tracers (t) are located at the center of the grid cell. The vertical velocity (omega, w) and vertical mixing variables (Akt, Akv, etc) are located at the bottom and top faces of cell. See diagram below.


Vieste-Dubrovnik Transect
ROMS staggered vertical grid


The total thickness of the water column is $\zeta(i,j)+h(i,j)$. The bathymetry (h) is usually time invariant whereas the free-surface (zeta) evolves in time. However, in sediment applications h changes with time when SED_MORPH is activated. At input and output, the bathymetry is always a positive quantity. However, the depths z_r(i,j,k) and z_w(i,j,k) are negative for all locations below the mean sea level. </wikitex>

Nesting Grids

<wikitex> ROMS has a nested design structure for the temporal coupling between a hierarchy of parent and child grids. All the state model variables are dynamically allocated and passed as arguments to the computational routines via Fortran-90 dereferenced pointer structures. All private arrays are automatic; their size is determined when the procedure is entered. This code structure facilitates computations over nested grids of different topologies. There are three types of nesting capabilities in ROMS:

  • Refinement Grids which provide increased resolution (3:1 or 5:1) in a specific region,
  • Mosaics Grids which connect several grids along their edges, and
  • Composite Grids which allow overlap regions of aligned and non-aligned grids.

</wikitex>

Refinement Grids

<wikitex>

Blue and Red Grids
Red Grid Contact Points
Blue Grid Contact Points

</wikitex>

Mosaic Grids

<wikitex>

Blue and Red Grids
Red Grid Contact Points
Blue Grid Contact Points

</wikitex>

Composite Grids

<wikitex>

Red and Blue Grids
Red Grid Contact Points
Blue Grid Contact Points

</wikitex>

Time-Stepping

<wikitex></wikitex>

Horizontal and Vertical Advection

<wikitex></wikitex>

Pressure Gradient

<wikitex></wikitex>