Www.hdfgroup.org The HDF Group 10/17/151 Introduction to HDF5 ICALEPCS 2015.

Slides:



Advertisements
Similar presentations
A PLFS Plugin for HDF5 for Improved I/O Performance and Analysis Kshitij Mehta 1, John Bent 2, Aaron Torres 3, Gary Grider 3, Edgar Gabriel 1 1 University.
Advertisements

Streaming NetCDF John Caron July What does NetCDF do for you? Data Storage: machine-, OS-, compiler-independent Standard API (Application Programming.
The Future of NetCDF Russ Rew UCAR Unidata Program Center Acknowledgments: John Caron, Ed Hartnett, NASA’s Earth Science Technology Office, National Science.
11/6/07HDF and HDF-EOS Workshop XI, Landover, MD1 Introduction to HDF5 HDF and HDF-EOS Workshop XI November 6-8, 2007.
10/15/08HDF & HDF-EOS Workshop XII11 Introduction to HDF5 HDF & HDF-EOS Workshop XII October 15, 2008.
NetCDF An Effective Way to Store and Retrieve Scientific Datasets Jianwei Li 02/11/2002.
The HDF Group Introduction to HDF5 Barbara Jones The HDF Group The 13 th HDF & HDF-EOS Workshop November 3-5, HDF/HDF-EOS Workshop.
Status of netCDF-3, netCDF-4, and CF Conventions Russ Rew Community Standards for Unstructured Grids Workshop, Boulder
© 2008The MathWorks, Inc. ® ® The MATLAB Low-Level HDF5 Interface John Evans.
March 9, th International LCI Conference - HDF5 Tutorial1 Tutorial II: HDF5 and NetCDF-4 10 th International LCI Conference Albert Cheng, Neil Fortner.
Euratom – ENEA Association Commonalities and differences between MDSplus and HDF5 data systems G. Manduchi Consorzio RFX, Euratom-ENEA Association, corso.
1 of 14 Substituting HDF5 tools with Python/H5py scripts Daniel Kahn Science Systems and Applications Inc. HDF HDF-EOS Workshop XIV, 28 Sep
Parallel HDF5 Introductory Tutorial May 19, 2008 Kent Yang The HDF Group 5/19/20081SCICOMP 14 Tutorial.
HDF 1 HDF5 Advanced Topics Object’s Properties Storage Methods and Filters Datatypes HDF and HDF-EOS Workshop VIII October 26, 2004.
The HDF Group April 17-19, 2012HDF/HDF-EOS Workshop XV1 Introduction to HDF5 Barbara Jones The HDF Group The 15 th HDF and HDF-EOS Workshop.
1 High level view of HDF5 Data structures and library HDF Summit Boeing Seattle September 19, 2006.
HDF5 A new file format & software for high performance scientific data management.
Sep , 2010HDF/HDF-EOS Workshop XIV1 HDF5 Advanced Topics Neil Fortner The HDF Group The 14 th HDF and HDF-EOS Workshop September 28-30, 2010.
The HDF Group Parallel HDF5 Design and Programming Model May 30-31, 2012HDF5 Workshop at PSI 1.
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
February 2-3, 2006SRB Workshop, San Diego P eter Cao, NCSA Mike Wan, SDSC Sponsored by NLADR, NFS PACI Project in Support of NCSA-SDSC Collaboration Object-level.
1 Introduction to HDF5 Data Model, Programming Model and Library APIs HDF and HDF-EOS Workshop VIII October 26, 2004.
April 28, 2008LCI Tutorial1 HDF5 Tutorial LCI April 28, 2008.
The HDF Group Virtual Object Layer in HDF5 Exploring new HDF5 concepts May 30-31, 2012HDF5 Workshop at PSI 1.
May 30-31, 2012HDF5 Workshop at PSI1 HDF5 at Glance Quick overview of known topics.
The HDF Group HDF5 Datasets and I/O Dataset storage and its effect on performance May 30-31, 2012HDF5 Workshop at PSI 1.
The netCDF-4 data model and format Russ Rew, UCAR Unidata NetCDF Workshop 25 October 2012.
April 28, 2008LCI Tutorial1 Introduction to HDF5 Tools Tutorial Part II.
The HDF Group HDF5 Tools Updates Peter Cao, The HDF Group September 28-30, 20101HDF and HDF-EOS Workshop XIV.
HDF Dimension Scales in HDF5 HDF-EOS Workshop IX San Francisco, CA November 30 - December 2, 2005 Pedro Vicente Nunes THG/NCSA Champaign-Urbana, IL HDF.
The HDF Group October 28, 2010NetcDF Workshop1 Introduction to HDF5 Quincey Koziol The HDF Group Unidata netCDF Workshop October 28-29,
Using HDF5 for Scientific Data Analysis NERSC Visualization Group.
1 N-bit and ScaleOffset filters MuQun Yang National Center for Supercomputing Applications University of Illinois at Urbana-Champaign Urbana, IL
1 HDF5 Life cycle of data Boeing September 19, 2006.
1 Introduction to HDF5 Data Model, Programming Model and Library APIs HDF and HDF-EOS Workshop IX November 30, 2005.
HDF Hierarchical Data Format Nancy Yeager Mike Folk NCSA University of Illinois at Urbana-Champaign, USA
The HDF Group November 3-5, 2009HDF/HDF-EOS Workshop XIII1 HDF5 Advanced Topics Elena Pourmal The HDF Group The 13 th HDF and HDF-EOS.
September 9, 2008SPEEDUP Workshop - HDF5 Tutorial1 Introduction to HDF5 Command-line Tools.
The HDF Group Introduction to netCDF-4 Elena Pourmal The HDF Group 110/17/2015.
HDF5 Q4 Demo. Architecture Friday, May 10, 2013 Friday Seminar2.
The HDF Group HDF5 Chunking and Compression Performance tuning 10/17/15 1 ICALEPCS 2015.
The HDF Group Single Writer/Multiple Reader (SWMR) 110/17/15.
March 9, th International LCI Conference - HDF5 Tutorial1 HDF5 Advanced Topics.
The HDF Group 10/17/15 1 HDF5 vs. Other Binary File Formats Introduction to the HDF5’s most powerful features ICALEPCS 2015.
Intro to Parallel HDF5 10/17/151ICALEPCS /17/152 Outline Overview of Parallel HDF5 design Parallel Environment Requirements Performance Analysis.
April 28, 2008LCI Tutorial1 Parallel HDF5 Tutorial Tutorial Part IV.
September 9, 2008SPEEDUP Workshop - HDF5 Tutorial1 HDF5 Tutorial 37 th SPEEDUP Workshop on HPC Albert Cheng, Elena Pourmal The HDF Group.
1 Introduction to HDF5 Programming and Tools Boeing September 19, 2006.
The HDF Group Introduction to HDF5 Session Two Data Model Comparison HDF5 File Format 1 Copyright © 2010 The HDF Group. All Rights Reserved.
The HDF Group Single Writer/Multiple Reader (SWMR) 110/17/15.
The HDF Group Introduction to HDF5 Session 7 Datatypes 1 Copyright © 2010 The HDF Group. All Rights Reserved.
NetCDF Data Model Details Russ Rew, UCAR Unidata NetCDF 2009 Workshop
Copyright © 2010 The HDF Group. All Rights Reserved1 Data Storage and I/O in HDF5.
- 1 - Overview of Parallel HDF Overview of Parallel HDF5 and Performance Tuning in HDF5 Library NCSA/University of Illinois at Urbana- Champaign.
The HDF Group Introduction to HDF5 Session Three HDF5 Software Overview 1 Copyright © 2010 The HDF Group. All Rights Reserved.
1 January 11-13, 2010ESRF Workshop – Introduction to HDF5 Introduction to HDF5 Francesc Alted Consultant and PyTables creator.
HDF and HDF-EOS Workshop XII
Parallel HDF5 Introductory Tutorial
Introduction to HDF5 Session Five Reading & Writing Raw Data Values
Ruth Aydt Quincey Koziol The HDF Group
Introduction to HDF5 Tutorial.
HDF and HDF-EOS Workshop XII
Introduction to HDF5 for HDF4 users
HDF5 Virtual Dataset Elena Pourmal Copyright 2017, The HDF Group.
Introduction to HDF5 Mike McGreevy The HDF Group
Moving applications to HDF
Hierarchical Data Format (HDF) Status Update
Application Application CLAMR (Cell-Based Adaptive Mesh Refinement)
Application Application CLAMR (Cell-Based Adaptive Mesh Refinement)
Presentation transcript:

The HDF Group 10/17/151 Introduction to HDF5 ICALEPCS 2015

Outline What is HDF5? Introduction to HDF5 Data Model Introduction to HDF5 programming model and APIs Example HDF5 code 210/17/15 ICALEPCS 2015

HDF5 Mind Map 10/17/15 3 ICALEPCS 2015

Need help with HDF? /17/15 ICALEPCS 2015

WHAT IS HDF5? DATA MODEL 510/17/15 ICALEPCS 2015

What is HDF5? Open file format Designed for high volume or complex data Open source software Works with data in the format A data model Structures for data organization and specification 610/17/15 ICALEPCS 2015

HDF = Hierarchical Data Format HDF4 is the first HDF Originally called HDF; last major release was version 4 HDF5 benefits from lessons learned with HDF4 Changes to file format, software, and data model HDF5 and HDF4 are different No plans for an HDF6! 710/17/15 ICALEPCS 2015

HDF5 is like … 810/17/15 ICALEPCS 2015

HDF5 is designed … for high volume and/or complex data for every size and type of system (portable) for flexible, efficient storage and I/O to enable applications to evolve in their use of HDF5 and to accommodate new models to support long-term data preservation 910/17/15 ICALEPCS 2015

HDF5 Technology Platform 10 HDF5 data model The “building blocks” for data organization and specification HDF5 software Library, language interfaces, tools HDF5 file format Bit-level organization of HDF5 file Recall… Let’s look at …. 10/17/15 ICALEPCS 2015

HDF5 Data Model 11 File Dataset a.k.a. HDF5 Abstract Data Model a.k.a. HDF5 Logical Data Model Link Group Attribute Dataspace Datatype HDF5 Objects 10/17/15 ICALEPCS 2015

HDF5 File 12 lat | lon | temp ----|-----| | 23 | | 24 | | 21 | 3.6 An HDF5 file is a container that holds data objects. Experiment Notes: Serial Number: Date: 3/13/09 Configuration: Standard 3 10/17/15 ICALEPCS 2015

HDF5 Dataset 13 HDF5 datasets organize and contain “raw data values”. HDF5 datatypes describe individual data elements. HDF5 dataspaces describe the logical layout of the data elements. Integer 32bit LE HDF5 Datatype Multi-dimensional array of identically typed data elements Specifications for single data element and array dimensions 3 Rank Dim_2 = 7 Dimensions Dim_0 = 4 Dim_1 = 5 HDF5 Dataspace 10/17/15 ICALEPCS 2015

HDF5 Dataspaces Describe the logical layout of the elements in an HDF5 dataset NULL no elements Scalar single element Simple array (most common) multiple elements organized in a rectangular array rank = number of dimensions dimension sizes = number of elements in each dimension maximum number of elements in each dimension may be fixed or unlimited 1410/17/15

HDF5 Dataspaces Two roles: Dataspace contains spatial information (logical layout) about a dataset stored in a file Rank and dimensions Permanent part of dataset definition Partial I/0: Dataspace describes application’s data buffer and data elements participating in I/O Rank = 2 Dimensions = 4x6 Rank = 1 Dimension = /17/15 ICALEPCS 2015

HDF5 Dataset & Dataspace 16 HDF5 datasets organize and contain “raw data values”. HDF5 dataspaces describe the logical layout of the data elements. Multi-dimensional array of identically typed data elements Specifications for array dimensions 3RankDimensions HDF5 Dataspace Dim_2 = 7 10/17/15 ICALEPCS 2015

HDF5 Datatypes Describe individual data elements in an HDF5 dataset Wide range of datatypes supported Integer Float Unsigned User-defined (e.g., 13-bit integer) Variable length types (e.g., strings) Compound (similar to C structs) Many more … 1710/17/15

HDF5 Dataset Dataspace: Rank = 2 Dimensions = 5 x 3 18 Datatype: 32-bit Integer /17/15 ICALEPCS 2015

HDF5 Dataset with Compound Datatype int16charint32 2x3x2 array of float32 Compound Datatype: Dataspace: Rank = 2 Dimensions = 5 x VVV V V V 1910/17/15 ICALEPCS 2015

HDF5 Dataset & Datatype 20 HDF5 datasets organize and contain “raw data values”. HDF5 datatypes describe individual data elements. Integer 32bit LE HDF5 Datatype Multi-dimensional array of identically typed data elements Specifications for single data element 10/17/15 ICALEPCS 2015

HDF5 Dataset 21 HDF5 datasets organize and contain “raw data values”. HDF5 datatypes describe individual data elements. HDF5 dataspaces describe the logical layout of the data elements. Integer 32bit LE HDF5 Datatype Multi-dimensional array of identically typed data elements Specifications for single data element and array dimensions 3 Rank Dim_2 = 7 Dimensions Dim_0 = 4 Dim_1 = 5 HDF5 Dataspace 10/17/15 ICALEPCS 2015

HDF5 Data Model: Are we there yet? 22 File Dataset and LinkGroup Attribute Dataspace Datatype HDF5 Objects 10/17/15

HDF5 Attributes Typically contain user metadata Have a name and a value Are associated with HDF5 objects. Value is described by a datatype and a dataspace analogous to a dataset 2310/17/15

HDF5 Groups and Links 24 lat | lon | temp ----|-----| | 23 | | 23 | | 24 | | 24 | | 21 | | 21 | 3.6 Experiment Notes: Serial Number: Date: 3/13/09 Configuration: Standard 3 / SimOut Viz HDF5 groups and links organize data objects. Every HDF5 file has a root group Parameters 10;100;1000 Timestep 36,000 10/17/15 ICALEPCS 2015

HDF5 Technology Platform 25 HDF5 data model The “building blocks” for data organization and specification Let’s look at …. HDF5 software Library, language interfaces, tools 10/17/15 ICALEPCS 2015

HDF5 Home Page HDF5 home page: Latest release: HDF (Released May, 2015) HDF coming in March 2016 HDF5 source code: Written in C, and includes optional C++, Fortran 90 APIs, and High Level APIs Contains command-line utilities (h5dump, h5repack, h5diff,..) and compile scripts HDF5 pre-built binaries: When possible, include C, C++, F90, and High Level libraries. Check./lib/libhdf5.settings file. Built with and require the SZIP and ZLIB external libraries 2610/17/15 ICALEPCS 2015

HDF5 API and Applications … Storage Domain Data Objects EOS library Applications EOS Application MATLAB 27 HDF5 Library 10/17/15 ICALEPCS 2015

HDF5 Software Layers & Storage HDF5 File Format File Split Files File on Parallel Filesystem Other I/O Drivers Virtual File Layer Posix I/O Split Files MPI I/O Custom Internals Memory Mgmt Datatype Conversion Filters Chunked Storage Version Compatibility and so on… Language Interfaces C, Fortran, C++ HDF5 Data Model Objects Groups, Datasets, Attributes, … Tunable Properties Chunk Size, I/O Driver, … HDF5 Library Storage h5dump tool High Level APIs HDFview tool Tools h5repack tool Java Interface … API 2810/17/15 ICALEPCS 2015

HDF-EOS5 Data Model Grid Swath Point Library Implements HDF-EOS Data model in HDF5 Takes advantage of HDF5 chunking, compression, data organization 2910/17/15

HDF-EOS5 File Organization 10/17/1530

INTRODUCTION TO HDF5 PROGRAMMING MODEL AND APIS 3110/17/15 ICALEPCS 2015

Useful Tools For New Users h5cc, h5c++, h5fc: Scripts to compile applications h5py Python interface for HDF5 3210/17/15 ICALEPCS 2015

General Programming Paradigm Object is opened or created Object is accessed, possibly many times Object is closed Properties of object are optionally defined Creation properties Access properties 3310/17/15 ICALEPCS 2015

Order of Operations An order is imposed on operations by argument dependencies For Example: A file must be opened before a dataset -because- the dataset open call requires a file handle as an argument. Objects can be closed in any order. 3410/17/15 ICALEPCS 2015

The General HDF5 API Currently C, Fortran 90, Java, and C++ bindings. C routines begin with prefix H5* * is a character corresponding to the type of object the function acts on Example Functions: H5D :Dataset interface e.g., H5Dread H5F : File interface e.g., H5Fopen H5S : dataSpace interface e.g., H5Sclose 3510/17/15 ICALEPCS 2015

The General HDF5 API 36 Show reference manual on the web… 10/17/15 ICALEPCS 2015

HDF5 Defined Types For portability, the HDF5 library has its own defined types: hid_t: object identifiers (native integer) hsize_t: size used for dimensions (unsigned long or unsigned long long) herr_t: function return value hvl_t: variable length datatype Note: This is not an exhaustive list! For C, include hdf5.h in your HDF5 application. 3710/17/15 ICALEPCS 2015

The HDF5 API For flexibility, the API is extensive 300+ functions This can be daunting… but there is hope A few functions can do a lot Start simple Build up knowledge as more features are needed Victronix Swiss Army Cybertool /17/15 ICALEPCS 2015

Basic Functions H5Fcreate (H5Fopen) create (open) File H5Screate_simple/H5Screatecreate dataSpace H5Dcreate (H5Dopen)create (open) Dataset H5Dread, H5Dwriteaccess Dataset H5Dcloseclose Dataset H5Sclose close dataSpace H5Fcloseclose File 3910/17/15 ICALEPCS 2015

Other Common Functions DataSpaces: H5Sselect_hyperslab (Partial I/O) H5Sselect_elements (Partial I/O) H5Dget_space Groups:H5Gcreate, H5Gopen, H5Gclose Attributes:H5Acreate, H5Aopen_name, H5Aclose, H5Aread, H5Awrite Property lists:H5Pcreate, H5Pclose H5Pset_chunk, H5Pset_deflate 4010/17/15 ICALEPCS 2015

High Level APIs Included along with the HDF5 library Simplify steps for creating, writing, and reading objects. Do not entirely ‘wrap’ HDF5 library 4110/17/15 ICALEPCS 2015

EXAMPLE HDF5 CODE 4210/17/15 ICALEPCS 2015

Steps to Create a File 1.Decide on properties the file should have and create them if necessary: Creation properties Access properties We will use Default properties. 2. Create the file 3. Close the file and the property lists, as needed 4310/17/15 ICALEPCS 2015

Code: Create a File hid_t file_id; herr_t status; file_id = H5Fcreate("file.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); status = H5Fclose (file_id); Note: Return codes not checked for errors in code samples. “/” (root) 4410/17/15 ICALEPCS 2015

Steps to Create a Dataset 1.Define dataset characteristics a) Datatype – integer b) Dataspace - 4x6 c) Properties if needed, or use H5P_DEFAULT 2.Decide where to put it 2.Group or root group 3.Create dataset in file 4.Close everything A “/” (root) 4510/17/15 ICALEPCS 2015

HDF5 Pre-defined Datatype Identifiers HDF5 defines* set of Datatype Identifiers per HDF5 session. For example: C Type HDF5 File TypeHDF5 Memory Type intH5T_STD_I32BE H5T_NATIVE_INT H5T_STD_I32LE floatH5T_IEEE_F32BE H5T_NATIVE_FLOAT H5T_IEEE_F32LE doubleH5T_IEEE_F64BE H5T_NATIVE_DOUBLE H5T_IEEE_F64LE * Value of datatype is NOT fixed 4610/17/15 ICALEPCS 2015

Pre-defined File Datatype Identifiers Examples: H5T_IEEE_F64LEEight-byte, little-endian, IEEE floating-point H5T_STD_I32LEFour-byte, little-endian, signed two's complement integer NOTE: What you see in the file. Name is the same everywhere and explicitly defines a datatype. *STD= “An architecture with a semi-standard type like 2’s complement integer, unsigned integer…” Architecture* Programming Type 4710/17/15 ICALEPCS 2015

Pre-defined Native Datatypes Examples of predefined native types in C: H5T_NATIVE_INT (int) H5T_NATIVE_FLOAT (float ) H5T_NATIVE_UINT (unsigned int) H5T_NATIVE_LONG (long ) H5T_NATIVE_CHAR (char ) NOTE: Memory types. Different for each machine. Used for reading/writing. 4810/17/15 ICALEPCS 2015

Code: Create a Dataset 1 hid_t dataspace_id; 2 hsize_t dims[2];. herr_t status;.. file_id = H5Fcreate (”file.h5", H5F_ACC_TRUNC,. H5P_DEFAULT, H5P_DEFAULT); 5 dims[0] = 4; 6 dims[1] = 6; 7 dataspace_id = H5Screate_simple (2, dims, NULL);, Define a dataspace rank current dims 49 NULL means max sizes = current sizes 10/17/15 ICALEPCS 2015

Code: Create a Dataset 1 hid_t file_id, dataset_id, dataspace_id;. hsize_t dims[2];. herr_t status;.. file_id = H5Fcreate (”file.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);. dims[0] = 4;. dims[1] = 6;. dataspace_id = H5Screate_simple (2, dims, NULL); 8 dataset_id = H5Dcreate (file_id,"foo",H5T_STD_I32BE, dataspace_id, H5P_DEFAULT,H5P_DEFAULT, H5P_DEFAULT); Datatype Properties (Link Creation, Dataset Creation and Access) Where to put it Size & shape 50 Name 10/17/15 ICALEPCS 2015

Code: Create a Dataset 1 hid_t file_id, dataset_id, dataspace_id; 2 hsize_t dims[2]; 3 herr_t status; 4 file_id = H5Fcreate (”file.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); 5 dims[0] = 4; 6 dims[1] = 6; 7 dataspace_id = H5Screate_simple (2, dims, NULL); 8 dataset_id = H5Dcreate (file_id,”A",H5T_STD_I32BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); 9 status = H5Dclose (dataset_id); 10 status = H5Sclose (dataspace_id); 11 status = H5Fclose (file_id); Terminate access to dataspace, dataset, file 5110/17/15 ICALEPCS 2015

Example Code - H5Dwrite status = H5Dwrite (dataset_id, H5T_NATIVE_INT, H5S_ALL,H5S_ALL, H5P_DEFAULT, wdata); Dataset ID from H5Dcreate/H5Dopen Memory Datatype 52 Buffer containing your data 10/17/15 ICALEPCS 2015

Partial I/O File Dataspace (disk) H5S_ALL To Modify Dataspace: H5Sselect_hyperslab H5Sselect_elements 53 Memory Dataspace status = H5Dwrite (dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT,wdata); 10/17/15 ICALEPCS 2015

Example Code – H5Dwrite status = H5Dwrite (dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata); Data Transfer Property List (MPI I/O, Transformations,…) 5410/17/15 ICALEPCS 2015

Example Code – H5Dread status = H5Dread (dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata); 5510/17/15 ICALEPCS 2015

High Level APIs: HDF5 Lite (H5LT) #include “hdf5_hl.h“.. file_id = H5Fcreate(“file.h5",H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); status = H5LTmake_dataset (file_id,"foo",2, dims,H5T_STD_I32BE, data); status = H5Fclose (file_id); 5610/17/15 ICALEPCS 2015

High Level APIs HDF5 Lite HDF5 Image HDF5 Table HDF5 Dimension Scales HDF5 Packet Table HDF5 Optimized Functions 5710/17/15 ICALEPCS 2015

Steps to Create a Group 1.Decide where to put it – “root group” 2.Define properties or use H5P_DEFAULT 3.Create group in file. 4. Close the group. 5810/17/15 ICALEPCS 2015

Example: Create a Group A B “/” (root) 4x6 array of integers file.h5 5910/17/15 ICALEPCS 2015

Code: Create a Group hid_t file_id, group_id;... /* Open “file.h5” */ file_id = H5Fopen (“file.h5”, H5F_ACC_RDWR, H5P_DEFAULT); /* Create group "/B" in file. */ group_id = H5Gcreate (file_id,"B", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* Close group and file. */ status = H5Gclose (group_id); status = H5Fclose (file_id); 6010/17/15 ICALEPCS 2015

HDF5 Tutorial and Examples HDF5 Tutorial: HDF5 Example Code: C, C++, Fortran, Python, Java, Matlab 6110/17/15 ICALEPCS 2015

HDF5 Technology Platform 62 HDF5 data model The “building blocks” for data organization and specification HDF5 software Library, language interfaces, tools HDF5 file format Bit-level organization of HDF5 file Let’s look at …. 10/17/15 ICALEPCS 2015

HDF5 File Format Defined by the HDF5 File Format Specification. Specifies the bit-level organization of an HDF5 file on storage media. HDF5 library adheres to the File Format, so for the most part basic users do not need to know the guts of this information. 6310/17/15

HDF5 Technology Platform 64 HDF5 data model The “building blocks” for data organization and specification HDF5 software Library, language interfaces, tools HDF5 file format Bit-level organization of HDF5 file Recall … 10/17/15 ICALEPCS 2015

The HDF Group Thank You! Questions? 6510/17/15ICALEPCS 2015