⇐ ⇒

[CF-metadata] New CoordinateType: Spectral?

From: Aleksandar Jelenak - NOAA Affiliate <aleksandar.jelenak>
Date: Wed, 3 Apr 2013 18:39:42 -0400

Dear All,

I know this will likely end up as a trac ticket but would like first
to gauge the community's opinion about defining a new coordinate type.
Satellite data originates as measurements at a number of intervals of
the electromagnetic spectrum. These intervals are commonly referred to
as bands or channels. Deciding on how to store the band information is
one of the key issues toward a standardized representation for
satellite data.

The convention seems to allow storing of band information either as a
numerical coordinate variable or as a string auxiliary coordinate
variable. When I open such a file in Unidata's ToolsUI software (the
CoordSys tab) and select Parse Info, this is reported:

<userAdvice>Coordinate Axis band does not have an assigned AxisType</userAdvice>

Following this advice I have two questions:

1) What would be the benefits of having a coordinate type for
describing satellite bands? Let's call this new type "spectral" for
now.

2) Can the same coordinate type be assigned to both numerical and
string variables? Such variables will not appear in the same file.
String band information will cover cases where purely numerical band
information is not sufficient to describe different bands, like for
passive microwave instruments.

I have included two examples in the P.S. section below to illustrate
the concept.

     -Aleksandar

P.S.
Variant #1: Band information as a numerical coordinate variable

dimensions:
  along_track = <integer> ;
  across_track = <integer> ;
  band = <integer> ;

variables:
  short along_track(along_track) ;
     along_track:axis = "Y" ;

  short across_track(across_track) ;
     across_track:axis = "X" ;

  float band(band) ;
     band:standard_name = ?sensor_band_central_wavelength? ; //
proposed standard name in Nov 2012
     band:units = ?um? ;

  float lat(along_track, across_track) ;
     lat:standard_name = "latitude" ;
     lat:units = "degrees_north" ;

  float lon(along_track, across_track) ;
     lon:standard_name = "longitude" ;
     lon:units = "degrees_east" ;

  double time(along_track) ;
     time:standard_name = "time" ;
     time:units = "<units> since <datetime string>" ;
     time:calendar = "gregorian" ;

  float swath_band_data(along_track, across_track, band) ;
     swath_band_data:coordinates = "lon lat time band" ;



Variant #2: Band information as a string auxiliary coordinate variable

dimensions:
  along_track = <integer> ;
  across_track = <integer> ;
  band_enum = <integer> ;
  band_strlen = <integer> ;

variables:
  short along_track(along_track) ;
     along_track:axis = "Y" ;

  short across_track(across_track) ;
     across_track:axis = "X" ;

  char band(band_enum, band_strlen) ;
     band:standard_name = ?sensor_band_identifier? ; // proposed
standard name in Nov 2012

  float lat(along_track, across_track) ;
     lat:standard_name = "latitude" ;
     lat:units = "degrees_north" ;

  float lon(along_track, across_track) ;
     lon:standard_name = "longitude" ;
     lon:units = "degrees_east" ;

  double time(along_track) ;
     time:standard_name = "time" ;
     time:units = "<units> since <epoch>" ;
     time:calendar = "gregorian" ;

  float swath_band_data(along_track, across_track, band_enum) ;
     swath_band_data:coordinates = "lon lat time band" ;
Received on Wed Apr 03 2013 - 16:39:42 BST

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

⇐ ⇒