The attributes described in this section are used to provide a
description of the content and the units of measurement for each variable.
We continue to support the use of the units
and
long_name
attributes as defined in COARDS. We extend
COARDS by adding the optional standard_name
attribute
which is used to provide unique identifiers for variables. This is important
for data exchange since one cannot necessarily identify a particular
variable based on the name assigned to it by the institution that provided
the data.
The standard_name
attribute can be used to identify
variables that contain coordinate data. But since it is an optional
attribute, applications that implement these standards must continue to be
able to identify coordinate types based on the COARDS conventions.
The units
attribute is required for all variables
that represent dimensional quantities (except for boundary variables
defined in Section 7.1, “Cell Boundaries” and climatology variables
defined in Section 7.4, “Climatological Statistics”). The value of the
units
attribute is a string that can be recognized by
UNIDATA"s Udunits package [UDUNITS], with a few
exceptions that are given below. The Udunits
package includes a file udunits.dat
, which
lists its supported unit names. Note that case is significant in the
units
strings.
The COARDS convention prohibits the unit
degrees
altogether, but this unit is not forbidden by
the CF convention because it may in fact be appropriate for a variable
containing, say, solar zenith angle. The unit degrees
is also allowed on coordinate variables such as the latitude and longitude
coordinates of a transformed grid. In this case the coordinate values are
not true latitudes and longitudes which must always be identified using
the more specific forms of degrees
as described in
Section 4.1, “Latitude Coordinate” and Section 4.2, “Longitude Coordinate”.
Units are not required for dimensionless quantities. A variable with
no units attribute is assumed to be dimensionless. However, a units
attribute specifying a dimensionless unit may optionally be included. The
Udunits package defines a few dimensionless units, such as
percent
, but is lacking commonly used units such as
ppm (parts per million). This convention does not support the addition of
new dimensionless units that are not udunits compatible. The conforming
unit for quantities that represent fractions, or parts of a whole, is "1".
The conforming unit for parts per million is "1e-6". Descriptive
information about dimensionless quantities, such as sea-ice concentration,
cloud fraction, probability, etc., should be given in the
long_name
or standard_name
attributes (see below) rather than the units
.
The units level
, layer
,
and sigma_level
are allowed for dimensionless
vertical coordinates to maintain backwards compatibility with COARDS.
These units are not compatible with Udunits and are deprecated by this
standard because conventions for more precisely identifying dimensionless
vertical coordinates are introduced (see Section 4.3.2, “Dimensionless Vertical Coordinate”).
The Udunits syntax that allows scale factors and offsets to be
applied to a unit is not supported by this standard. The application of
any scale factors or offsets to data should be indicated by the
scale_factor
and add_offset
attributes. Use of these attributes for data packing, which is their most
important application, is discussed in detail in Section 8.1, “Packed Data”.
Udunits recognizes the following prefixes and their abbreviations.
Table 3.1. Supported Units
Factor | Prefix | Abbreviation | Factor | Prefix | Abbreviation | |
---|---|---|---|---|---|---|
1e1 | deca,deka | da | 1e-1 | deci | d | |
1e2 | hecto | h | 1e-2 | centi | c | |
1e3 | kilo | k | 1e-3 | milli | m | |
1e6 | mega | M | 1e-6 | micro | u | |
1e9 | giga | G | 1e-9 | nano | n | |
1e12 | tera | T | 1e-12 | pico | p | |
1e15 | peta | P | 1e-15 | femto | f | |
1e18 | exa | E | 1e-18 | atto | a | |
1e21 | zetta | Z | 1e-21 | zepto | z | |
1e24 | yotta | Y | 1e-24 | yocto | y |