- General Information
- Obtaining the HDF Software and Documentation
- Installing and Compiling
- Questions Specific to Using the Software:
- How to Store your Data - Templates and Examples
- Converting In and Out of HDF4/HDF5
- Backward/Forward Compatibility Issues
- Tutorial, Example Programs, etc..
- Other: Mailing List, Contributed Software, Bug Reports
- What is HDF5 ?
- Copyright Information
- Copyright Information for other language bindings
- How do I properly cite HDF5 in a paper?
- What is the latest official release of HDF5 and what platforms does it support ?
- What are the new features in the latest release?
- When will the next release of HDF5 be?
- Are there tools to use with HDF5 ? (Yes)
- Are there tools to remotely access parts (subsets) of an HDF5 file on-line?
- How is HDF5 different than HDF4 ?
- We need the Export Control Classification Number (ECCN) for your software.
- Where can I get the HDF5 source code and pre-compiled binaries ?
- What documentation for HDF5 is available and where ?
- How do you access the ftp server from a command line prompt ?
- How do I build HDF5 from source ?
- Building with CMake
- Windows Install Questions
- HDF5 Install/Build Questions
- How can I build the tests and ignore any errors?
- Adding CF attributes to an HDF5 file
- Registering a Compression Method with HDF5 (bzip)
- Storing Images in HDF5 (Image and Palette Specification)
- How to convert from GeoTIFF to HDF4 or HDF5?
- How to convert HDF4 or HDF5 files to ASCII (text) or Excel?
- HDF5 Tools by Category (lists ways to edit, export, convert, and import)
- Is there an HDF5 Tutorial ?
- Are there any example programs ? (Yes)
- Are there any example HDF5 files ?
- Are there scripts for running applications ?
- Is there a mailing list for disseminating information regarding HDF/HDF5 ?
- How do I contribute my software to the HDF5 user community ?
- How do I make a bug report ?
How to Store your Data - Templates and Examples
Converting In and Out of HDF4/HDF5
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.
This is how we recommend citing HDF5:
The HDF Group. Hierarchical data format version 5, 2000-2010. http://www.hdfgroup.org/HDF5.
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.
You must use CMake to build HDF5 from source. For more information see the Windows FAQs.
$HDF5_Make_Ignoreto tell the hdf5 Makefile to ignore test errors and continue on. For example:
env HDF5_Make_Ignore=yes gmake checkIf a test fails,
makewill 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.
In general, a maintenance release of HDF5 occurs every six months (around May and November). HDF4 is released once a year around February.
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.)
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
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: quitNOTE: 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)
- You can either give us the software and we will place it on the HDF Group
ftp server in the directory:
HDF5 Tools and Contributed
Software page, accessible from the HDF5 home page.
- You can tell us where the software is located and we will add a link to it on the page, HDF5 Tools and Contributed Software, accessible from the HDF5 home page.
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.
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!)
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
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.
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: email@example.com Subject: [VERSION]: [SYNOPSIS] VERSION: HDF5-1.8.11 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: [The compiler and compiler version used. e.g. gcc 4.1.2] 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:December 03rd 2013