This convention does not standardize variable names.
NetCDF variables that contain coordinate data are referred to as coordinate variables, auxiliary coordinate variables, scalar coordinate variables, or multidimensional coordinate variables.
The NUG conventions
(NUG section 8.1)
provide the
_FillValue
,
valid_min
,
valid_max
, and
valid_range
attributes
to indicate missing data.
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 strongly 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.
The scalar attribute with the name
_FillValue
and of the same type as its
variable is recognized by the netCDF
library as the value used to pre-fill
disk space allocated to the variable. This
value is considered to be a special value
that indicates undefined or missing data,
and is returned when reading values that
were not written. The
_FillValue
should be
outside the range specified by
valid_range
(if used) for a variable. The netCDF
library defines a default fill value
for each data type
(NUG section 7.16).
The
missing_value
attribute is considered
deprecated by the NUG and we do not
recommend its use. However for backwards
compatibility with COARDS this standard
continues to recognize the use of the
missing_value
attribute to indicate undefined or missing data.
The missing values of a variable with
scale_factor
and/or
add_offset
attributes
(see section Section 8.1, “Packed Data”) are interpreted
relative to the variable's external
values, i.e., the values stored in the
netCDF file. Applications that process
variables that have attributes to indicate
both a transformation (via a scale and/or
offset) and missing values should first
check that a data value is valid, and
then apply the transformation. Note that
values that are identified as missing
should not be transformed. Since the
missing value is outside the valid
range it is possible that applying
a transformation to it could result
in an invalid operation. For example,
the default
_FillValue
is very close to
the maximum representable value of IEEE
single precision floats, and multiplying
it by 100 produces an "Infinity" (using
single precision arithmetic).