⇐ ⇒

[CF-metadata] handling time in a CF compliant fashion

From: Dave Allured <dave.allured>
Date: Fri, 18 Feb 2011 18:47:51 -0700

Janine,

The data model envisioned by CF requires that the time coordinate
variable be fully enumerated. In other words, your scenario
requires "a time dimension at the highest rate", including a time
coordinate value for every time step. time(:) = 0.00, 0.04, 0.08
seconds, etc. I am not aware of any construct in CF that would
support the automatic division of one step on the time dimension
into multiple time intervals.

To answer your first question, the software that I know of today
would not automatically know how to interpret your sps dimensions.
As a programmer I understand your encoding, and know how to make a
customized program to reassemble the time series as intended, but
that is not what you asked.

A straightforward way under CF (the only way?) to handle these data
is to have only 1-D variables, and a separate time dimension and
time coordinate for each data variable. Also you must switch from
integer to float or double for the time2 and time3 coordinates,
because you need fractions of one second.

dimensions:
      time1 = 16081 ;
      time2 = 160801 ;
      time3 = 402001 ;
variables:
      float time1(time1) ;
          time1:units = "seconds since 2007-11-07 17:54:00 +0000" ;
      float time2(time2) ;
          time2:units = "seconds since 2007-11-07 17:54:00 +0000" ;
      float time3(time3) ;
          time3:units = "seconds since 2007-11-07 17:54:00 +0000" ;
      float VAR1(time1) ;
      float VAR2(time2) ;
      float VAR3(time3) ;

By this scheme, software written for CF and COARDS should easily be
able to read these time series. Note also that there is no padding
of the lower rate variables. Will this be sufficient?

--Dave

On Jan 4 2011, Janine Goldstein Aquino wrote:
> Hi all,
>
> I have multiple rates of data (1sps, 10sps, 25sps, or higher) in a
> single file and am trying to handle this in a CF compliant way without
> having to resort to a time dimension at the highest rate, leading to
> inordinate amounts of padding in lower rate variables. As far as I can
> tell, CF does not address this case directly.
>
> We have been using something like the following. My question is, if
> reading this file in an automated fashion, would you know to interpret
> the sps dimensions as additional time information? If not, is this
> something that should be addressed within CF? Is there a better way to
> do this?
>
> Any and all feedback appreciated! Thanks so much,
>
> Janine Aquino
> NCAR/EOL/RAF
>
> netcdf ICE-Lrf01h {
> dimensions:
> Time = 16081 ;
> sps1 = 1 ;
> sps25 = 25 ;
> sps10 = 10 ;
> variables:
> int Time(Time) ;
> Time:long_name = "time of measurement" ;
> Time:standard_name = "time" ;
> Time:units = "seconds since 2007-11-07 17:54:00 +0000" ;
> Time:strptime_format = "seconds since %F %T %z" ;
> float VAR1(Time, sps1) ;
> VAR1:_FillValue = -32767.f ;
> VAR1:units = "count" ;
> VAR1:long_name = "Fred" ;
> VAR1:SampledRate = 1 ;
> float VAR2(Time, sps10) ;
> VAR2:_FillValue = -32767.f ;
> VAR2:units = "msec" ;
> VAR2:long_name = "Wilma" ;
> VAR2:SampledRate = 10 ;
> float VAR3(Time, sps25) ;
> VAR3:_FillValue = -32767.f ;
> VAR3:units = "degree" ;
> VAR3:long_name = "Barney" ;
> VAR3:SampledRate = 25 ;
> // global attributes:
> :Source = "NCAR Research Aviation Facility" ;
> :Address = "P.O. Box 3000, Boulder, CO 80307-3000" ;
> :Phone = "(303) 497-1030" ;
> :Conventions = "NCAR-RAF/nimbus" ;
> :ConventionsURL =
> "http://www.eol.ucar.edu/raf/Software/netCDF.html" ;
> :ConventionsVersion = "1.3" ;
> :ProcessorRevision = "4453" ;
> :ProcessorURL = "http://svn/svn/raf/trunk/nimbus" ;
> :DateProcessed = "2009-06-11 22:01:28 +0000" ;
> :ProjectName = "ICE-L" ;
> :Platform = "N130AR" ;
> :ProjectNumber = "ICE-L" ;
> :FlightNumber = "rf01" ;
> :FlightDate = "11/07/2007" ;
> :InterpolationMethod = "Linear" ;
> :coordinates = "LONC LATC GGALT Time" ;
> :wind_field = "WSC WDC WIC" ;
> :landmarks = "39.191 -106.817 Aspen,36.407 -105.573 Taos,37.275
> -107.879 Durango,40.7858 -111.979 Alta,38.573 -109.549 Moab,39.9088
> -105.117 BJC
> ,39.5701 -104.849 Centl,41.1556 -104.811 CYS,38.8058 -104.7 COS,38.9697
> -104.813
> AFF,38.2891 -104.497 PUB,35.0402 -106.609 ABQ,41.312 -105.675
> LAR,39.8584 -104.
> 667 DEN,40.2333 -103.667 FtMpp,40.8667 -105.033 RawHpp,40.8712 -104.715
> Pawnee,4
> 2.908 -106.464 CPR,43.0642 -108.46 RIW,42.8375 -103.095 CDR,42.0532
> -102.804 AIA
> ,41.1013 -102.985 SNY,41.874 -103.596 BFF,40.4518 -105.011 FNL,40.4374
> -104.633
> GXY,42.0555 -104.929 EAN,42.7972 -105.386 DGW,44.0453 -103.057
> RAP,42.7538 -104.
> 405 LSK,42.0645 -104.153 TOR,41.1881 -103.677 IBM" ;
> :TimeInterval = "17:54:00-22:22:00" ;
> :Categories = "Position,Thermodynamic,Aircraft State,Atmos.
> State,Liquid Water,Uncorr\'d Raw,Wind,PMS
> Probe,Housekeeping,Chemistry,Radiation,Non-Standard" ;
> }
Received on Fri Feb 18 2011 - 18:47:51 GMT

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

⇐ ⇒