ABOUT HDF4.0 Beta 1 July 25, 1995 CONTENTS 1. New features in the HDF4.0 Beta 1 release 2. Bugs fixed and known problems 3. Platforms tested 4. Installation of HDF4.0 Beta 1 on WindowsNT/95 5. Known problems in compilation, testing and installation of HDF4.0b1 6. Installing without FORTRAN support 1. New features in HDF4.0 Beta 1 release o Auto configuration It is now possible to automatically configure and build both the HDF library and netCDF library with one command. See the README and the INSTALL files at the top level of HDF4.0beta1 for detailed instructions on configuring and installation. o Multi-file Annotation Interface (ANxxx) The multi-file annotation Interface is for accessing file labels and descriptions, and object labels and descriptions. It allows users to keep open more than one file at a time, and to access more than one annotation at a time. It also allows multiple labels and multiple descriptions to be applied to an HDF object or HDF file. A draft of the documentation for this interface is in ./mf_anno.txt. o Multi-file Raster Image (GRxxx) interface The new Generic Raster (GR) interface provides a set of functions for manipulating raster images of all kinds. This interface allows users to keep open more than one file at a time, and to "attach" more than one raster image at a time. It supports a general framework for attributes within the RIS data-model, allowing 'name = value' style metadata. It allows access to subsamples and subsets of images. HDF4.0beta1 includes a C interface only. The Fortran interface will be available in the next release. A draft of the documentation for this interface is in ./mf_ris.txt. o New Compression Algorithms and interface A new low-level compression interface has been added to HDF which allows any data-object to be compressed using a variety of algorithms. Currently only two compression algorithms are supported: Run-Length Encoding (RLE) and adaptive Huffman. A draft of the documentation for this interface is in ./compression.txt o JPEG Group v5b library HDF Version 4.0 libraries now use v5 of the Independent JPEG Group (IJG) JPEG file access library. For more details about JPEG library see ./JPEG_v5b.txt The JPEG library will need to be linked with a user's applications whether they are compressed with JPEG or not. For example on a SUN SPARC, if the .h files are in the directory "incdir", and all libraries are in "libdir," the following command should be used to compile a C program "myprog.c": cc -DSUN -DHDF -Iincdir myprog.c libdir/libnetcdf.a \ libdir/libdf.a /libdir/libjpeg.a -o myprog or cc -DSUN -DHDF -Iincdir myprog.c -L libdir -lnetcdf \ -ldf -ljpeg -o myprog Note that the order is important: libnetcdf.a must occur first, then libdf.a, and then libjpeg.a. For FORTRAN programs, use command line: f77 -o myprogf myprogf.f libdir/libnetcdf.a \ libdir/libdf.a libdir/libjpeg.a or f77 -o myprogf myprogf.f -L libdir -lnetcdf -ldf -ljpeg Note that the order is important: libnetcdf.a, then libdf.a and then libjpeg.a. o Compression for HDF SDS (not completely working) Work is almost complete on the addition of two new compression functions to the SD interface. One function, which still has some known bugs, will allow users to compress a scientific dataset using any of several compression methods. Initially two schemes, RLE encoding and an adaptive Huffman compression algorithms, will be available. A second function is available for storing a scientific dataset using integers whose size is any number of bits between 1 and 32 (instead of being restricted to 8, 16 or 32-bit sizes). A draft of the documentation for these functions is in ./comp_SDS.txt o External Path Handling New functions have been added to allow applications to specify directories to create or search for external files. More explanation can be found in: ./external_path.txt. o Parallel I/O for the CM5 An extension using the parallel I/O facilities on a CM5 has been added to the SDS interface. Initial tests have resulted in about 25 MBytes/second I/O throughput using the SDA (Scalable Disk Array) file system. The library provides interfaces for both C* and CMF programming languages. See: ./parallel_CM5.txt for details. o HDF dumper Hdp is a command line utility designed for quick display of contents and data of HDF3.3 objects, RIS, SDS, Vdata, and Vgroup. It can list the contents of hdf files at various levels with different details. It can also dump the data of one or more specific objects in the file. See: ./hdp.txt for details. Currently hdp works on SunOS and LINUX only. 2. Bugs fixed and known problems Several bugs or problems, such as failure in setting and getting scales for unlimited dimensions, missing Fortran version of VSQxxxx functions, failure in defining more than 36 fields in Vdatas, etc. were fixed in this beta release. For more details about fixed and un-fixed bugs and problems please see: ./bug_fixed.txt. 3. HDF4.0 Beta 1 has been tested on the following systems: SunOS 4.1.3, SunOS 5.3 (Solaris 2.3), Linux, SGI/IRIX5.3, SGI Power Challenge/IRIX6.0 (32-bit mode only), HP/UX 9.01, IBM RS6000/AIX (C only), C3880/ConvexOS,11.0, CM5, Cray C90, DEC alpha/OSF (C only), DecStation/MIPSEL (C only), Windows NT, Free BSD 2.0, and Convex Exemplar/HPUX. See the INSTALL file at the top level of HDF4.0b1 for more details. 4. Installing HDF4.0 Beta 1 on Windows NT and Windows 95 Since Windows NT, Windows '95 (Chicago) and Windows 3.1 (with the Win 32s extensions) all are designed to run the same 32-bit code, we have decided to support only 32-bit libraries and code on the MS-Windows platform. To build the HDF, JPEG and netCDF libraries and utilities, follow the instructions listed in: ./install_winNT.txt. 5. Known problems in compilation,testing and installation of HDF4.0b1: . On SunOS, tsdmmsf.f in hdf/test/fortest fails . On C90, mfhdf/fortran test doesn't configure correctly. The adaptive Huffman algorithm does not work right either. Due to this problem, when running hdf/test/testhdf the test module comp prints out error messages. . On DecStation/MIPSEL, ncdump gives a segmentation fault. . The Fortran interface has not been tested on IBM RS6000, DecStation/MIPSEL, and Dec Alpha/OSF because a Fortran compiler is not available on those machines in our group. . If the external element test in hdf/test/testhdf fails and there is no subdirectory "testdir" in hdf/test/, create one via "mkdir" and run the test again. (The "testdir" should have been created by "make". But the "make" in some old systems does not support the creation commands.) . A bug was found in the "mfhdf.h" file late in the testing stage. The error occured in the CM5 parallel I/O extension only. The fix is not included in the source release, but it is avalable in the binary release for the CM5 version. Please retrieve the fix there. . SDsetcompress does not work correctly. . Hdp now works on SunOS and LINUX only. Commands dumpsds, dumpvd and dumpvg have different problems on other platforms. See mfhdf/dumper/README for more details. 6. Installing without FORTRAN support: . On UNIX systems without a FORTRAN system installed, the config/mh- will need to have the 'FC' macros defined to "NONE" for correct configuration and the target "allnofortran" should be used to build the distribution, instead of the target "all".