Page tree

The HDF5 source code provides many example programs:

C

FeatureExample
Introductory examplesExamples from Learning the Basics
Creates / Reads / Writes Attributesh5_attribute.c
Reads / Writes from a Chunked Dataset (reads file created by h5_extend_write.c)h5_chunk_read.c
Creates a compound datatype, writes array of compound and reads back fields' subsetsh5_compound.c
Shows how to use virtual file driversh5_drivers.c
Demonstrates how the data transform features in HDF5 workh5_dtransform.c
Windows to Unix traversal function for external linksh5_elink_unix2win.c
Create and appends to an extendible dataseth5_extend_write.c
Create and uses external links in HDF5h5_extlink.c
Creates a group with two datasets, creates hard link to group and uses iterator functionsh5_group.c
Checks if group exists and creates intermediate groupsh5_interm_group.c
Shows concept of mounting filesh5_mount.c
Reads hyperslabs from file created with h5_write.ch5_read.c
Creates, stores, and dereferences references to dataset regionsh5_ref2reg.c
Creates and reads object referencesh5_reference.c
Selects hyperslabs and elements to write selected data from memory to fileh5_select.c
Creates a file using property lists to control which messages are shared (to save space)h5_shared_mesg.c
Creates a dataset using default propertiesh5_write.c
VDS example that illustrates the Eiger use case  (see VDS Example Description)h5_vds-eiger.c
 h5_vds-exc.c
VDS Example illustrating Excalibur use case (see VDS Example Description)h5_vds-exclim.c
 h5_vds-percival-unlim-maxmin.c
 h5_vds-percival-unlim.c
VDS Example that illustrates Percival use case (see VDS Example Description)h5_vds-percival.c
 h5_vds-simpleIO.c
VDS Example that illustrates usage of H5Pset(get)_virtual_* functions (see VDS Example Description)h5_vds.c
Example of using parallel HDF5ph5example.c

FORTRAN

FeatureExample
Introductory examplesExamples from Learning the Basics
More advanced example of using hyperslabshyperslab.f90
Shows concept of mounting filesmountexample.f90
Shows nested derived typenested_derived_type.f90
Creates and reads a dataset with a compound datatypecompound.f90
Creates and reads a dataset with a complex compound datatype (F2003)compound_complex_fortran2003.f90
Creates and reads a dataset with a compound datatype (F2003)compound_fortran2003.f90
Shows how to use Parallel HDF5ph5example.f90
Creates, stores, and dereferences object referencesrefobjexample.f90
Creates, stores, and dereferences references to dataset regionsrefregexample.f90
Reads, writes a dataset with F2003 featuresrwdset_fortran2003.f90
Shows how to select elements in a datasetselectele.f90

Java

FeatureExample
Introductory ExamplesExamples from Learning the Basics
 Examples by API

C++

FeatureExample
Reads / Writes from a Chunked Dataset (from file created by extend_ds.cpp)chunks.cpp
Creates a compound datatype, writes array of compound and reads back fields' subsetscompound.cpp            
Writes a dataset to a new HDF5 filecreate.cpp
Shows how to work with extendible datasetextend_ds.cpp
Creates a group with two datasets, creates hard link to group and uses iterator functionsh5group.cpp
Reads hyperslabs from file created with create.cppreaddata.cpp
Creates a file and dataset and shows how to use hyperslab and element selectionwritedata.cpp

High Level

FeatureExampleAdditional Files
H5DS: HDF5 Dimension Scale
  
Attach a dimension scaleex_ds1.c 
Attach a dimension scale and add a labelex_ds1.f90 
H5IM: HDF5 Image
  
Create 8-bit image and attach a paletteex_image1.c 
Create 8-bit and 24-bit image, attach palette and read backex_image2.c

image24pixel.txt    image8.txt

H5LT: HDF5 Lite
  
Write a datasetex_lite1.c 
Read a datasetex_lite2.c 
Write an attributeex_lite3.c 
Create and read a datasetexlite.f90 
H5TB: HDF5 Table
  
Creating and reading a tableex_table_01.c 
Appending and reading recordsex_table_02.c 
Overwriting recordsex_table_03.c 
Writing and reading fields by nameex_table_04.c 
Writing and reading fields by indexex_table_05.c 
Queryingex_table_06.c 
Deleting recordsex_table_07.c 
Inserting recordsex_table_08.c 
Adding records from one table to anotherex_table_09.c 
Combining tablesex_table_10.c 
Inserting a new field into a tableex_table_11.c 
Deleting a field from a tableex_table_12.c 
H5PT: HDF5 Packet Table
  
Create, write, and read a packet tableptExampleFL.c 
Create, write and read a packet tableptExampleFL.cpp 


VDS Example Description

A description of what some of the VDS examples in the source code do is included below. For information on using the VDS feature see Virtual Dataset in the New Features in HDF5 Release 1.10. Also see the tutorial Introduction to the Virtual Dataset - VDS which uses the h5_vds.c example described below.

 

 

ExampleDescription

h5_vds.c

C example that illustrates usage of H5Pset(get)_virtual_* functions (also see Introduction to the Virtual Dataset - VDS)
h5_vds-eiger.cC example that illustrates Eiger use case (fixed size VDS)
h5_vds-exclim.cC example that illustrates Excalibur use case (fixed size VDS)
h5_vds-percival.cC example that illustrates Percival use case (fixed size VDS)

--- Last Modified: October 22, 2020 | 11:56 AM