You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NUG: "It is not necessary to define your own _FillValue attribute for a variable if the default fill value for the type of the variable is adequate"
CFC: "The NUG conventions for missing data changed significantly between version 2.3 and version 2.4. Since version 2.4 the NUG defines missing data as all values outside of the valid_range, and specifies how the valid_range should be defined from the _FillValue (which has library specified default values) if it hasn’t been explicitly specified. If only one missing value is needed for a variable then we recommend that this value be specified using the _FillValue attribute. Doing this guarantees that the missing value will be recognized by generic applications that follow either the before or after version 2.4 conventions."
Concerning the use an explicit _FillValue attribute (when its value equals the default value) NUG says it is not necessary but the CFC recommends it. So far so good. Now my understanding is that this recommendation is mainly to safeguard against generic applications which do not (yet) follow the latest (NUG) conventions and that the correct behaviour of generic applications now is to treat values equal to the default fill value as missing (when no _FillValue attribute is present). Is this understanding correct?
The text was updated successfully, but these errors were encountered:
That is my understanding. NCO was written under the "old" NUG guidance, and required explicitly set _FillValue to indicate the presence of missing values. The "new" NUG guidance requires that all arithmetic loops now check for the presence of the default fill value. It will take a while to migrate to this convention, and the resulting arithmetic will always be slower because of the check. So the CFC guidance helps to ensure that NCO (and some other generic applications) will operate as intended on your dataset.
NUG: "It is not necessary to define your own _FillValue attribute for a variable if the default fill value for the type of the variable is adequate"
CFC: "The NUG conventions for missing data changed significantly between version 2.3 and version 2.4. Since version 2.4 the NUG defines missing data as all values outside of the valid_range, and specifies how the valid_range should be defined from the _FillValue (which has library specified default values) if it hasn’t been explicitly specified. If only one missing value is needed for a variable then we recommend that this value be specified using the _FillValue attribute. Doing this guarantees that the missing value will be recognized by generic applications that follow either the before or after version 2.4 conventions."
Concerning the use an explicit _FillValue attribute (when its value equals the default value) NUG says it is not necessary but the CFC recommends it. So far so good. Now my understanding is that this recommendation is mainly to safeguard against generic applications which do not (yet) follow the latest (NUG) conventions and that the correct behaviour of generic applications now is to treat values equal to the default fill value as missing (when no _FillValue attribute is present). Is this understanding correct?
The text was updated successfully, but these errors were encountered: