Re: [cf-satellite] Calibration Look Up tables

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

On 5/26/2010 2:25 PM, Ken Knapp wrote:
Raw satellite data are generally stored as integers (DN=digital numbers) that are then 1. converted to radiances linearly (or sometimes non-linearly) that can then be
2. converted to brightness temperatures.
With steps that are nonlinear, the scale factor offset doesn't work. If a coefficient is tweaked/corrected, then the entire variable would need to be rewritten.

Satellite data often use lookup tables to more easily and quickly convert from DN to whatever (radiance/temperature). Updates would then be made to calibration tables, rather than equations.

So I would propose something like the following CDL where variable /image/ has range from 0-255 and its attribute /lookup/ means that the table to convert to meaningful units is /table_1

/
dimensions:
    lat = 100
    lon = 100
    num_bins = 256

int image(lat,lon)
    image:long_name = "GOES Water vapor channel"
    image:units = "digital number"
    image:lookup = "table_1"
    image:valid_range = 0, 255

float table_1(num_bins)
    table_1:long_name = "Brightness temperature"
    table_1:units = "Kelvin"
Thoughts?
-Ken

Hi Ken:

This seems to me to be a reasonable idea. Also applicable beyond satellite data.

Some details in above example: Seems like this could be

  byte image(lat,lon);

(always nice to reduce file size by 4x).

Netcdf-3 has a convention that one can interpret a byte as unsigned by adding the "_Unsigned" attribute:

  byte image(lat,lon);
    image:_Unsigned = "true";

Then you dont need the valid_range attribute. Also new CF attributes can (should?) be prefixed by "CF:", so we have:

byte image(lat,lon)
    image:long_name = "GOES Water vapor channel";
    image:units = "digital number";
    image:CF\:lookup = "table_1";
    image:_Unsigned = "true";

Where the "\" is needed just in the CDL (the actual attribute name is "CF:lookup".

Also. I guess you are suggesting that once the lookup is applied, one should use the "units" from the lookup table?

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