[Top] [Prev] [Next] [Bottom]
Appendices
Appendix A: NCSA HDF Tags
Overview
This appendix includes tables containing brief descriptions of most of the tags that have been assigned at NCSA for general use. This list will be expanded in future editions to include new tags as they are assigned. A more detailed description of the tags can be found in the HDF Specifications manual.
Each table contains a list of tags within one category. The titles of the tables, with a functional description of each table, are:
Tag Types and Descriptions
The following tables have five columns: the "Tag Name" column contains the abbreviated symbolic names of tags that are often used in an augmented form in HDF programs, the "Short Description" column contains a brief (four word maximum) description of the tag that is commonly used to describe to the tag in HDF manuals and in-line code documentation, the "Data Size" column describes the type of data that is associated with the tag and, where possible, lists the data size, the "Number" column list the numeric value of the tag symbol in the "hdf.h" header file, and the "Long Description" column contains a general description of the tag. The "Data Type" column contains a generalized description of the type of data referred to by the tag.
In the tables, any entry specified as "String" refers to a sequence of ASCII characters with the null byte possibly occurring at the end, but nowhere else. Any entry specified as "Text" also refers to a sequence of ASCII characters, but it may contain zero bytes anywhere in the sequence. An entry in the "Data Type" specified by an "n" refers to a data unit of variable-length. For a more detailed description of these units of data, refer to the appropriate tag entry in the HDF Specification Manual.
TABLE A The HDF Utility Tags
TABLE B The HDF General Raster Image Tags
TABLE C The HDF Composite Image Tags
TABLE D The HDF Scientific Data Set Tags
TABLE E The HDF Vset Tags
TABLE F The Obsolete HDF Tags
Appendix B: HDF Installation Overview
General HDF Installation Overview
A. Acquiring the HDF Library Source.
You may obtain HDF via FTP, an archive server, or US mail.
FTP server: If you are connected to Internet (NSFNET, ARPANET, MILNET, etc.) you may download HDF source code at no charge from the anonymous ftp server at NCSA. The Internet address of the server is:
ftp.ncsa.uiuc.edu or 141.142.3.135
Note: the IP address has been changed from 141.142.20.50 to 141.142.3.135. Log in by entering anonymous for the name and your local e-mail address ("login@host") for the password.
After logging in change directory to "HDF/HDF4.1/". If you want packed source code, change directory to "tar/", "hqx/", or "zip/". Files in those directories must be transferred using binary mode.
If you want unpacked source code, change directory to "unpacked/" and transfer all the files in unpacked/ and in its subdirectories to your host.
If you have any questions regarding this procedure or whether you are connected to Internet, consult your local system administration or network expert.
We have set up an HDF anonymous FTP server to mirror what is on the FTP server. The internet address of the HDF server is:
hdf.ncsa.uiuc.edu (141.142.21.14)
If you try to log on to NCSA's ftp server and receive the message saying too many users are connected to NCSA ftp, try this HDF ftp server.
B. Building the HDF Library Source.
The HDF base library can be built with a single command from the top level directory where the subdirectories "src/", "util/", and "test/" reside. The file "Makefile.template" is a generic, machine independent makefile which you can modify if there is no makefile already built for your machine.
For convenience, there are also machine-customized makefiles. For example. the "MAKE.IBM6000" file is a makefile suitable for compiling HDF on an IBM RS/6000. Assuming you are on an IBM RS/6000, copy "MAKE.IBM6000" to "Makefile" and use the following commands to install different targets:
cp MAKE.IBM6000 Makefile
make allnofortran builds the HDF library and only the C interfaces, the utilities and the C test programs. make all builds the HDF library with the C and Fortran-77 interfaces, the utilities, and C and Fortran-77 test programs.
General netCDF Installation Overview
Building the netCDF Library Source.
The HDF netCDF/HDF library build process is automatically configured by the makefile system. Modify the file named "CUSTOMIZE" in the "mfhdf" (which stands for multi-file hdf) directory and run the script named "configure". It will set up all of the makefiles correctly. Refer to the "INSTALL", "README", and "README.HDF" files in the "mfhdf" directory for instruction and direction.
Procedures to Set Up the HDF Application Programming Environment
To use HDF routines in your C program, you must add the line #include "hdf.h" if you don't use the netCDF/HDF library, or #include "mfhdf.h" otherwise. This must be near the beginning of your code.
Note: Applications that need netCDF or multi-file SDS functionality should link with both "libnetcdf.a" and "libdf.a" in this order (the order is critical!). Applications that use neither of these interfaces can just link with the "libdf.a" library for the base level of HDF functionality.
If you are on a SUN SPARC, the include files are in the directory "incdir", the base library file "libdf.a" is in "libdir", and the netCDF/HDF library file "libnetcdf.a" is in "mflibdir". Use the following command to compile a C program "myprog.c":
cc -DSUN -DHDF -Iincdir myprog.c mflibdir/libnetcdf.a libdir/libdf.a -o myprog
or
cc -DSUN -DHDF -Iincdir myprog.c -L mflibdir -lnetcdf -L libdir -ldf -o myprog
The mflibdir/libnetcdf.a or -L mflibdir -lnetcdf need not be included if you are not using the multi-file interface.
For Fortran-77 programs, if your Fortran-77 compiler accepts 'include' statements, you may include :hdf.inc", "dffunc.inc", and "netcdf.inc" in your program. Otherwise, you need to declare in your program all the constants used and functions called by the program. To compile a Fortran-77 program "myprogf.f" use:
f77 -o myprogf myprogf.f mflibdir/libnetcdf.a libdir/libdf.a
or
f77 -o myprogf myprogf.f -L mflibdir -lnetcdf -L libdir -ldf
Again, the mflibdir/libnetcdf.a need not be included if you are not using the multifile interface.
Windows NT Installation
Please refer to the "install_winNT.txt" file in the "./release_notes" directory of the distribution.
Use of the Pablo Instrumentation of HDF
This version of the distribution has support for creating an instrumented version of the HDF library (libdf-inst.a). This library, along the Pablo performance data capture libraries, can be used to gather data about I/O behavior and procedure execution times.
More detailed documentation on how to use the instrumented version of the HDF library with Pablo can be found in the Pablo directory '$(toplevel)/hdf/pablo'. See the provided '$(toplevel)/hdf/pablo/README.Pablo' and the Postscript file '$(toplevel)/hdf/pablo/Pablo.ps'.
At this time only an instrumented version of the core HDF library libdf.a can be created. Future versions will have support for the SD interface found in libmfhdf.a. Current interfaces supported are AN, GR, DFSD, DFAN, DFP, DFR8, DF24, H, V, and VS.
To enable the creation of an instrumented library the following section in the makefile fragment($(toplevel)/config/mh-<os>) must be uncommented and set.
# ------------ Macros for Pablo Instrumentation --------------------
# Uncomment the following lines to create a Pablo Instrumentation
# version of the HDF core library called 'libdf-inst.a'
# See the documentation in the directory 'hdf/pablo' for further
# information about Pablo and what platforms it is supported on
# before enabling.
# You need to set 'PABLO_INCLUDE' to the Pablo distribution
# include directory to get the files 'IOTrace.h' and 'IOTrace_SD.h'.
#PABLO_FLAGS = -DHAVE_PABLO
#PABLO_INCLUDE = -I/hdf2/Pablo/Instrument.HP/include
After setting these values you must re-run the top-level 'configure' script. Make sure that your start from a clean re-build(i.e. 'make clean') after re-running the toplevel 'configure' script and then run 'make'. Details on running configure can be found in the section 'General Configuration/Installation - Unix' found in the top-level installation file '$(toplevel)/INSTALL'.
[Top] [Prev] [Next] [Bottom]
hdfhelp@ncsa.uiuc.edu
HDF User's Guide - 06/04/97, NCSA HDF
Development Group.