Page tree

The license could not be verified: License Certificate has expired!

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


Hdf button
LinkTextDownload PDF


There are two groups in the HDF5 file depicted above: Vis and Viz and SimOut. Under the Viz group are a variety of images and a table that is shared with the SimOut group. The SimOut group contains a 3-dimensional array, a 2-dimensional array and a link to a 2-dimensional array in another HDF5 file.


Attributes can optionally be associated with HDF5 objects. They have two parts: a name and a value. Attributes are accessed by opening the object that they are attached to so are not independent objects. Typically an attribute is small in size and contains user metadata about the object that it is attached to.


  1. Open the object that you wish to add an attribute to.
  2. Create the attribute
  3. Write to the attribute
  4. Close the attribute and the object it is attached to.

The example below creates attributes that are attached to the dataset dset:

Image Modified      


The dataspace, datatype, and data are specified in the call to create an attribute in Python:


To create an integer attribute in C, you must create the dataspace, create the attribute, write to it and then close it in separate steps:

hid_t       attribute_id, dataspace_id;  /* identifiers */

hsize_t     dims;

int         attr_data[2];

herr_t      status;


/* Initialize the attribute data. */

attr_data[0] = 100;

attr_data[1] = 200;


/* Create the data space for the attribute. */


dataspace_id = H5Screate_simple(1, &dims, NULL);


/* Create a dataset attribute. */

attribute_id = H5Acreate2 (dataset_id, "Units", H5T_STD_I32BE,

                           dataspace_id, H5P_DEFAULT, H5P_DEFAULT);


/* Write the attribute data. */

status = H5Awrite(attribute_id, H5T_NATIVE_INT, attr_data);


/* Close the attribute. */

status = H5Aclose(attribute_id);


/* Close the dataspace. */

status = H5Sclose(dataspace_id);