hdf images hdf images

Frequently asked Questions about HDF5

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.


Is there an HDF Blog ?

Yes! There is an HDF Blog web page.

If you would like to write a blog, see the HDF Blog Guidelines for detailed information and directions.


How do I properly cite HDF5 in a paper?

This is how we recommend citing HDF5:

  The HDF Group. Hierarchical Data Format, version 5, 1997-NNNN.
  http://www.hdfgroup.org/HDF5/.

Where "NNNN" is the current year.

The LaTeX BibRef for this is:

@ONLINE{hdf5,
    author = {{The HDF Group}},
    title = "{Hierarchical Data Format, version 5}",
    year = {1997-NNNN},
    note = {http://www.hdfgroup.org/HDF5/}
}


How do I build HDF5 from source?

UNIX:

The following instructions are for building with configure. (If you wish to use CMake, see Building with CMake. Also, refer to the INSTALL_CMake.txt file in the source code.)

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.

WINDOWS:

You must use CMake to build HDF5 from source. For more information see the Windows FAQs.


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 February.


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.)


What is HDF’s Export Control Classification Number (ECCN)?

An Export Control Classification Number, or ECCN, is not required for HDF software, because of the nature of the software and its distribution. The HDF Group is a non-profit organization. The HDF Group’s 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. HDF technologies therefore have the NLR, or No License Required, designation for ECCN classification.

Referencing the Electronic Code of Federal Regulations (Title 15 Commerce and Foreign Trade, Section 734.7(b)), HDF software is available for general distribution for free and does not contain encryption. Therefore, our software is not subject to EAR and does not require an export license. For the actual regulation, see http://www.ecfr.gov/.


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.

   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?

If you give us one or two sentences about it along with a link to the software we will add it to the list of software using HDF5 pages.


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 HDF 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  ------------------------

VERSION:
   HDF5-N.N.N

USER:
   [Name and Email Address]

SYNOPSIS:
   [Brief description of the problem] 

MACHINE / OPERATING SYSTEM:
   [Platform and platform version. On Unix platforms please include
    the output from "uname -a"]

COMPILER:
   [The compiler and compiler version used]

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 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: 31 January 2017