⇐ ⇒

[CF-metadata] Vertical Coordinate Systems

From: Schmidli Juerg <schmidli>
Date: Mon, 28 Jul 2003 13:15:46 +0200

Dear Brian and Jonathan

> Juerg, I'm confused by your last example which contains both a height
> coordinate variable and a height auxillary coordinate variable.
>
> > Consider for example a model where the height of the model levels is a
> > function of x and y. Thus the "generalised" height is a 3-dimensional
> > auxillary coordinate variable, and not a coordinate variable.
> >
> > Is this what you would suggest?
> >
> > netcdf arp_general {
> > dimensions:
> > xc = 16 ;
> > yc = 2 ;
> > zlay = 60 ;
> > time = 2 ;
> > one = 1 ;
> > variables:
> > float xc(xc) ;
> > xc:axis = "X" ;
> > xc:long_name = "x-coordinate" ;
> > xc:units = "m" ;
> > float yc(yc) ;
> > yc:axis = "Y" ;
> > yc:long_name = "y-coordinate" ;
> > yc:units = "m" ;
> > float zlay(zlay) ;
> > zlay:axis = "Z" ;
> > zlay:standard_name = "height" ;
> > zlay:units = "m" ;
> > zlay:positive = "up" ;
> > float time(time) ;
> > time:axis = "T" ;
> > time:units = "seconds" ;
> > float U(time, zlay, yc, xc) ;
> > U:long_name = "u wind component" ;
> > U:units = "m s-1" ;
> > U:coordinates = "Z" ;
> > float Z(zlay, yc, xc) ;
> > Z:standard_name = "height"
> > }
>
> A CF-compliant application would identify zlay as the vertical coordinate
> variable since it has the positive attribute. But if you want the
> auxillary coordinate variable Z to be recognized as containing height
> coordinates, then zlay should not have the positive attribute and Z should
> have both the positive attribute and the units of "m" as Jonathan
> suggested.

I agree that Z should also have the units attribute. But why the positive
attribute? Is the positive attribute not only applicable to 1-dimensional
coordinate variables?
According to the CF-conventions <zlay> is the vertical coordinate variable
and the positive attribute is required to define the up-direction.
<Z>, on the other hand, is just an auxillary coordinate variable.


Maybe I should clarify the purpose of the "generalized height coordinate".
Consider a model where the height of the model levels is a function of (i,j,k)
which can't be expressed by any of the formulas in Appendix C. Thus the
height of each grid point has to be provided explicitly by 'Z'. In this
case <zlay> plays the same role as does the vertical coordinate for the
dimensionless vertical coordinates described in Appendix C.

I think the situation would be much clearer, if one would introduce
a "generalized_height_coordinate" as illustrated below. This coordinate
could also serve as a fallback for someone using a dimensionless vertical
coordinate not listed in Appendix C.

...
         float zlay(zlay) ;
                 zlay:axis = "Z" ;
                 zlay:standard_name = "generalized_height_coordinate" ;
                 zlay:formula_terms = "z:Z" ;
         float time(time) ;
                 time:axis = "T" ;
                 time:units = "seconds" ;
         float U(time, zlay, yc, xc) ;
                 U:long_name = "u wind component" ;
                 U:units = "m s-1" ;
         float Z(zlay, yc, xc) ;
                 Z:standard_name = "height" ;
                 Z:units = "m"

Best whishes

Juerg
Received on Mon Jul 28 2003 - 05:15:46 BST

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

⇐ ⇒