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?