Re: [cf-satellite] cf-satellite prototype beta

NOTE: The cf-satellite mailing list is no longer active. The list archives are made available for historical reasons.

  • Subject: Re: [cf-satellite] cf-satellite prototype beta
  • From: John Caron <caron@xxxxxxxxxxxxxxxx>
  • Date: Wed, 25 Aug 2010 10:47:05 -0600
 On 8/25/2010 8:34 AM, Tom Whittaker wrote:
Hi John....

Just (finally) catching up....

this seems like a good starting proposal to discuss. here are some issues
from my POV:

1)  "units(band)". I think if there are really different units, its probably
a different variable. Do you have a concrete example where the units vary?
Note also that "bands with different resolution" would also be a different
variable (martin's question).
We have discussed this and are inclined to agree that if the units are
different, it should probably be a separate variable.  So be it.

2) what is the mechanism for associating the scale/offset to the imageData?
The original idea was that scale/offset would be used to create
physical units from data values ("calibration").   The problem we
faced is that for each "band", these values would be different...but
there was no mechanism to have an array of values as an attribute of a
variable.  Given that, we took the narrow view that the scale/offset
would apply to all variables that had the associated "band".  I don't
really like that, but am not sure what else can be done...

attributes can be a 1D list of values. so you probably could use this mechanism if you want to work hard enough.

3) you need

ImageData:coordinates = "band lat lon time"
Yes.

maybe even

ImageData:coordinates = "band lat lon time wavelength"
Pardon my lack of understanding, but for a variable shaped as, say,
'time, band, x, y', how can one have a coordinate of both 'band' and
'wavelength'?

its because a coordinate in the general sense does not have to be 1-1 with a dimension. one can have any number of coordinates per variable. in this case, if both a band number and a wavelength are useful, they can both be included.

heres an example that includes coordinate bounds for the wavelength:

byte ImageData(time, band, x, y);
  ImageData:coordinates = "band lat lon time wavelength"

int band(band);
  band:long_name = "satellite band number";

float wavelength(band);
   wavelength:bounds = "wavelength_minmax";
   wavelength:long_name = "center wavelength";
   wavelength:units= "m";

float wavelength_minmax(band, 2);
   wavelength_minmax:long_name = "wavelength min, max";
   wavelength_minmax:units= "m";



4) what is the meaning of band(band) ??
It was my naive interpretation from CF grid conventions of a
"coordinate variable" -- that's all....

im just not sure if its actually needed, if it just copies the dimension indices. if you need to use 1 offsets, or some other naming convention, then it would be useful.



  • 2010 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the cf-satellite archives: