[ESIP-CF] CF Cluster telecon today

Russ Rew russ at unidata.ucar.edu
Tue Jan 31 18:31:37 EST 2012


> Hi All,
>    I added a link on the Wiki to a netCDF file created by NDBC which 
> uses groups.
> 
> On a related note, I want to ask this group if they have considered 
> using user defined structures in place of groups.  As you might be 
> knowing that netCDF-4 allows compound types which are based on C struct. 
> Compound types along with variable length arrays could often be a good 
> substitute for using groups. With regard to CF, incorporating groups, I 
> am guessing, is much more challenging than including compound types. 
> Anybody disagrees? I am looking for some examples where groups are much 
> better suited than using compound types and/or variable length arrays. 
> Please let me know if you have one. Thank you!

Groups and compound types are intended for different purposes.  A group
is really just a name space or container for variables, dimensions,
attributes, user-defined types, other groups, and data.  So, for
example, it would be possible to store data for separate geographic
regions in distinct groups, in which the same names could be used for
all the data objects, e.g.:

  http://www.unidata.ucar.edu/netcdf/workshops/2010/netcdf4/Groups.html

Groups can be useful for factoring out other kinds of common information
than geographic regions, e.g. shared metadata.

Compound types, like structs in C and derived types in Fortran, are
useful for specifying data that has named members, possibly of different
types.  For example

  netcdf odnc4 { // obs data in netCDF-4, inspired by example from Tom Kunicki
  types:
    compound observation_t {
      int time ;
      float temperature ;
      float pressure ;
    }; // observation_t

    compound observation_att_t {
      string time ;
      string temperature ;
      string pressure ;
    }; // observation_att_t

  dimensions:                // these two unlimited dimensions are independent
	  station = UNLIMITED ;
	  observation = UNLIMITED ;

  variables:
	  int station_id(station) ;
		  station_id:standard_name = "station_id";
	  float latitude(station) ;
		  latitude:units = "degrees_north" ;
	  float longitude(station) ;
		  longitude:units = "degrees_east" ;
	  float elevation(station) ;
		  elevation:units = "feet" ;
		  elevation:positive = "up" ;
	  observation_t  observations(station, observation) ;
	      observations:coordinates = 
		  "observations.time longitude latitude elevation" ;
	      observation_att_t  observations:units = 
		  {"days since 1929-1-1 0:0:0", "degF", "hectopascal"} ;
    ...

--Russ

> Upendra
> 
> On 1/31/2012 7:11 AM, Raskin, Rob (388M) wrote:
> > This is a reminder that the rescheduled CF Cluster telecon is today:
> >
> > When: Tuesday Jan 31, 2pm ET / 11am PT
> > Dial: 877-668-4493
> > Access code: 23138379
> >
> > Agenda:
> > -HDF-EOS / CF Conversion Table
> > -Summer Meeting Technical Workshop showcasing CF-aware tools
> > -CF extensions desired at Level 1, Level 2, and Level 3
> > -Mapping to ontology
> >
> > http://wiki.esipfed.org/index.php/CF
> >
> >
> > ------------------------------------
> > Rob Raskin
> > Group Supervisor, Science Data Engineering and Archiving
> > Instrument Software and Science Data Systems Section
> > Jet Propulsion Laboratory
> > Pasadena, CA 91109
> > (818) 354-4228
> > _______________________________________________
> > Esip-cf mailing list
> > Esip-cf at lists.esipfed.org
> > http://www.lists.esipfed.org/mailman/listinfo/esip-cf
> 
> _______________________________________________
> Esip-cf mailing list
> Esip-cf at lists.esipfed.org
> http://www.lists.esipfed.org/mailman/listinfo/esip-cf


More information about the Esip-cf mailing list