A CDF may be placed into zMode
via the Internal Interface using
the <<SELECT_,CDF_zMODE_>>
operation. When in zMode a CDF's
rVariables essentially disappear and are replaced by corresponding
zVariables.
Likewise, the rEntries for a vAttribute become zEntries (because they
are now associated with zVariables). While in zMode most operations
involving rVariables/rEntries will fail. (Some inquiry operations will
be allowed. For example, inquiring the number of rVariables
is allowed [but will always be zero].)
When zMode is used, the number of variables remains the
same --- rVariables simply change into zVariables. Note that the existing
contents of the CDF are not changed --- the CDF simply appears different.
Each new zVariable has the same exact properties as the corresponding (hidden)
rVariable except for dimensionality and variances. The data specification
(data type and number of elements), pad value, etc. stay the same. The
dimensionality/variances of each zVariable are dependent on which zMode
is currently being used: zMode/1
or zMode/2.
In zMode/1 the dimensionality/variances stay exactly the same.
In zMode/2, however, those dimensions with a false variance
(NOVARY) are eliminated. Consider
a CDF with an rVariable dimensionality of 2:[180,360]
containing the following rVariables.
[]This notation is also used throughout this
document. The record variance is before the slash and the dimension variances
are after the slash. In this case the record variance is true (VARY)
and the dimension variances are both false (NOVARY). The
variances for a 0-dimensional variable would be represented as T/ (if
the record variance were true).
If this CDF were to be placed into zMode/1, the following zVariables would replace the existing rVariables.
Note that the dimensionality of each zVariable is the same as it was for the rVariables in the CDF. However, if zMode/2 were used, the following zVariables would replace the existing rVariables.
In this case the false dimensional variances were removed (which decreased the dimensionality in several of the variables).
A CDF can be placed into or taken out of zMode any number of times while it is open. Each time the zMode is changed for a CDF, it would be best to think of the CDF as being closed and reopened in that zMode. The numbering of variable/entries may or may not be as you would expect (and the scheme used could change in a future release of CDF). Most applications will simply select a zMode immediately after opening a CDF. (zMode being off is the default if a zMode is not selected.)
NOTE: Using zMode does not change the contents of a CDF. A CDF containing rVariables will appear to contain only zVariables when in zMode. If the same CDF is then opened without using zMode, the rVariables will still exist.