New Version of Dimension Values =============================== HDF4.0b1 and previous releases use a vgroup to represent a dimension. The vgroup has a single field vdata with class "DimVal0.0". The vdata has number of records, each record has a fake value from 0, 1, 2 ... , ( - 1 ). The fake values are not really required and take a lot of space. For applications that create large one dimensional array datasets the disk space taken by these fake values almost double the size of the HDF file. In order to omit the fake values, a new version of dimension vdata is proposed. The new version uses the same structure as the old version. The only differences are that the vdata has only 1 record with value and that the vdata's class is "DimVal0.1" to distinguish it from the old version. However, existing tools and utilities which were compiled with the old version can't recognize the new dimesions of hdf files created using HDF4.0b2 or later version. This could cause problems for HDF users. To solve this problem, we are planning to implement a transitional policy: 1. Starting from HDF4.0b2 both versions of the dimension will be created by default. The old tools recognize the "DimVal0.0" dimension. 2. A new function SDsetdimval_comp (sfsdmvc) is added which can be called for a specific dimension to suppress the creation of the "DimVal0.0" vdata for that dimension. Users who store big 1D arrays should use this function to create "DimVal0.1" only. See the man page for sdsetdimval_comp.3. 3. A new function SDisdimval_bwcomp (sfisdmvc) is added which can be called to get the current compatibility mode of a dimension. See the man page for sdisdimval_bwcomp.3. 4. HDF4.0b2 and later version of HDF libraries can recognize both old and new versions of dimensions. This means old HDF files can always be read by new HDF libraries. 5. HDF4.1 will create only "DimVal0.1" by default and function SDsetdimval_comp should be called if "DimVal0.0" is also desired. The transition time period is ended. 6. Existing tools and utilities should be re-compiled with HDF4.0b2 or later releases during that transition time period. 7. A new utility will be written to remove redundant "DimVal0.0" from the files created during the transition time period. 8. A new utility will be written to convert "DimVal0.1" to "DimVal0.0" for special cases. Please send bug reports, comments and suggestions to hdfhelp@ncsa.uiuc.edu.