$titlename = <<< PRINTPARTA
Ocean Grid Conventions
PRINTPARTA;
echo $titlename;
// include "/var/www/html/core/partb";
include "/var/www/html/nomads/forms/main/partb";
$script_style = <<< PRINTSCRIPT
PRINTSCRIPT;
print $script_style;
// include "/var/www/html/core/partc";
include "/var/www/html/nomads/forms/main/partc";
$linkpage = <<< PRINTLINK
gfdl's home page >
products and services >
data portal >
deccen coupled climate models >
CM2.x coupled climate models >
Ocean Grid Conventions
PRINTLINK;
print $linkpage;
// include "/var/www/html/core/partd";
include "/var/www/html/nomads/forms/main/partd";
$titlepage = <<< TITLEPAGE
Ocean Grid Convention for CM2.0 and CM2.1
TITLEPAGE;
print $titlepage;
// include "/var/www/html/core/parte";
include "/var/www/html/nomads/forms/main/parte";
$pagecontent = <<< PRINTCONTENT
Contact:
M.J. Harrison
<Matthew.Harrisonnoaa.gov>
Contact:
Z. Liang
<Zhi.Liang
noaa.gov>
Reviewers:
Keith Dixon
<Keith.Dixonnoaa.gov>
This document describes the convention used for the ocean grid of GFDL CM2.0 and CM2.1 models. In order to calculate finite difference quantities using the history file output, the distance between grid points are required. For instance the horizontal area of a grid cell is equal to the product of the distances between the midpoints of the meridional and zonal boundaries of the cell. Please refer to the MOM4 technical manual here for additional documentation.
See also the CM2 Ocean and sea ice model output FAQs.
NetCDF files containing the tripolar grid information discussed on this web page may be downloaded from this server. With the information provided in these "grid_spec" files, one can perform highly accurate quantitative computations of variables on the model's tripolar grid.
NOTE: For diagnostic output files the velocity grid notation employs an upper-left convention in relation to the tracer cell. For instance, the first velocity cell is to the "northwest" of the first tracer cell. This is a by-product of our post-processing. In the MOM4 code, as in previous versions of MOM, we use a "northeast" convention.
There are four subgrids, labeled T (for tracer), C (corner of T), N (north of T) and E (east of T).
The following schematic describes the grid cell notation with an upper-left convention for the non-tracer cells.
Ni,j Ci,j +----------+-----------+ | | | | | | Ei,j + +Ti,j + | | | | +----------+-----------+ geolon_t(i,j) = geographical longitude of t-cell center geolat_t(i,j) = geographical latitude of t-cell center geolon_c(i,j) = geographical longitude of corner cell center geolat_c(i,j) = geographical latitude of corner cell center geolon_e(i,j) = geographical longitude of east cell center geolat_e(i,j) = geographical latitude of east cell center geolon_n(i,j) = geographical longitude of north cell center geolat_n(i,j) = geographical latitude of north cell center sinrot(i,j) = sin of clockwise rotation angle at corner point cosrot(i,j) = cos of clockwise rotation angle at corner point
All distances are in meters and all areas are in meters**2
Distances between points are described in the following schematics (for T-cell).
Ni,j +----------+-----------+ | ^ | | dtn | | v Ti,j | Ei,j +<--dtw--->+<--dte---->+ Ei+1,j | ^ | | dts | | v | +----------+-----------+ Ni,j-1 Ci,j Ni,j Ci+1,j <---------dxtn---------> +----------+-----------+ ^ | ^ | | | | | | |<-------|----dxt----->| dyte Ei,j + | +Ti,j + | Ei+1,j | dyt | | | | | | | v | | +----------+-----------+ v Ni,j-1 Ci+1,j-1 +----------+-----------+----------+-----------+ | ^ | | | | | | | + ^ +Ti,j+1 + + Ti+1,j+1 + | | | | | | | | | | | | | | | | +--------|-+-----------+----------|-----------+ | dytn | | | | | | | | <--------dxte----------> | + v + + + | | Ti,j | Ti+1,j | | | | | | | +----------+-----------+----------+-----------+
and Corner cell (B-grid velocity cell)
Ei,j+1 +----------+-----------+ | ^ | | dun | | v Ci,j | Ni-1,j +<--duw--->+<--due---->+ Ni,j | ^ | | dus | | v | +----------+-----------+ Ei,j Ti-1,j+1 Ei,j+1 Ti,j+1 <---------dxun---------> +----------+-----------+ ^ | ^ | | | | | | |<-------|----dxu----->| dyue Ni-1,j + | +Ci,j + | Ni,j | dyu | | | | | | | v | | +----------+-----------+ v Ei,j Ti,j +----------+-----------+----------+-----------+ | ^ | | | | | | | + ^ +Ci,j+1 + + Ci+1,j+1 + | | | | | | | | | | | | | | | | +--------|-+-----------+----------|-----------+ | dyun | | | | | | | | <--------dxue----------> | + v + + + | | Ci,j | Ci+1,j | | | | | | | +----------+-----------+----------+-----------+
The grid file contains the following information,
z_t(i,j,k) = depth of tracer points z_c(i,j,k) = depth of corner points depth_t(i,j) = total depth at tracer point depth_c(i,j) = total depth at corner point dz_t(i,j,k) = vertical height of grid cell at tracer point dz_c(i,j,k) = vertical height of grid cell at corner point kmt(i,j) = number of tracer cells at each (i,j) location kmu(i,j) = number of velocity cells at each (i,j) location wet(i,j) = (1) if ocean point (0) if land
The following schematic describes the grid points in the horizontal-vertical plane. Tracer and velocity points are located at the cell centers.
+--------+---------+ | | | | | | | z_t(i,j,k) | | + + z_c(i,j,k) | | | | | | +--------+---------+ | | | | | | | z_t(i,j,k+1) | | + + z_c(i,j,k+1) | | | | | | +--------+---------+ +--------+---------+ | ^ ^ | | | | | | | | | | dz_t(i,j,k) + dz_c(i,j,k) | | | | | | | v v +--------+---------+
Vertical grid information at the E and N locations is not currently contained in the grid specification file but can be derived consistent with the ocean model equation as shown in the examples section below. In MOM4, since it is a z-coordinate model, ocean depths are identical at every i,j location except where the model intersects topography. MOM4 uses so-called partial bottom cells in order to better represent the effect of topography on the ocean circulation. Therefore, z_t and dz_t at the last model level above topography vary at each model horizontal grid point location. depth_t (and depth_c) are the total ocean depth (ocean surface to bottom of last cell) at the respective locations. At the tracer point locations, depths below topography are given missing values in the grid file.
Calculate the horizontal Area of a Tracer Grid Cell (zero over "land" cells)
Area(i,j) = dxt(i,j)*dyt(i,j)*wet(i,j)
Calculate the total volume of a Tracer Grid Cell, for instance to calculate heat content
volume(i,j,k) = Area(i,j)*dz_t(i,j,k)
Calculate the cross-sectional area of a Tracer Grid Cell along its eastern face
this is slightly more complicated since you need to define a depth at the eastern tracer cell face using the average of the corner values. area_east_face(i,j,k) = dyte(i,j)*(dz_c(i+1,j,k)+dz_c(i+1,j-1,k)*0.5
Calculate the mass flux through the "east" face of the tracer cell where model velocity at "C" locations are u(i,j,k)
Transport_x(i,j,k) = area_east_face(i,j,k)*(u(i+1,j,k)+u(i+1,j-1,k))*0.5
Calculate the cross-sectional area of a Tracer Grid Cell along its northern face
Define a depth at the tracer cell northern face using the average of the corner values. area_north_face(i,j,k) = dxtn(i,j)*(dz_c(i,j,k)+dz_c(i+1,j,k)*0.5
Calculate the mass flux through the "north" face of the tracer cell where model velocity at "C" locations are u(i,j,k)
Transport_y(i,j,k) = area_north_face(i,j,k)*(u(i,j,k)+u(i+1,j,k))*0.5
Calculate the total column volume at each tracer cell location
volume(i,j) = Area(i,j) * depth_T(i,j)
Model velocities are oriented along the local i-j directions which vary from the north-south directions north of 65N. How do I convert velocities so that they point N-S everywhere?
zonal_current(i,j) = u(i,j)*cosrot(i,j) + v(i,j)*sinrot(i,j) meridional_current(i,j) = u(i,j)*-sinrot(i,j) + v(i,j)*cosrot(i,j)