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 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
specifies how the
valid_range should be defined from
_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 strongly that this value be specified
_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
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.
_FillValue should be outside the range specified
valid_range (if used) for a variable. The netCDF
library defines a default fill value for each data type (
NUG section 7.16
NUG section 7.16 ).
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
attribute to indicate undefined or missing data.
The missing values of a variable with
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. (a.k.a. the packed values, the raw values, the values
stored in the netCDF file), not the values that result after the scale
and offset are applied. 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).
This convention defines
a two-element vector attribute
variables containing numeric data. If the variable is packed using the
attributes (see section 8.1), the elements of the
actual_range should have the type intended for the
unpacked data. The elements of
actual_range must be
exactly equal to the minimum and the maximum data values which occur in
the variable (when unpacked if packing is used), and both must be within
valid_range if specified. If the data is all
missing or invalid, the
actual_range attribute cannot