/** \page UG HDF5 User Guide

<center>
HDF5 Release 1.12

\image html HDFG-logo.png "The HDF Group"

</center>

\ref sec_data_model
\li \ref subsec_data_model_intro
\li \ref subsec_data_model_abstract
    <ul>
        <li> \ref subsubsec_data_model_abstract_file
        <li> \ref subsubsec_data_model_abstract_group
        <li> \ref subsubsec_data_model_abstract_dataset
        <li> \ref subsubsec_data_model_abstract_space
        <li> \ref subsubsec_data_model_abstract_type
        <li> \ref subsubsec_data_model_abstract_attr
        <li> \ref subsubsec_data_model_abstract_plist
        <li> \ref subsubsec_data_model_abstract_link
    </ul>
\li \ref subsec_data_model_storage
    <ul>
        <li> \ref subsubsec_data_model_storage_spec
        <li> \ref subsubsec_data_model_storage_imple
    </ul>
\li \ref subsec_data_model_structure
    <ul>
        <li> \ref subsubsec_data_model_structure_file
        <li> \ref subsubsec_data_model_structure_path
        <li> \ref subsubsec_data_model_structure_example
    </ul>

\ref sec_program
\li \ref subsec_program_intro
\li \ref subsec_program_model
    <ul>
        <li> \ref subsubsec_program_model_create
        <li> \ref subsubsec_program_model_dset
        <li> \ref subsubsec_program_model_close
        <li> \ref subsubsec_program_model_data
        <li> \ref subsubsec_program_model_partial
        <li> \ref subsubsec_program_model_info
        <li> \ref subsubsec_program_model_compound
        <li> \ref subsubsec_program_model_extend
        <li> \ref subsubsec_program_model_group
        <li> \ref subsubsec_program_model_attr
    </ul>
\li \ref subsec_program_transfer_pipeline

\ref sec_file
\li \ref subsec_file_intro
\li \ref subsec_file_access_modes
\li \ref subsec_file_creation_access
\li \ref subsec_file_drivers
\li \ref subsec_file_program_model
    <ul>
        <li> \ref subsubsec_file_program_model_create
        <li> \ref subsubsec_file_program_model_open
        <li> \ref subsubsec_file_program_model_close
    </ul>
\li \ref subsec_file_h5dump
\li \ref subsec_file_summary
\li \ref subsec_file_create
\li \ref subsec_file_closes
\li \ref subsec_file_property_lists
    <ul>
        <li> \ref subsubsec_file_property_lists_create
        <li> \ref subsubsec_file_property_lists_props
        <li> \ref subsubsec_file_property_lists_access
    </ul>
\li \ref subsec_file_alternate_drivers
    <ul>
        <li> \ref subsubsec_file_alternate_drivers_id
        <li> \ref subsubsec_file_alternate_drivers_sec2
        <li> \ref subsubsec_file_alternate_drivers_direct
        <li> \ref subsubsec_file_alternate_drivers_log
        <li> \ref subsubsec_file_alternate_drivers_win
        <li> \ref subsubsec_file_alternate_drivers_stdio
        <li> \ref subsubsec_file_alternate_drivers_mem
        <li> \ref subsubsec_file_alternate_drivers_family
        <li> \ref subsubsec_file_alternate_drivers_multi
        <li> \ref subsubsec_file_alternate_drivers_split
        <li> \ref subsubsec_file_alternate_drivers_par
    </ul>
\li \ref subsec_file_examples
    <ul>
        <li> \ref subsubsec_file_examples_trunc
        <li> \ref subsubsec_file_examples_props
        <li> \ref subsubsec_file_examples_access
    </ul>
\li \ref subsec_file_multiple

\ref sec_group
\li \ref subsec_group_intro
\li \ref subsec_group_descr
    <ul>
        <li> \ref subsubsec_group_descr_object
        <li> \ref subsubsec_group_descr_model
        <li> \ref subsubsec_group_descr_path
        <li> \ref subsubsec_group_descr_impl
    </ul>
\li \ref subsec_group_h5dump
\li \ref subsec_group_function
\li \ref subsec_group_program
    <ul>
        <li> \ref subsubsec_group_program_create
        <li> \ref subsubsec_group_program_open
        <li> \ref subsubsec_group_program_dataset
        <li> \ref subsubsec_group_program_close
        <li> \ref subsubsec_group_program_links
        <li> \ref subsubsec_group_program_info
        <li> \ref subsubsec_group_program_objs
        <li> \ref subsubsec_group_program_all
    </ul>
\li \ref subsec_group_examples

\ref sec_dataset
\li \ref subsec_dataset_intro
\li \ref subsec_dataset_function
\li \ref subsec_dataset_program
    <ul>
        <li> \ref subsubsec_dataset_program_general
        <li> \ref subsubsec_dataset_program_create
        <li> \ref subsubsec_dataset_program_transfer
        <li> \ref subsubsec_dataset_program_read
    </ul>
\li \ref subsec_dataset_transfer
    <ul>
        <li> \ref subsubsec_dataset_transfer_pipe
        <li> \ref subsubsec_dataset_transfer_filter
        <li> \ref subsubsec_dataset_transfer_drive
        <li> \ref subsubsec_dataset_transfer_props
        <li> \ref subsubsec_dataset_transfer_store
        <li> \ref subsubsec_dataset_transfer_partial
    </ul>
\li \ref subsec_dataset_allocation
    <ul>
        <li> \ref subsubsec_dataset_allocation_store
        <li> \ref subsubsec_dataset_allocation_delete
        <li> \ref subsubsec_dataset_allocation_release
        <li> \ref subsubsec_dataset_allocation_ext
    </ul>
\li \ref subsec_dataset_filters
    <ul>
        <li> \ref subsubsec_dataset_filters_nbit
        <li> \ref subsubsec_dataset_filters_scale
        <li> \ref subsubsec_dataset_filters_szip
    </ul>

\ref sec_datatype
\li \ref subsec_datatype_intro
\li \ref subsec_datatype_model
    <ul>
        <li> \ref subsubsec_datatype_model_class
        <li> \ref subsubsec_datatype_model_predefine
    </ul>
\li \ref subsec_datatype_usage
    <ul>
        <li> \ref subsubsec_datatype_usage_object
        <li> \ref subsubsec_datatype_usage_create
        <li> \ref subsubsec_datatype_usage_transfer
        <li> \ref subsubsec_datatype_usage_discover
        <li> \ref subsubsec_datatype_usage_user
    </ul>
\li \ref subsec_datatype_function
\li \ref subsec_datatype_program
    <ul>
        <li> \ref subsubsec_datatype_program_discover
        <li> \ref subsubsec_datatype_program_define
    </ul>
\li \ref subsec_datatype_other
    <ul>
        <li> \ref subsubsec_datatype_other_strings
        <li> \ref subsubsec_datatype_other_refs
        <li> \ref subsubsec_datatype_other_enum
        <li> \ref subsubsec_datatype_other_opaque
        <li> \ref subsubsec_datatype_other_bitfield
    </ul>
\li \ref subsec_datatype_fill
\li \ref subsec_datatype_complex
    <ul>
        <li> \ref subsubsec_datatype_complex_create
        <li> \ref subsubsec_datatype_complex_analyze
    </ul>
\li \ref subsec_datatype_life
\li \ref subsec_datatype_transfer
\li \ref subsec_datatype_text

\ref sec_dataspace
\li \ref subsec_dataspace_intro
\li \ref subsec_dataspace_function
\li \ref subsec_dataspace_program
    <ul>
        <li> \ref subsubsec_dataspace_program_object
        <li> \ref subsubsec_dataspace_program_model
    </ul>
\li \ref subsec_dataspace_transfer
    <ul>
        <li> \ref subsubsec_dataspace_transfer_select
        <li> \ref subsubsec_dataspace_transfer_model
    </ul>
\li \ref subsec_dataspace_select
\li \ref subsec_dataspace_refer
    <ul>
        <li> \ref subsubsec_dataspace_refer_use
        <li> \ref subsubsec_dataspace_refer_create
        <li> \ref subsubsec_dataspace_refer_read
    </ul>
\li \ref subsec_dataspace_sample

\ref sec_attribute
\li \ref subsec_attribute_intro
\li \ref subsec_attribute_program
    <ul>
        <li> <!-- \subsubsection subsubsec_attribute_program_exist --> To Open and Read or Write an Existing Attribute </li>
    </ul>
\li \ref subsec_error_H5A
\li \ref subsec_attribute_work
    <ul>
        <li> \ref subsubsec_attribute_work_struct
        <li> \ref subsubsec_attribute_work_create
        <li> \ref subsubsec_attribute_work_access
        <li> \ref subsubsec_attribute_work_info
        <li> \ref subsubsec_attribute_work_iterate
        <li> \ref subsubsec_attribute_work_delete
        <li> \ref subsubsec_attribute_work_close
    </ul>
\li \ref subsec_attribute_special

\ref sec_error
\li \ref subsec_error_intro
\li \ref subsec_error_program
\li \ref subsec_error_H5E
\li \ref subsec_error_ops
    <ul>
        <li> \ref subsubsec_error_ops_stack
        <li> \ref subsubsec_error_ops_print
        <li> \ref subsubsec_error_ops_mute
        <li> \ref subsubsec_error_ops_custom_print
        <li> \ref subsubsec_error_ops_walk
        <li> \ref subsubsec_error_ops_travers
    </ul>
\li \ref subsec_error_adv
    <ul>
        <li> \ref subsubsec_error_adv_more
        <li> \ref subsubsec_error_adv_app
    </ul>

\ref sec_plist
\li \ref subsec_plist_intro
\li \ref subsec_plist_class
    <ul>
        <li> \ref subsubsec_plist_class
        <li> \ref subsubsec_plist_lists
        <li> \ref subsubsec_plist_props
    </ul>
\li \ref subsec_plist_program
    <ul>
        <li> \ref subsubsec_plist_default
        <li> \ref subsubsec_plist_basic
        <li> \ref subsubsec_plist_additional
    </ul>
\li \ref subsec_plist_generic
\li \ref subsec_plist_H5P
\li \ref subsec_plist_resources
\li \ref subsec_plist_notes

\ref sec_vol
\li \ref subsec_vol_intro
\li \ref subsec_vol_abstract_layer
\li \ref subsec_vol_connect
\li \ref subsec_vol_use

\ref sec_map

\ref sec_addition

\page AR_UG Additional Resources

\section sec_addition Additional Resources
These documents provide additional information for the use and tuning of specific HDF5 features.
 <table style=" border-spacing:0; padding-left:6.00pt; padding-top:6.00pt; padding-right:6.00pt; padding-bottom:6.00pt; float:aligncenter; width:100%; max-width:432.00pt;" cellspacing="0">
  <caption x-list-start="1" style="font-size: 12.0pt;">Table of Additional resources</caption>
  <tr style="height: 23.00pt;">
  <th style="width: 234.000pt; border-top-style: solid; border-top-width: 1px; border-top-color: #228a22; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align : top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p>Document</p>
</th>
  <th style="width: 198.000pt; border-top-style: solid; border-top-width: 1px; border-top-color: #228a22; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align : top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p>Comments</p>
</th>
</tr>
  <tr style="height: 23.00pt;">
  <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p style="font-style: italic; color: #0000ff;"><span>@ref HDF5Examples</span></p>
</td>
  <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p>Code examples by API. </p>
</td>
</tr>
  <tr style="height: 36.00pt;">
  <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/Chunking/index.html">Chunking in HDF5</a></span></p>
</td>
  <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p>Structuring the use of chunking and tuning it for performance.</p>
</td>
</tr>
  <tr style="height: 36.00pt;">
  <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p style="font-style: italic; color: #0000ff;"><span class="FM_LT_LinkText"><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/DirectChunkWrite/UsingDirectChunkWrite.pdf">Using the Direct Chunk Write Function</a></span></p>
</td>
  <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p>Describes another way that chunks can be written to datasets.</p>
</td>
</tr>
  <tr style="height: 88.00pt;">
  <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/CommittedDatatypeCopying/CopyingCommittedDatatypesWithH5Ocopy.pdf">Copying Committed Datatypes with H5Ocopy</a></span></p>
</td>
  <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p>Describes how to copy to another file a dataset that uses a committed datatype or an object with an attribute that uses a committed datatype so that the committed datatype in the destination file can be used by multiple objects.</p>
</td>
</tr>
  <tr style="height: 36.00pt;">
  <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/MetadataCache/index.html">Metadata Caching in HDF5</a></span></p>
</td>
  <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p>Managing the HDF5 metadata cache and tuning it for performance.</p>
</td>
</tr>
  <tr style="height: 49.00pt;">
  <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/DynamicallyLoadedFilters/HDF5DynamicallyLoadedFilters.pdf">HDF5 Dynamically Loaded Filters</a></span></p>
</td>
  <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p>Describes how an HDF5 application can apply a filter that is not registered with the HDF5 Library.</p>
</td>
</tr>
  <tr style="height: 62.00pt;">
  <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/FileImageOperations/HDF5FileImageOperations.pdf">HDF5 File Image Operations</a></span></p>
</td>
  <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p>Describes how to work with HDF5 files in memory. Disk I/O is not required when file images are opened, created, read from, or written to.</p>
</td>
</tr>
  <tr style="height: 62.00pt;">
  <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/ModifiedRegionWrites/ModifiedRegionWrites.pdf">Modified Region Writes</a></span></p>
</td>
  <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p>Describes how to set write operations for in-memory files so that only modified regions are written to storage. Available when the Core (Memory) VFD is used.</p>
</td>
</tr>
  <tr style="height: 36.00pt;">
  <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/UsingIdentifiers/index.html">Using Identifiers</a></span></p>
</td>
  <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p>Describes how identifiers behave and how they should be treated.</p>
</td>
</tr>
  <tr style="height: 36.00pt;">
  <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/UsingUnicode/index.html">Using UTF-8 Encoding in HDF5 Applications</a></span></p>
</td>
  <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p>Describes the use of UTF-8 Unicode character encodings in HDF5 applications.</p>
</td>
</tr>
  <tr style="height: 49.00pt;">
  <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/FreeingMemory/FreeingMemoryAllocatedByTheHdf5Library.pdf">Freeing Memory Allocated by the HDF5 Library</a></span></p>
</td>
  <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p>Describes how inconsistent memory management can cause heap corruption or resource leaks and possible solutions.</p>
</td>
</tr>
  <tr style="height: 23.00pt;">
  <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Glossary.html">HDF5 Glossary</a></span></p>
</td>
  <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
  <p>A glossary of terms.</p>
</td>
</tr>
 </table>

Previous Chapter \ref sec_plist

\par Don't like what you see? - You can help to improve this User Guide
     Complete the survey linked near the top of this page!\n
     We treat documentation like code: Fork the
     <a href="https://github.com/HDFGroup/hdf5">HDF5 repo</a>, make changes, and create a
     <a href="https://github.com/HDFGroup/hdf5/pulls">pull request</a> !\n

*/