⇐ ⇒

[CF-metadata] Vertical Coordinate Systems

From: Schmidli Juerg <schmidli>
Date: Thu, 24 Jul 2003 17:58:54 +0200

Dear Jonathan

> OK, we'll call it "sleve" if that's commonly in use.

Thank you.

> I agree that psurf would be better than ps. I am not sure whether we should
> change it at this point - Brian may have a view. I don't think p0 is the same
> as ptop, though. p0 is simply a reference pressure which allows a(k) to be
> dimensionless.

I think p0 is very closely related to ptop. If one sets
a(k) = 1-sigma(k),
b(k) = sigma(k),
then one sees immediately that the atmosphere_sigma_coordinate
is a special case of the atmosphere_hybrid_sigma_pressure_coordinate.

Also, the dimensionless coefficients a and b are usually defined to lie in
the interval [0,1] and thus we have p(n,k,j,i) = ptop for a=1 (and b=0).

 
> A vertical coordinate variable is identifiable by having units of pressure,
> a positive attribute, or from its standard name. I don't think it should be
> difficult to find such a variable among those listed in the coordinates
> attribute, should it? I am not really clear what a "generalised" height is.
> If it is actually height (m) its standard name will be "height".

Sorry for being unclear.
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"
}

So the visualization package would have to analyze all
variables mentioned in the coordinates attribute and
see if there is one with the standard_name = "height"?

Juerg
Received on Thu Jul 24 2003 - 09:58:54 BST

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

⇐ ⇒