$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.Harrison@noaa.gov> Contact:  Z. Liang <Zhi.Liang@noaa.gov>
Reviewers:  Keith Dixon <Keith.Dixon@noaa.gov>

OVERVIEW


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.

HORIZONTAL GRID DESCRIPTION


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     |
               |                      |                      |
               |                      |                      |
               +----------+-----------+----------+-----------+



VERTICAL GRID DESCRIPTION


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.


EXAMPLES


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)


top
PRINTCONTENT; print $pagecontent; // include "/var/www/html/core/partf"; include "/var/www/html/nomads/forms/main/partf"; print "last modified:". date( "F d Y.", getlastmod() );print "
this page visited: ".getCount(). " times "; // include "/var/www/html/core/partg"; include "/var/www/html/nomads/forms/main/partg";