An important feature of CDF is that it can handle data sets that are inherently multidimensional in addition to data sets that are scalar. To do this, CDF groups data by ``variables'' whose values are conceptually organized into arrays. The dimensionality of these variable arrays depends upon the data and is specified by the user when the CDF or a variable is created. For scalar data, as an example, the array of values would be 0-dimensional (i.e., a single value); whereas for image data the array would be 2-dimensional. Similarly, the array for volume data would be 3-dimensional. CDF allows users to specify arrays of up to ten dimensions. The array for a particular variable is called a ``variable record.'' A collection of arrays, one for each variable, is referred to as a ``CDF record.'' A CDF can, and usually does, contain multiple CDF records. This is useful for data with repeated observations at different times.
Two types of variables
may exist in a CDF: rVariables
and zVariables.
Every rVariable in a CDF must have the same number of dimensions and
dimension sizes.
In the scalar data example the CDF's rVariables would be 0-dimensional,
whereas for the image
data example the CDF's rVariables would be 2-dimensional.
Figures 1.1
and 1.2 illustrate 0-dimensional and 2-dimensional
rVariables, respectively. zVariables may have a different number of dimensions
and/or dimension sizes than that of the rVariables in a CDF.
Figure 1.3 illustrates several zVariables.
Note that a CDF may contain both rVariables and zVariables.
The term ``variable'' is used when describing a property that applies to both
rVariables and zVariables.
Figure 1.1: Conceptual View of a CDF, 0-Dimensional rVariables
Figure 1.2: Conceptual View of a CDF, 2-Dimensional rVariables
Figure 1.3: Conceptual View of a CDF, zVariables
It is important to note that there is no single ``correct'' way to store data in a CDF. The user has complete control over how the data values are stored in the CDF (within the confines of the variable array structure) depending on how the user views the data. This is the advantage of CDF. Data values are organized in whatever way makes sense to the user.