John,
A panoply user has complained that soem variable metadata in an HDF
file is not being reported. I haven't been able to figure it out,
and since Panoply is getting the info via the NJ libraries, I thought
I'd pass this on to see if you have any ideas.
The sample problem dataset is at
ftp://ftp.nodc.noaa.gov/pub/data.nodc/crw/CRW50km/all_in_one/2001/sst.coralreef.fields.50km.n14.20010106.hdf
Looking at, for example, the variable CRW_HDW, there is critical
difference in how the NJ libraries and Panoply report the attributes
and how the HDFview application reports the attributes. Essentially,
NJ/Panoply are missing five attributes:
_FillValue = -7777
scale_factor = 0.01
missing_value = -7777
add_offset = 0.0
valid_range = 0,10000
What NJ/Panoply report is:
double CRW_DHW(latitude=331, longitude=720);
:long_name = "Twice-weekly global 50km satellite coral bleaching Degree
Heating Weeks";
:units = "degree Celsius-weeks";
:format = "I6";
:inputdata_type = "16-bit (2-byte) integer";
:coordsys = "geographic";
:scale_factor_err = 0.0; // double
:add_offset_err = 0.0; // double
:calibrated_nt = 24; // int
:C_format = "%6d";
:fraction_digits = 1; // int
:variable_info = "The values in this variable array and in the valid_range
attribute are in the units of x100 degree Celsius-weeks. The data values should be
multiplied by the value (0.01) contained in the scale_factor attribute to obtain the
actual values in the units of degree Celsius-weeks.";
:image_info_variable = "The fourth browse image is for bleaching Degree
Heating Weeks.";
:palette_info_variable = "The fourth palette, containing 256 indexed colors
(0-255), is for CRW Degree Heating Weeks (DHW). To plot CRW DHW data using this palette,
DHW values in the range of [0,16] are matched to color 0-255 using color_index=DHW*255/16
rounded to the nearest integer. Any color index from the conversion that is greater than
252 is set to 252. Negative and zero index values at valid water pixels should be changed
to 1. Land, ice, and missing data pixels flagged in surface_flag array should be assigned
to 253 (white), 254 (black), and 255 (gray), respectively.";
And what HDFview program reports is:
CRW_DHW
16-bit integer, 331 x 720
Number of attributes = 18
long_name = Twice-weekly global 50km satellite coral bleaching Degree
Heating Weeks
units = degree Celsius-weeks
format = I6
inputdata-type = 16-bit (2-byte) integer
coordsys = geographic
_FillValue = -7777
scale_factor = 0.01
scale_factor_err = 0.0
add_offset = 0.0
add_offset_err = 0.0
calibrated_nt = 24
C_format = %6d
missing_value = -7777
fraction_digits = 1
valid_range = 0,10000
variable_info = The values in this variable array and in the valid_range
attribute are in the units of x100 degree Celsius-weeks. The data values should
be multiplied by the value (=0.01) contained in the scale_factor attribute to
obtain the actual values in the units of degree Celsius-weeks.
image_info_variable = The fourth browse image is for bleaching Degree
Heating Weeks.
palette_info_variable = The fourth palette, containing 256 indexed
colors (0-255), is for CRW DHW. To plot CRW DHW data using this palette, DHW
values in the range of [0,16] are matched to colors 1-252 using
color_index=DHW*255/16 rounded to the nearest integer. Any color index from the
conversion that is greater than 252 is set to 252. Negative and zero index
values at valid water pixels should be changed to 1. Land, ice, and missing
data pixels flagged in surface_flag array should be assigned to 253 (white),
254 (black), and 255 (gray), respectively.
Any ideas?
Thanks,
rbs
--
Robert B. Schmunk, address@hidden
NASA Goddard Institute for Space Studies, 2880 Broadway, New York, NY 10025