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: