hdf5/doxygen/dox/UsersGuide.dox
2024-04-17 07:56:19 -05:00

442 lines
21 KiB
Plaintext

/** \page UG HDF5 User Guide
<center>
HDF5 Release 1.14
\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
<li> \ref subsubsec_dataset_transfer_dyn_filter
</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
<li> \ref subsubsec_dataset_filters_dyn
</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_quickstart
<ul>
<li> \ref subsubsec_vol_quick_read
<li> \ref subsubsec_vol_quick_use
<li> \ref subsubsec_vol_quick_set
<li> \ref subsubsec_vol_quick_update
<li> \ref subsubsec_vol_quick_plugin
<li> \ref subsubsec_vol_quick_opt
</ul>
\li \ref subsec_vol_connect
<ul>
<li> \ref subsubsec_vol_connect_register
<li> \ref subsubsec_vol_connect_version
<li> \ref subsubsec_vol_connect_reg_calls
<li> \ref subsubsec_vol_connect_set_vol
<li> \ref subsubsec_vol_connect_search
<li> \ref subsubsec_vol_connect_param
<li> \ref subsubsec_vol_connect_env
</ul>
\li \ref subsec_vol_adapt
<ul>
<li> \ref subsubsec_vol_adapt_token
<li> \ref subsubsec_vol_adapt_api
<li> \ref subsubsec_vol_adapt_native
</ul>
\li \ref subsec_vol_lang
<ul>
<li> \ref subsubsec_vol_lang_c
<li> \ref subsubsec_vol_lang_fort
<li> \ref subsubsec_vol_lang_java
</ul>
\li \ref subsec_vol_cl
\li \ref subsec_vol_compat
<ul>
<li> \ref subsubsec_vol_compat_native
<li> \ref subsubsec_vol_compat_indep
<li> \ref subsubsec_vol_compat_opt
</ul>
\ref sec_async
\li \ref subsec_async_intro
\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://\ARCURL/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://\ARCURL/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://\ARCURL/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://\ARCURL/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="https://\RFCURL/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="https://\RFCURL/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="https://\ARCURL/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://\ARCURL/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://\ARCURL/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://\ARCURL/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>@ref GLS</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
*/