hdf images hdf images

Frequently asked Questions about HDF5

List of Information organized by level of HDF5 expertise

Contents


Copyright Information for other language bindings

What copyright notice is required for other language bindings? If we were to create a set of language bindings in Ada, for example, what attribution/disclaimer would we need to provide?

In terms of the copyright notice, other language bindings should be treated as any other application, program, or code that uses HDF5. If creating a set of language bindings, the HDF5 Copyright Notice and License would need to be included or provided with that source code. An efficient way to do this would be to include the HDF5 COPYING file from the HDF5 source code.


How do I properly cite HDF5 in a paper?

This is how we recommend citing HDF5:

  The HDF Group. Hierarchical data format version 5, 2000-2010.
  http://www.hdfgroup.org/HDF5.


How do I build HDF5 from source?

If need be, specify the compilers to use. For example:

    setenv CC /<path_to_compiler>/gcc 
    setenv FC /<path_to_compiler>/f90 

The simple instructions are:

    cd <top HDF5 source code directory>
    ./configure --prefix=<location for HDF5 software> 
    make >& make.out
    make check >& check.out
    make install 

To view the options that can be specified with configure, specify the -h option to configure.
Other common options that can be used with configure are:

 --enable-parallel
 --enable-fortran 
 --enable-cxx 
 --with-zlib=INSTALLDIR
 --with-szlib=INSTALLDIR
 --disable-shared --enable-static
 --disable-hl    

Review the check.out file to be sure everything was built and tested properly.

For more detailed instructions refer to the INSTALL file in the release_docs/ directory of the HDF5 source code.


How can I build the tests and ignore any errors?

You can use the environment variable $HDF5_Make_Ignore to tell the hdf5 Makefile to ignore test errors and continue on. For example:
    env HDF5_Make_Ignore=yes gmake check

If a test fails, make will print a message (echo "*** Error ignored") and continue. Therefore, you can search the output for the string "Error ignored" to see if any tests failed.

When will the next release of HDF5 be?

In general, a maintenance release of HDF5 occurs every six months (around May and November). HDF4 is released once a year around January.


Are there tools to remotely access parts (subsets) of an HDF5 file on-line?

Our HDF5 Files are very big, and it is impractical for users to download an entire file. Are there tools available which would enable subsets of data to be downloaded?

Yes, OPeNDAP and iRODS are two applications which enable this. They are both based on a client-server model. (However, the HDF5-iRODS Project and Software which enabled HDF5 to be used with iRODS is no longer maintained.)


We need the Export Control Classification Number (ECCN) for your software.

An ECCN is not required for our software, because of the nature of the software and its distribution. The HDF Group is a non-profit organization. The HDF Group software is free of charge and available for download without restriction, and is designed for installation by the user without further substantial support by the supplier. In the following documentation, refer to SCOPE OF THE EXPORT ADMINISTRATION REGULATION, Section 734.7:

    http://www.access.gpo.gov/bis/ear/txt/734.txt

The HDF technologies has the NLR "No License Required" designation for ECCN classification.


How do you access the ftp server from a command line prompt ?

Sometimes users have problems accessing the HDF Group ftp server through our web pages. (See NOTE for one example explaining why this could happen.)

Accessing the HDF Group ftp server directly may work better. Here are the instructions for doing so:

   Go to a command line prompt.

   Type:
     ftp ftp.hdfgroup.org

   You will be prompted for a name and password.  Enter
   "anonymous" for the name, and your email address for the
   password.

   You will then be put at an ftp prompt:
      ftp>

   Then you need to enter ftp commands to get
   to the location of our software and download it.

   Enter "bin" to be put in binary mode:
      bin

   Enter "pwd" to see where you are located:
      pwd

   Go the location of the software you need:
      cd /HDF/HDF_Current       (for HDF4)
      cd /HDF5/current          (for HDF5)

   You will see:
      bin/
      src/

   The source code is under the src/ directory.
   The pre-compiled binaries for the platforms we support are
   under bin/.

   To see what is in a directory type:
       dir

   To obtain a file xxx, type:
       get xxx

   To obtain more than one file beginning with "xx", type:
       prompt
       mget xx*

   (The "prompt" keeps it from prompting before copying each file.)

   To exit ftp:
       quit
NOTE: One reason you might not be able to download files is that your browser setting is incorrect. For example if you are on Windows using Internet Explorer and the Internet Explorer ftp mode is NOT set to passive, this could cause problems with a firewall, if one is set up. Change the ftp mode to passive as follows:
    Tools -> Internet Options -> Advanced -> Use Passive FTP (for firewall and DSL modem compatibility)

How do I contribute my software to the HDF user community?

There are two ways that you can do this:

If you have developed or ported something you think would be helpful to other users, please contact the HDF Group Helpdesk indicating that you would like to contribute your software to the HDF user community.

If you wish to have it placed on the HDF Group ftp server, then for other users' convenience, your contribution package should include the software itself, a Makefile if possible, a man-page, test programs and input data files for testing. A README file is required. It should describe briefly the purpose, function and limitation of the software, on which platforms and operating systems it runs, how to compile, install, and test it, and who and where to contact for comments, suggestions, or bug reports.


How to convert from GeoTIFF to HDF4 or HDF5?

A simple way to get GeoTIFF files into HDF4 or HDF5 is to use Paint and HDFView. Open the *.TIF files in Paint, then save the files as *.JPG files. Open HDFView, read in the *.JPG files and then convert them into HDF4 or HDF5 files.


How to convert HDF4 or HDF5 files to ASCII (text) or Excel?

You can use h5dump (HDF5), hdp (HDF4) or HDFView (for both HDF4 and HDF5) to dump data into an ASCII file that can be imported into Excel.

h5dump: (HDF5)
You can convert HDF5 files into ASCII (comma delimited) that can be imported into Excel, without it wrapping the lines. You would use h5dump with the -y and -w options:

   h5dump -o dset.asci -y -w 400 dset.h5

Note that the value that is specified for the -w option must be the dimension size multiplied by the number of positions and spaces needed to print each value. (So be sure to specify a value that is big enough!)

hdp: (HDF4)
You can convert an HDF4 file into an ASCII file (space delimited) that can be imported into Excel, without it wrapping the lines. Use hdp with the -d and -s options. For example:

       hdp dumpsds -s -d -n "data1" sd.hdf > & sd.asc

HDFView: (both)
You can also open an HDF4 or HDF5 dataset with the TableView (spreadsheet) in HDFView, and then select "Export Data to File", to obtain a tab-delimited ASCII file that can be imported into Excel.


How do I make a bug report?

All bug reports, comments, suggestions and questions should go to the helpdesk.

Attached below is a bug report template. It is not necessary to use this template, but it shows what is helpful to us in reproducing a problem.

       ------------------  Template for bug report  ------------------------
       To: help@hdfgroup.org
       Subject: [VERSION]: [SYNOPSIS]

       VERSION:
          HDF5-1.8.2

       USER:
              [Name, phone number and address of person reporting the bug.]

       SYNOPSIS:
              [Brief description of the problem.] 

       MACHINE / OPERATING SYSTEM:
              [e.g. Solaris 10,  Linux 2.6 ...
              On Unix platforms, please include the output from
              "uname -a".]

       COMPILER:
              [e.g. native cc, native ANSI cc, g95, MPW, ...]

       DESCRIPTION:
              [Detailed description of problem.]

       REPEAT BUG BY:
              [What you did to get the error; include test program or session
               transcript if at all possible.  If you include a program, make
               sure it depends only on libraries in the HDF distribution, not
               on any vendor or third-party libraries.  Please be specific;
               if we can't reproduce it, we can't fix it. Tell us exactly what
               we should see when the program is run.  NOTE:  It helps us a
               LOT if the example program is written in C and can be run
               easily on Unix.]

       SAMPLE FIX:
              [Fix or patch, if you have one. ]

       ------------------  End of Bug Report Template  ----------------------

- - Last modified:August 26th 2010