Go to the previous, next section.
Besides serving as sizes for integer indexes to multidimensional
variables, dimensions may be used to define coordinate systems for
variable data. To do this, create a variable with the same name as a
dimension and specify coordinate values for that variable. A variable
should only be given the same name as a dimension in a netCDF file when it is
to be used as a coordinate variable. Such variables are
indexed by the dimension for which they provide coordinate values, for
example, lat(lat)
.
It is not necessary to provide a coordinate variable for each dimension; if no such variable is defined, the coordinate values of the dimension are assumed to be 0, 1, 2, ... (for C programs) or 1, 2, 3, ... (for FORTRAN programs). Although the C and FORTRAN interfaces support different conventions for index numbering, there is no difference between the actual netCDF files written by C and FORTRAN programs. Programs written in either language can be used to access data written by programs using the other interface.
In the CDL example, each dimension has an associated coordinate variable
with the same name as the dimension. The four values of the
level
index, 0, 1, 2, 3, (1, 2, 3, 4 in FORTRAN) are related in
coordinate-like fashion to the four values (1000, 850, 700, 500) of the
level
variable. Note that there is no requirement that
coordinates be equally spaced or increasing. It would not make much
sense for two coordinate values to be the same, but the meaning of
coordinate variables is enforced only by conventions of application
packages and utilities, not by the netCDF interface. The application
packages and utilities that make use netCDF coordinate variables assume
they are one-dimensional and monotonic (all values either increasing or
decreasing).
Go to the previous, next section.