NetCDF简介
NetCDF(network Common Data Format),即网络通用数据格式。最早是由美国国家科学委员会资助之计划--Unidata --所发展,其用意是在Unidata计划中不同的应用项目下,提供一种可以通用的数据存取方式,数据的形状包括单点的观测值、时间序列、规则排列的网格、以及人造卫星或雷达之影像档案。
NetCDF 可简单的视为一种存取接口,任何使用 NetCDF 存取格式的档案就可称为 NetCDF 档案;至于 NetCDF 这套软件的功能,在于提供C、Fortran、C++、Perl、或其它语言I/O的链接库,以让程序发展者可以读写数据文件,其本身具有说明的能力、并且可以跨越平台和机器的限制。每一个NetCDF档案可以含括多维度的、具有名称的变量,包括长短的整数、单倍与双倍精度的实数、字符等,且每一个变量都有其自我介绍的数据,包括量度的单位、全名及意义等文字说明,在此摘要性的檔头之后,才是真正的数据本身。
NetCDF接口是一种多维的数据分布系统,由这个接口所产生的档案,具有多维的数据格式,当你需要其中的某一笔数据时,程序将不会从第一笔数据读到你所需要的数据处,而是由 NetCDF 软件直接存取那一个数据。如此一来将会大量的降低模式运算时数据存取的时间。但也就是因为这样, NetCDF 所需要的空间是很大的,因为他多了很多的自解释的申明。
NetCDF文件结构
对NETCDF文件的操作主要有读和写两个方面,在了解这两个方面内容之前,首先需要了解NETCDF文件的结构,NETCDF文件主要是Dimensions, Variables, Attributes, Data 四个部分组成的:
Dimensions主要是多维资料的结构,如经度、纬度、时间等
Variables各种变量,像温度等
Attributes一些辅助记忆的说明,如变量的单位等
Data主要资料部分
下面是NETCDF文件基本结构图(箭头指向为可操作的对象)
NETCDF文件基本结构图
根据NETCDF文件的这种特殊的结构,所使用的NcFile类中包含了NcDim, NcVar, NcAtt几个类的对象作为成员,分别对应了上面的Dimensions, Variables, Attributes部分。