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 | deci | 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 |