This message came from the CF Trac system.  Do not reply.  Instead, enter your 
comments in the CF Trac system at https://cf-pcmdi.llnl.gov/trac/.

#104: Clarify the interpretation of scalar coordinate variables
-----------------------------+----------------------------------------------
  Reporter:  jonathan        |       Owner:  [email protected]
      Type:  enhancement     |      Status:  new                          
  Priority:  medium          |   Milestone:                               
 Component:  cf-conventions  |     Version:                               
Resolution:                  |    Keywords:                               
-----------------------------+----------------------------------------------
Comment (by jonathan):

 Dear John

 If you have a coordinate variable `lat(time)`, I think it must be a
 trajectory - is that right? In Table 9.1, we define a trajectory as "a
 series of data points along a path through space with monotonically
 increasing times", so it is natural to record time as the independent
 coordinate, and latitude depends on it. In that situation, according to
 this ticket, you would ''not'' replace `lat(time)` with a scalar `lat`,
 even if the latitude were unchanging all the way along the trajectory,
 because doing so would incorrectly imply that latitude is independent. You
 have to keep `lat(time)` and fill it with repeated values. Actually, I
 think that is better anyway in this case, precisely because latitude
 really is a function of time. I think it would be strange to use a
 different way of storing a trajectory if the latitude values were [51, 51,
 51, 51] on the one hand, or [51, 51.001, 51, 51] on the other.

 For timeseries data, the latitude and time coordinates are independent. If
 it's a single timeseries, it will have only one latitude, and in that
 situation, according to this ticket, it would be fine to replace the size-
 one coordinate variable `lat(lat)` with the scalar `lat`, and omit the
 dimension `lat=1`.

 If you have data on multiple vertical levels with a physical coordinate,
 it might have dimensions `data(pressure,lat,lon)`. When you extract a
 single level, you reduce the dimension to `pressure=1`. The size-one
 `pressure(pressure)` is an independent coordinate. In this situation, CF
 permits you to replace it with a scalar `pressure` and omit the size-one
 dimension. You don't have to do this; it's a convenience feature, as the
 standard document says. According to this ticket, replacing
 `pressure(pressure)` with `pressure` does not alter the interpretation. It
 is still a size-one independent coordinate. This ticket says that the
 scalar coordinate implies the existence of a size-one dimension.

 I agree that you do not add a vertical dimension for temperature at the
 tropopause, because tropopause doesn't have a numerical coordinate to
 define it. CF provides standard_names for quantities that exist on special
 physically defined leves, for this reason. CF does not provide standard
 names for levels which can be specified with coordinate values. There
 isn't a standard name for temperature at 2.0 m height, because that can be
 specified with a size-one `height` coordinate. It could be either
 `height(height)` with dimension `height=1`, or a scalar `height`.
 According to this ticket, they both logically describe an independent
 size-one dimension.

 CF has this convenience feature because it allows you to have many size-
 one independent coordinates without having to create netCDF dimensions for
 them. This ticket says that the domain logically has these size-one
 dimensions anyway.

 Is that all right?

 Cheers

 Jonathan

-- 
Ticket URL: <https://cf-pcmdi.llnl.gov/trac/ticket/104#comment:48>
CF Metadata <http://cf-pcmdi.llnl.gov/>
CF Metadata

This message came from the CF Trac system.  To unsubscribe, without 
unsubscribing to the regular cf-metadata list, send a message to 
"[email protected]" with "unsubscribe cf-metadata" in the body of your 
message.

Reply via email to