Hi Harvey,
On Thu, 26 Apr 2001, Davies, Harvey wrote:
> > A dataset that was written with a _FillValue within a specified valid
> > range
> > would not have that _FillValue treated as the valid default data value by
> > many existing applications, i.e., such a dataset would break most existing
> > applications.
> > :
>
> I do not understand how this would break most existing applications.
My experience with generic applications is that if values indicated by the
_FillValue attribute are treated in some special way, they are treated that
way independently of whether or not the _FillValue falls within a specified
valid range.
This is true for the first two generic applications that I tested, namely
ncdump and ncview.
ncdump uses `_' to represent data values that are equal to
the `_FillValue' attribute for a variable, intended to
represent data that has not yet been written.
I verified that this behavior is true even when the _FillValue is within
the valid range. This is not broken in the sense that ncdump is doing
exactly what it says it does. But I think that most people would be
unhappy to see '_' in their ncdump output for values that they consider to
be valid.
ncview also treats _FillValue as missing even if it's contained in a
specified valid range. In an image of a 2D field this results in "valid"
data being displayed in a color outside the color map.
My conclusion from this is that _FillValue should never be used to indicate
a default value for valid data, because it will be treated exactly as if it
were missing, or never written, by most applications.
Brian
-----------------------------------------------------------------
Brian Eaton | email: eaton@xxxxxxxx
Climate Modeling Section |
National Center for Atmospheric Research |
P.O. Box 3000, Boulder, CO 80307 |