netcdf介绍及在C语言中应用.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NetCDF介绍 目录 一、NetCDF文件介绍 2 1、简介 2 2、netCDF优点 2 3、NetCDF缺点 2 二、NetCDF文件结构 3 1、结构描述 3 2、结构之间的内在联系 3 三、NetCDF 接口函数库 4 1、NetCDF 接口函数库 4 2、C版本的NetCDF 数据的接口函数库简介 5 四、总结 5 五、附录: 6 一、NetCDF文件介绍 1、简介 NetCDF(Network Common Data Form,通用的网络数据格式)是由美国大学大气研究协会UCAR(University Cooperation for AtmosphereResearch)下Unidata项目科学家针对科学数据的特点,提出的一种面向数组型数据,适于网络共享的数据描述和编码标准。其用意是在Unidata计划中不同的应用项目下,提供~种可以通用的资料存取方式,资料的形状包括单点的观测值、时间序列、规则排列的网格,以及人造卫星或雷达的影像文件。其软件实现形式是一个免费的NetCDF软件包,内含可访问NetCDF数据的工具程序和多种语言的接口函数库。 它独立于机器并用于保存科学数据,同时也是一个数据类库接口,该数据类库包含了访问数组格式的功能。这种格式的接口、类库都支持产生、访问和共享科学数据。? 2、netCDF优点 (1)、可以使用统一的接口来直接读写不同的气象资料,方便数据的管理。 (2)、NetCDF格式文件具有自描述性,即NetCDF不仅包含了数据资料,还包括了描述数据特征的属性,这也是网络时代数据的趋势性特征。 (3)、平台无关性。即NetCDF文件支持在不同平台间的数据传输,这使得NetCDF文件易于网络中共享。 (4)、目前NetCDF最大可以支持2G的文件,且具有较高的数据存储效率。 (5)、易用性,有丰富的第三方软件操作NetCDF文件,如Grads、Matlab和IDL等。 (6)、可用性高,表示其较高的数据压缩比,以及基于数组下标的线性存储导致的高效存取。 (7)、方便数据的读取。 3、NetCDF缺点 (1)、只能有一个维可变化,因此非方型的数组难以存储 (2)、虽然说是完全自说明的,但是一个变量仅能有几种基本类型的属性变量,复杂的属性变量(如像C 中的类)无法建立,故对于复杂的原数据也是无法自说明的。 (3)、不支持嵌套结构。 (4)、不支持同时访问,一个文件一次只能由一个用户访问,不支持多用户同时访问 二、NetCDF文件结构 NetCDF是一种二进制、自描述的文件格式,不需要其他文件来对它进行描述。每个NetCDF文件具备如下所示的结构,其中包含维数、变量、属性和数据4个子域,其中属性又分为适用于整个文件的全局属性和适用于特定变量的局部属性。 1、结构描述 一个netCDF数据集包含维、变量和属性三种描述类型,维、变量和属性都会被分配一个名字和一个ID,这些类型共同描述了一个数据集,netCDF库可以同时访问多个数据集,这时就是用ID来识别的。 dimensions(维): 一个维可以用来代表一个真实的物理空间,例如时间、纬度、经度或者高度。维也可以用来代表其他的属性,例如观测站点、模式运行版本号等。一个NetCDF的维有一个名字和长度,维的长度必须是一个正整数。 variables(变量): 在NetCDF数据集中,变量是用来存放数据块的。NetCDF数据集里的变量一般都是数组变量。一个变量代表着具有相同的数据类型的数组的值。每个变量都有一个名字、一个数据类型和数组形状。 attributes(属性): NetCDF的属性是用来对数据进行辅助说明,存放关于数据的数据,例如变量的单位,在很多方面和数据字典中的信息很像。 data(数据): NetCDF支持的数据类型是char,byte,short,int。float或者real,double。NetCDF接口对数据的访问是直接访问的。 2、 结构之间的内在联系 (1)内在联系 维、变量、属性三者之间联系十分紧密,并且三者的定义都依赖于所创建的Dataset的ID。 netCDF数集的创建,首先定义维,紧接着定义变量,再定义变量的属性。 变量的定义要依赖于之前所定义的维。在定义变量时要指明变量的类型,变量所占空间的大小,它可以是一个向量,矩阵,三维数组,或更多维。它的每一维的长度都依赖于前面所定义的维,在定义时直接取所依赖的维的ID即可,如例一,变量Ele的定义依赖于维lay的ID。如果所要定义的变量是个矩阵,它的每一维的长度值也都来自前面所定义的维,将所以赖的两个维的ID放到一个数组里,便可以用此来确定变量的空间大小,如例二,变量Ref的空间大小是由维RadNum和RbNum共同来确定的。 首先创建一个Dataset,文件名为foo.nc。

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档