Applications sometimes write data only to portions of an allocated dataset. It is often useful in such cases to fill the unused space with a known fill value. This function allows the user application to set that fill value; the functions H5D_FILL and H5P_SET_FILL_TIME, respectively, provide the ability to apply the fill value on demand or to set up its automatic application.
A fill value should be defined so that it is appropriate for the application. While the HDF5 default fill value is
0 (zero), it is often appropriate to use another value. It might be useful, for example, to use a value that is known to be impossible for the application to legitimately generate.
H5P_SET_FILL_VALUE is designed to work in concert with H5P_SET_ALLOC_TIME and H5P_SET_FILL_TIME. H5P_SET_ALLOC_TIME and H5P_SET_FILL_TIME govern the timing of dataset storage allocation and fill value write operations and can be important in tuning application performance.
See H5D_CREATE for further cross-references.