NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
I'd like to use UNIT8 variables to represent arbitrary floating point fields in cases where total storage is more important than precision. Looking through the documentation, I couldn't find any obvious, standard, or semi-standard way of associating floating point values with bytes. Ideally, I want a table with 256 FLOAT32 elements that I can just do a lookup with. I can do that automatically and quickly internally to my visualization program, and I've used it for radar data in the NEXRAD format already. The ad-hoc strategy I'm thinking of now goes like this: 1) Look in the UNIT8 variable for an attribute called "byte_translation" which is supposed to contain the name of another variable. This other variable has to be a 256-element vector of some float type. If it is, just use this for the translation, else 2) Figure out the minimum and maximum and assume that the range of bytes represents a linear, point-sampled range between the minimum and maximum. Assign this to the range [0, 255] if there is no missing data value, [1, 255] if the missing data value is 0, and [0, 254] if the missing data value is 255. If the missing data value is something else, I don't know what to do. 3) Give up and assign 0 to 0.0, 1 to 1.0, etc. Please knock this all full of holes and suggest something infinitely better. Eric Pepke INTERNET: pepke@xxxxxxxxxxxx Supercomputer Computations Research Institute MFENET: pepke@fsu Florida State University SPAN: scri::pepke Tallahassee, FL 32306-4052 BITNET: pepke@fsu Disclaimer: My employers seldom even LISTEN to my opinions. Meta-disclaimer: Any society that needs disclaimers has too many lawyers.
netcdfgroup
archives: