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 be2. 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?
cf-satellite
archives: