Back to Example List
Dot & Cross Points
The MM5 horizontal grid has an Arakawa-Lamb B-staggering of the
velocity variables with respect to the scalars. The scalars (T,
q etc.) are defined at the center of the grid square, while the
eastward (u) and northward (v) velocity components are collocated
at the corners. The center points of the grid squares will be
referred to as cross points, and the corner points are dot points.
The number of I/J points specified in the TERRAIN step (NESTIX/NESTJX),
is equal to the number of DOT points in the model domain.

When looking at the picture above, it is obvious
that the cross points have one point less than the dot points.
But when looking at the arrays in the MM5 data
files (TERRAIN, REGRID, LITTLE, INTERPF, MM5, etc.) one will notice
that dot and cross point arrays all have the same dimensions.
See the extract from the SOC case MMOUT_DOMAIN1 below (created
with the readv3.f
utility).
U 3 35 41
23 1 D
YXS : 13.80757618 m/s
V 3 35 41 23 1
D YXS : 14.90762901
m/s
T 3 35 41 23 1
C YXS : 259.52917480
K
Q 3 35 41 23 1
C YXS : 0.00224648
kg/kg
The reason for this is that equal array dimensions are easier
to work with in a programming environment. To ensure that dot
and cross point arrays have the same size, an extra row and column
is simply added to the cross point arrays. This row and column
is filled with the same values as the last row and column in the
cross point arrays.

|
When working with MMOUT_DOMAINx
data directly, remember that the dot and cross point data
are at different lon/lat positions. Data need to be interpolated
to the same point before using. |
|
Do not use the last row and column
in the cross point arrays.
|
|