资源预览内容
第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
第9页 / 共36页
第10页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
国家卫星气象中心(NSMC) HDF5.0 使用简介 HDF5.0 使用简介 国家卫星气象中心(NSMC) HDF5.0 使用简介 目目 录录 1、介绍(Introduction).1 2、HDF5 文件组织(File Organization)1 3、HDF5 应用程序接口(API)2 4、创建 HDF5 文件(Creating an HDF5 File).3 4.1 什么是 HDF5 文件?.3 4.2 程序例子(Programming Example)4 4.2.1 描述(Description)4 4.2.2 备注(Remarks)5 4.2.3 文件内容(File Contents)6 4.2.4 DDL 中的文件定义(File Definition in DDL)7 5、创建数据集(Creating a Dataset).7 5.1 什么是数据集(What is a Dataset)7 5.2 数据类型(Datatypes)7 5.3 数据集和数据空间(Datasets and Dataspaces)9 5.4 数据集创建特性列表(Dataset Creation Property Lists)9 5.2 程序例子(Programming Example)10 5.2.1 描述(Description)10 5.2.2 备注(Remarks)11 5.2.3 文件内容(File Contents)12 5.2.4 DDL 中的数据集定义(Dataset Definition in DDL)13 6、创建一个群组(Creating a Group).14 6.1 什么是群组(What is a Group)?14 6.2 程序例子(Programming Example)15 6.2.1 描述(Description)15 6.2.2 备注(Remarks)15 6.2.3 文件内容(File Contents)16 7、创建属性(Creating an Attribute).17 国家卫星气象中心(NSMC) HDF5.0 使用简介 7.1 什么是属性(Attribute)?17 7.1.1 创建一个属性(Creating an attribute)17 7.1.2 读/写属性(Reading/Writing an attribute)18 7.2 编程例子(Programming Example)18 7.2.1 描述(Description)18 7.2.2 备注(Remarks)19 7.2.3 文件内容(File Contents)21 7.2.4 DDL 中的属性定义(Attribute Definition in DDL)22 8、读出和写入数据集(Reading from and Writing to a Dataset).22 8.1 读出和写入数据集(Reading from and Writing to a Dataset)22 8.2 编程例子(Programming Example)23 8.2.1 描述(Description)23 8.2.2 备注(Remarks)24 8.2.3 文件内容(File Contents)27 9、复合数据类型(Compound Datatypes).28 9.1 创建复合数据类型(Creating Compound Datatypes)28 9.2 程序例子(Programming Example)29 9.2.1 描述(Description)29 9.2.2 备注(Remarks)29 9.2.3 文件内容(File Contents)30 国家卫星气象中心(NSMC) HDF5.0 使用简介 说明: 本教材不包含编译例程所需的软件。 Introductory Topics Advanced Topics Parallel HDF5 High Level APIs Introduction Property Lists Design Overview HDF5 File Organization Compound Datatypes Parallel Programming The HDF5 API Hyperslab Selection Create/Access File Create an HDF5 File Point Selection Create/Access Dataset Other Create Dataset References to Objects Write/Read Hyperslabs Tutorial Examples Dataset Read/Write References to Regions - by Contiguous Hyperslab Utilities: h5ls/h5dump Create Attribute Extendible Datasets - by Regularly Spaced Data References Create Group Mounting Files - by Pattern Create Group - Abs/Rel Group Iteration - by Chunk Create Dataset in Group Questions Answers 国家卫星气象中心(NSMC) HDF5.0 使用简介 - 1 - 1、介绍(I1、介绍(INTRODUCTIONNTRODUCTION) ) 欢迎使用由 HDF 用户支持组提供的 HDF5 使用教材 HDF5 是用于存储科学数据的一种文件格式和库文件。它被设计并实现满足科学数据存 储不断增加和数据处理不断变化的需求, 为了充分利用当今计算机系统的能力和特点, 克服 HDF4.x 的不足。HDF5 有一个强大和灵活的数据模块,支持管理的文件大于 2 GB(HDF4.x 管理文件的极限),并且还支持并行 I/O。设计时考虑了安全线程并将在不久的将来实现此 功能。为了便于简单了解 HDF5 的数据模式、库函数和工具,请参看存放于 URL 地址 (http:/hdf.ncsa.uiuc.edu/HDF5/papers/HDF5_overview/index.htm)里的幻灯片。 本使用教材涵盖了基本的 HDF5 数据对象和文件结构,HDF5 程序模块、创建和修改数 据对象的 API 功能。还将介绍用于存取 HDF5 文件的一些有用的工具。 本教材使用的程序例子以及编译它们的 Makefile 在 ./examples/子目录里。为了使用 Makefile 文件,用户也许不得不编辑和更新编译器和编译器选项,以及发布的 HDF5 的目录 路径。Java 程序例子在./examples/ 目录下的名为 java/子目录里。Java/目录有一个 Makefile 文件和运行 java 程序的脚本文件(shell scripts)。 对于其它 HDF5 程序的程序例子,请参看 References 里的指示标记。 希望这个程序例子和用法说明入门能帮助用户很方便地使用 HDF5。 任何意见和建议直接发给:hdfhelpncsa.uiuc.edu. 2、HDF5 文件组织(F2、HDF5 文件组织(FILE ILE O ORGANIZATIONRGANIZATION) 一个 HDF5 文件就是一个由两种基本数据对象(groups and datasets)存放多种科学数 据的容器: HDF5 group:HDF5 group: 包含 0 个或多个 HDF5 对象以及支持元数据(metadata)的一个群组结 构。 HDF5 dataset:HDF5 dataset: 数据元素的一个多维数组以及支持元数据(metadata) 任何 HDF5 的群组或数据集或许都有一个对应的属性列表。HDF5 属性是一个用户自定义的 HDF5 结构,能为 HDF5 对象提供附加信息。 国家卫星气象中心(NSMC) HDF5.0 使用简介 - 2 - 使用群组和数据集时在许多方面类似于使用 UNIX 的目录和文件。HDF5 文件里的对象经常通 过它的绝对路径来引用。 / signifies the root group. /foo signifies a member of the root group called foo. /foo/zoo signifies a member of the group foo, which in turn is a member of the root group. 3、HDF5 应用程序接口(API)3、HDF5 应用程序接口(API) HDF5 函数库提供几个应用程序接口(API)。这些 API 提供用于创建、存取、处理 HDF5 文件和对象的例程。 库函数本身是由 C 程序实现的。为了便于 FORTRAN90 和 Java 程序员的工作,HDF5 包装 的外壳函数也已经用这些语言开发出来了。到写此用户教材时,用 C+包装的外壳函数正在 开发中。本教材只涉及 C 和 FORTRAN 的外壳包装函数。 HDF5 库中所有 C 的例程都有一个前缀形式 H5*开始,这里的*是一个或两个大写字母, 表明有关函数操作对象的类型。 而 FORTRAN 外壳包装是以子程序由 h5 开始和_f 结束的。 API 列表如下: API 描述描述 H5 库函数:H5 函数的通用目的 H5A 注解(Annotation)接口:属性存取(access)和操作例程 H5D 数据集接口:数据集存取和操作接口 H5E 错误接口:错误处理例程 H5F 文件接口:文件存取例程 H5G 群组接口:群组创建和运行例程 H5I 标识号接口:标识号例程 H5P 特性(Property)列表接口:对象特性列表操作例程 H5R 引用接口:引用例程 H5S 数据大小接口:数据大小定义和存取例程 H5T 数据类型接口:数据类型创建和操作例程 H5Z 压缩接口:压缩例程 国家卫星气象中心(NSMC) HDF5.0 使用简介 - 3 - 4、创建 HDF5 文件(C4、创建 HDF5 文件(CREATING AN REATING AN HDF5HDF5 F FILEILE) ) 4.1 什么是什么是 HDF5 文件文件? HDF5 是一个含有科学数据和支持元数据的二进制文件。 HDF5 文件存储对象的基本类型, 即群组和数据集,将在本教材的其它章节讨论。 要创建一个文件,应用程序必须指定一个文件名、文件存取模式、文件创建特性列表、 和文件存取特性列表。 文件存取模式(File access mode) ::文件存取模式(File access mode) :: 当创建一个文件时,假如此文件已经存在,文件存取模式就会指定要发生的动作: o H5F_ACC_TRUNC 说明如果此文件已经存在, 当前的内容将被删除以便应用程 序可以用新数据重新写此文件。 o H5F_ACC_EXCL 说明如果此文件存在,打开则会失败。 o 如果此文件不存在,则文件的存取参数被忽略。 o 在所有情况下,对于一个成功创建的文件,应用程序都可以对这个文件进行 读写存取。 注意对于打开已经存在的文件有两种不同的存取模式: o H5F_ACC_RDONLY 说明应用程序只有读取而没有写入任何数据的权利。 o H5F_ACC_RDWR 说明应用程序有读写的权利。 更详细的信息请参
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号