读写hdf5文件编程用户指南

所需积分/C币:10 2016-05-03 09:47:22 9.18MB PDF
23
收藏 收藏
举报

本教材涵盖基本的hdf5数据对象和文件结构,HDF5程序模块、创建和修改数据对象的API功能,还介绍用于存取hdf5文件的一些有用工具
NNc国家卫星气象中心(NSMC) HDF50使用简介 7.⊥什么是属性( Attribute)? 1创建一个属性( Creating an attribute) .17 7.1.2读/写属性( Reading/ Writing an attribute) 7.2编程例了( Programming Example) 7.2.1描述( Description) …18 7.2.2备注( Remark) 7.2.3文件内容( File contents) 7.2.4DDL中的属性定义( Attribute definition in ddl) 8、读出和写入数据集( Reading from and Writing to a Dataset) 1读出和写入数据集( Reading from and writing to a dataset) 8.2编程例子( Programming examp1e) +++++ 23 8.2.1描述( Description) 8.2.2备注( Remarks) 24 8.2.3文件内容( File contents) 27 9、复合数据关型( Compound Datatypes) 9.1创建复合数据类型( Creating Compound Datatypes) 9.2程序例子( Programming Example) 9.2.1描述( Description)… 29 9.2.2备注( Remarks)…. 2.3文件内容( File contents NNc国家卫星气象中心(NSMC) HDF50使用简介 说明:本教材不包含编译例程所需的软件。 Introduction Property Lists Design overview HDFS File Organization Compound Datatypes Parallel programming The hdF5 API Hyperslab Selection Create/Access File Create an hdfs fille 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: hsIs/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 NNc国家卫星气象中心(NSMC) HDF50使用简介 1、介绍( INTRODUCTI0N) 欢迎使用由HDF用户支持组提供的IDF5使用教材 HDF5是用于存储科学数据的一种文件格式和库文件。它被设计并实现满足科学数据存 储不断増加和数据处理不断变化的需求,为了充分利用当今计算机系的能力和特点,克服 HDFA.ⅹ的不起。HDF5有一个强大和灵活的数据模块,支持管理的文件大于2GB(HDF1.x 管理文件的极限),并且还支持并行I0。设计时考虑了安全线程并将在不久的将来实现此 功能。为了便于简单了解HDF5的数据模式、库函数和工具,请参看存放于URL地址 (http://hdf.ncsa.uiuc.edu/lidi5/papErS/iDr5overview/index.htm)里的幻灯片 本使用教材涵盖了基本的HDF5数据对象和文件结构,HDF5程序模块、创建和修改数 据对象的API功能。还将介绍用于存取HDF5文件的一些有用的T具。 木孜材使用的程序例了以及编译它们的 Makefile在/ examples了目录里。为了使用 Makefile文件,用户也许不得不编辑和更新编译器和缃译器选项,以及发布的围DF5的目录 路径。Java程序例子在./ examples/目录下的名为java/子目录里。Java/目录有一个 Makefile文件和运行Java程序的脚本文件( shell scripts) 对于其它HF5程序的程序例子,请参看 References甲的指示标记。 希望这个程序例子和用法说明入门能帮助用户很方使地使用HDF5 任何意见和建议直接发给: haihe lpe@ncsa.uiuc.ecu 2、HDF5文件组织( FILE ORGANLZATION) 个DF5文件航是一个由两种基本数据对象( groups and datasets)有放多种科学数 据的容器 HDF5 group:包含0个或多个HD5对象以及支持元数据( metadata)的个群组结 构 HIDF5 dataset:数据元素的一个多维数组以及支持元数据( metadata) 仟何HDF5的群组或数据集或许都有一个对应的属性列表。HDF5属性是一个用户自定义的 HDF5结构,能为HF5对象提供附加信息。 NNc国家卫星气象中心(NSMC) HDF50使用简介 使用样组和数据集时在许多方面类似」使用UNIX的」录和文件。HDF5文件里的对象经常通 过它的绝对路径来引用。 signifies the root group /foo signifies a. member of t he 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) HDF5函数库提供几个应用程序接口(API)。这些API提供用于创建、存取、处理HDF5 文件和对象的例程。 库函数本身是由C程序实现的。为了便于 FORTRAN90和Java程序员的工作,HDF5包装 的外壳函数也已经用这些语言开发出来了。到写此用户教材时,用C+包装的外克函数正在 开发中。本教材只涉及C和 FORTRAN的外壳包装函数 HDF5庥中所有C的例程都有一个前缀形式H*开始,这里的米是个或两个大写字母, 表明有关函数操作对象的类型。而 OUTrAN外壳包装是以子程序由h5开始和f结束的。API 列表如下: API措述 H5库函数:H5函数的通用目的 H5A注解( Aumotalion接口:属性存取aceN)操作例程 HD数据集接口:数据集存取和操作接口 HSE错误接口:错误处理例程 H5F文件接口:文件存取例程 H5G|群组接口:群组创建和运行例程 H5I标识号接口:标识号例稈 H5P特性( Propcrty)列表接口:对象特性列表操作例程 I5R引用接口:引用例程 Hs数据大小接口:数据大小定义和存取例程 HST数据类型接口:数据类型创建和操作例程 H5Z爪缩接口:压缩例程 NsNc国家卫星气象中心(NSMC) HDF50使用简介 4、创建ⅢDF5文件( CREATING AN HDE5FIlE) 4.1什么是HDF5文件? HDF5是一个含冇科学数据和支持元数据的二进制文件。DF5文件存储对象的基木类型, 即群组和数据集,将在本教材的其它章节讨论。 要创建一个文件,应用程序必须指定一个文件名、文件存取模式、文件创延特性列袤、 和文件存取特性列表。 文件存取模式( File access mode): 当创建一个文件时,假如此文件凵经存在,文件存取模式就会指定要发生的动作: H5 F ACC TRUNC说明如果此文件已经存在,当前的内容将被删除以便应用程 序可以用新数据重新写此文件 H5 F ACC EXCI.说明如果此文件存在,打开则会失败。 o如果此文件不存在,则文件的存取参数被忽略 o在所有情况下,对于一个成功创建的文件,应用程序都可以对这个文件进行 读写存取。 注意对丁打开已经仔在的文件有两种不同的存取模式: I5 F ACC RDONLY说明应用程序只有读取而没有写入任何数据约权利。 H5 F ACC RDWR说明应用程序有读写权利。 更详细的信息请参见《HDF用户指南》里的 The file interface(H5F)小节和《HDF5 参考手册》中的H5F:Fi1 e Inter race小节 ·文件创建特性列衣( File creation property list): 文件创建特性列表常被用于控制文件旳元数据。文件的元数据包含有关用户块的大 小、HF5库使用的不冋文件数据结构大小等。此教材中,缺省的文件创建特性列表 是H5 P DEFAULT。 用户块(user- block)是被DF5库忽略的位于文件开始的定长度的数据块。用户 块可以用于存放任何数据或对应用有用的信息。 更详细的内容请参见《ID用户指南》中的 The file interface(I5)小节。 文什存取特性列表( File access property list): NNc国家卫星气象中心(NSMC) HDF50使用简介 文件存取特性列表道常被用来控制对文件I/0表呆取不同的方法。本教材使用的 缺省文件存取特性列表是H5 P DEFAUL 详情见《IDF用户指南》中的 The file interface(5F)小节 创建和关闭一个HDF5文件的步骤如下: 1.如耒需要,指定文件创建和冇取特性列表。 创建文件 如需要,关闭文件和关闭特性列表 要创建一个HDF5文件,调用程序必须包含调用创建和关闭文件。如下例 file id=H5Fcreate (filename, access mode, create id, access id) status H5Fclose (f CALL h5fcreate f (filename, access mode. file id, hdferr,& creation prp create id, access prp access id) Or CALL h5fcreate f (filename, access mode, file id, hdferr) CALL h5fclose f (file id, hdferr) 在 FORTRAN程序中,文件创建特性列表 creation prp、和文件存取特性列表 access pIp 是可选参数;如果使用了缺省值,它们可以被忽略。 42程序例子( Programming Example) 4.2,.1描述( Description) 下面的例子表明如何创建和关闭一个Im5文件。用C创建一个名为file.h5的文件 和用 FORTRAN创建 filef.h5文件,然后关闭它。 [C Example]--h5-_crtfilec FORTRAN Example]--fileexample. f9o 注意:要下载个tar文件,包括所有程序例了和个 Makefile,请转到 References 4 NNc国家卫星气象中心(NSMC) HDF50使用简介 4.2.2备注(R emarks 对C:头文仁hd5.h包括定义和声明,使用HDF5库的任何程序必须扣它包括进来 对 FORTRAN:模块HDF5包含定义和声明,仟何使用HDF5厍的程序必须用它 H5 Fcreate/ hafcreate f创建一个HF5文件和返回文件标号 C. hid t H5Fcreate (const char sname, uns i gned access mode, hid t creation prp, hid t access prp) h5fcreate f (name, access mode, file id, hdferr, creation prp access prp name CHARACTER(LEN=x) access flag INTEGER ( Valid values: H5F ACC RDWR F, H5F ACC RDONLY F H5F ACC TRUNC F. H5F ACC EXCL F H5F ACC DEBUG F) file id INTEGER (HID T) hafer INTEGER ( Valid values: 0 Un success and -1 ol failure) creation prp INTEGER(HID T), OPTIONAL (Default value: II5P DEFAULT F) access prp INTEGER(HID T), OPTIONAL (Default value: H5P DEFAULT F) o name参数指定要创建的文件名。 o存取模式参数指明文件模式。假如文件已经存在,I5 F ACC TRUNC (H5 F ACC TRUNC F in Fortran)将截取一个文件。 o creation p参数说冂文件创建列表。对于C语言,用H5 P DEFAULT表示 使用了缺省的文件创健列衣。这个选项在 FORTRAN中是可选的;假如没有此 项,缺省的文件创建列表H5 P DEFAULT F,就被使用。 o access prp参数说明文件存特性列表。对于C语言,用I5 P DEFAULT表 明缺省文件创建特性列表被使用。此项在 FORTRAN中是可选的;如果被忽略, 缺省釣文件创建特性列表H5 D DEFAULT F,就被使用。 3对亍C,如果成功则返回文件标识号,否则返回个负数。对丁 FORTRAN 文件标识号是通过 filc id的参数甲返回的。如果调用成功, honor返回 个0(零)值。否则在将返可一个-1值。 当一个文件个再被程序存取,H5 Fclose/h5 fclose f必须被调用来释放被这个文件 使用的资源。这个调用是强制性的 herr t H5Fclose (hid t file id) NNc国家卫星气象中心(NSMC) HDF50使用简介 FORTRAN h5fclose f(file id, hdferr) 当一个文件被创建时,根下群组( roct group)就被自动创建。每个文件都有一个 根下群组,群组的路径名通常都是“/” 4.2.3文件内容( File contents) HDF开发组已经开发出了检查HDF5文件内容的工具。本教材牛使用的工具是HD5 dumper、h5dm,可以把文件内容显示成可读的形式。根据HDF5DDL语法,h5dump的输 出形式是有格式的ASC∏码。在 DDL in bnf for hde5中使用 Backus-Naur格式定义了语法。 查看文件内容,键入命令 h5dump <filename> 图4使用一个直接图表来表示文件 file. h5( filef h5)的内容。本教材中的直接图表用 椭园表示HDF5的群组,用长方形表示数据集。箭头表示内容的包含方向 Fig.4.1fie.h5(fi/lefh5)文件的内容 roup 图42是文件 file. h5的文本描述,与h5dump生成的一样。HDF5文件调用了含有 个群组的fleh5的文件,或调用根下的群组 Fig. 4.2 fi/e h5 in DDl HDF5file h5 GROUP

...展开详情
试读 36P 读写hdf5文件编程用户指南
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
woshixiancai 还没下载就要先评论。。。
2017-11-13
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚积分or赚钱
    最新推荐
    读写hdf5文件编程用户指南 10积分/C币 立即下载
    1/36
    读写hdf5文件编程用户指南第1页
    读写hdf5文件编程用户指南第2页
    读写hdf5文件编程用户指南第3页
    读写hdf5文件编程用户指南第4页
    读写hdf5文件编程用户指南第5页
    读写hdf5文件编程用户指南第6页
    读写hdf5文件编程用户指南第7页
    读写hdf5文件编程用户指南第8页

    试读结束, 可继续读3页

    10积分/C币 立即下载 >