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.

Re: ncdigest V1 #588 (standard handling of scale/offset and missi ng data)



Davies, Harvey wrote:

Firstly, I am having second thoughts about my suggested terms 'external' and
'internal'.  A respected
colleague thought they meant the opposite of what I meant.  So how about
just 'disk value' and 'memory value?
Or  'physical value' and 'logical value'?

Ive been using "external (packed)" and "internal (unpacked)". Does that disambiguate it for your colleague?



Date: Mon, 23 Apr 2001 13:47:05 -0600
From: John Caron <caron@xxxxxxxxxxxxxxxx>
Subject: Re: ncdigest V1 #587 (standard handling of scale/offset and missi
ng data)


I assume you mean missing_value.  There is no problem if missing_value

is

merely a hint for output.
You simply alway ignore it (on input at least)!

I am reading an existing file, theres no option of deleting or forcing renaming. I want to do as good of job as possible in extracting meaning out of the file. Someone has taken the time to add a missing_value attribute to the file. It doesnt seem reasonable to ignore it, because: if they are followng the UG conventions, it wont be there, so no problem. The fact that it exists means they arent following the conventions (or have made a mistake) so you dont know what logic they are following. In that case, I would fall back on what a reasonalble person would intend (who doesnt know about the conventions).


If there is no valid range defined, but missing_value is defined, then I can
see it makes sense to use a positive value
to define a valid max and a non-positive value to define a valid min.  (i.e
treat it like _FillValue)


I dont understand. If _FillValue can be legal, how can you construct a valid_range with it, using it as the valid_min or valid_max? It seems like contradictory uses.


There are two cases.
_FillValue is a valid value if it is within a valid range defined by
valid_range, valid_min, valid_max.
If none of these three attributes are defined then it is assumed that
_FillValue is a missing value &
should be used to define one end of the valid range.

So if you want to use _FillValue to initialize a variable to a valid value
0, then you must define at
least one of valid_range, valid_min, valid_max.

this seems reasonable to me. Does anyone have datasets where this algorithm would be wrong?


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