⇐ ⇒

[CF-metadata] Need for a new vertical coordinate definition:"Ocean generalized sigma coordinate"

From: Jonathan Gregory <j.m.gregory>
Date: Thu, 23 Dec 2004 16:01:04 +0000

Dear All

If sigma is not just a function of level k, it can't be a coordinate variable,
since they aren't multidimensional. It has to be an auxiliary coordinate
variable (named by the coordinates attribute). Are we therefore generalising
formula_terms to apply to auxiliary coordinate variables?

Since Rich wants to add (j,i)-dependence to sigma and Steve says it naturally
needs n-dependence (time-dependence), let's give it all four indices. However,
we note there is nothing to be saved in complexity or space if it is 4D as
you might just as well have a 4D depth auxiliary coordinate variable. There
isn't any difference between a 4D auxiliary coordinate variable and a 4D data
variable (like density or temperature). It's counted as an auxiliary coord
var only because a coordinates attribute points to it. The sigma coordinate
thus generalised could still be called ocean_sigma_coordinate, I suggest.

Rich's generalised sigma would look like the example below, an adaptation
of Brian's.

Cheers

Jonathan


dimensions:
  xc = 128 ;
  yc = 64 ;
  lev = 18 ;
  tim = 10 ;
variables:
  float T(tim,lev,yc,xc) ;
    T:long_name = "temperature" ;
    T:units = "K" ;
    T:coordinates = "sigma lon lat" ;
  float sigma(lev,yc,xc)
    sigma:standard_name = "ocean_sigma_coordinate";
    sigma:positive = "up" ;
    sigma:formula_terms="sigma: sigma eta: eta depth: depth";
  float eta(tim,yc,xc);
    eta:standard_name="sea_surface_height_above_geoid";
    eta:units="m";
  float depth(yc,xc);
    depth:standard_name="sea_floor_depth_below_geoid";
    depth:units="m";
  float xc(xc) ;
    xc:long_name = "x-coordinate in Cartesian system" ;
    xc:units = "m" ;
  float yc(yc) ;
    yc:long_name = "y-coordinate in Cartesian system" ;
    yc:units = "m" ;
  float lon(yc,xc) ;
    lon:long_name = "longitude" ;
    lon:units = "degrees_east" ;
  float lat(yc,xc) ;
    lat:long_name = "latitude" ;
    lat:units = "degrees_north" ;
  float tim(tim) ;
    tim:long_name = "time" ;
    tim:units = "days since 1900-01-01" ;
Received on Thu Dec 23 2004 - 09:01:04 GMT

This archive was generated by hypermail 2.3.0 : Tue Sep 13 2022 - 23:02:40 BST

⇐ ⇒