ABOUT HDF4.0 Release 2
July 19, 1996
INTRODUCTION
This document describes the differences between HDF 4.0r1p1 and
HDF 4.0r2. It is written for people who are familiar with
previous releases of HDF and wish to migrate to HDF 4.0r2.
The documentation and release notes provide more in-depth
information concerning the topics discussed here. The HDF 4.0
documentation can be found on the NCSA ftp server in the
directory /HDF/Documentation/HDF4.0/Users_Guide.
First-time HDF users are encouraged to read the FAQ in this
release for more information about HDF. Users can also look
at the home page for HDF at:
http://hdf.ncsa.uiuc.edu/
If you have any questions or comments, please send them to:
hdfhelp@ncsa.uiuc.edu
CONTENTS
- New Features and Changes
- Platforms Tested
- Known Problems
New Features and Changes:
-------------------------
o HDF now supports unlimited number of access IDs and files IDs.
o The vdata field size limit has been increased from 32000 to 65535.
o The hdp utility has been updated to:
- view a GR object
- recognize the new compression methods
- view descriptive annotations
- display the library version of the HDF file
o SDsetattr and GRsetattr now check for both MAX_ORDER and
MAX_FIELD_SIZE.
o The handling of DFNT_CHAR in all Fortran interfaces has been
cleaned up. See release_notes/Fortran_APIs.txt for more
information.
o When appending compressed data onto the end of an unlimited
dimension SDS, the SD interface no longer writes the fill-values
in locations where they will immediately be over-written by data.
This was done for the compression layer, but has the added
enhancement of improving performance.
o On the Cray, there were boundary problems when foreign data did not
start from the 64-bit boundary. This has been fixed.
o There are no longer the following name collisions with the HDF
libraries:
- AVS (HPread, HPwrite)
- Windows SDK (_hread)
- ODL library (_HDF_)
o The 32-bit mode for IRIX 6.1 previously used the '-32' option which
produces mips1 code. It has been changed to use '-n32' which
produces mips4 code. This runs faster on the Power Challenges.
Users who must use the '-32' option can link their code with
the IRIX 5.3 HDF library.
o The compression problems have been fixed when using HDF on IRIX 6.1
with the -n32 (see Known Problems below).
o The zlib and jpeg libraries have been updated. The versions included
with HDF 4.0 Release 2 are:
zlib version 1.0.2
jpeg version 6a (7-Feb-96)
o The hdfls utility has been updated to:
- support the new compression modes
- display the library version of the HDF file
o Support for the 16-bit architecture has been pulled out of HDF.
o The directories separator in the directory variable used by the
function HXsetdir (Fortran equivalent: hxsdir) is the verticle bar
('|') now. It used to be the colon (':') symbol, but a colon is
a legal symbol for a file pathname in the MacOS system.
o The code has been rearranged so that most applications' binaries
will be smaller.
o A new routine, VSfpack(), has been added. Please see the HDF man
page on how to use this routine.
o A new routine, GRluttoref(), has been added. Please see the HDF man
page on how to use this routine.
o Several internal problems have been fixed with the GR interface.
Changes in Compiling the Source Code:
o A new compile option, '-DHAVE_NETCDF', has been added, to avoid conflicts
in linking the HDF/MFHDF library with the original netCDF library.
This is only available for the C-interface. However, keep in
mind that you cannot read/write HDF files using the netCDF libraries.
See section 2.4.3.2 in the INSTALL file for more information.
o When compiling and installing HDF, the default location to place the
binaries, has been changed from /usr/local/bin to NewHDF in the
source directory. For example, assuming the library source is loaded
at /usr/local/src/hdf, the following commands will result in the HDF
binaries being placed in the directory /usr/local/src/hdf/dev/NewHDF.
cd dev
./configure -v
make
make test
make install
o The Fortran test output has been cleaned up and shortened, when
running "make test". Previously, the Fortran tests on the hdf/
side consisted of multiple Fortran programs invoked by a C frontend.
The test programs were changed to subroutines and combined as one
Fortran program. The C frontend was also changed to produce a
'directive' file, called fortest.arg, which contains directives to
run the Fortran test program.
Platforms Tested:
-----------------
HDF 4.0r2 has been tested on the following platforms:
AIX Linux ELF
C90 MAC
CM5 SP2 (single node)
Digital Unix 3.2 Solaris_2.4
Exemplar 9.03 Solaris 2.5
Free BSD Solaris_x86 2.4 (C only)
Fujitsu (C only) SunOS 4.1.4
HP-UX T3D (C only)
IRIX 6.1 w/-n32 bit option VMS
IRIX 6.1 w/-64 bit option Windows NT/95
IRIX 5.3 YMP
Linux A.OUT
Known Problems:
---------------
o On the SunOS platform, there is a bug when using sfscal()/sfgcal()
routines with gcc and f77.
o On the VMS platform, there is a bug with float64 data.
o For IRIX 6.1, the stdio.h file gives a false warning message if both
the '-n32' and '-ansi' options are used for the C compiler. We have
temporarily removed the '-ansi' option from our autoconfiguration
for the Irix6_32 system, to avoid these messages. We have verified
that the culprit in stdio.h has been corrected in IRIX 6.2, and plan
to put the '-ansi' option back in our next release.
o The compression tests produce errors for FLOAT32 data if the '-O'
option is used on IRIX 6.1, for both the '-64' bit and '-n32'
bit modes. It did not produce errors when using the '-32' bit
option or when not using the '-O' option. We are unsure whether the
errors are due to the compression code or the IRIX C optimizer. For
now, we have chosen to compile the HDF library without the '-O' option,
while we investigate the problem.