Netcdf 文件格式 [转]

直到3.6.0版本,所有以前的版本唯一的格式二进制格式,现在这种格式被默认经典格式。在3.6.0版本一种新的二进制格式被引进,64bit offsets,这种格式给用户创建更大的数据库。在4.0.0版本,第三种二进制格式被引进,HDF5格式。从这个版本开始,netcdf数据库可以用HDF5作为基本的格式之一。(只有用netcdf-4创建的HDF5格式的文件才能被netcdf-4识别)

默认条件下,netcdf使用经典模式,若要使用64-bit offsets 以及HDF5格式,需要在创建文件时候进行参数设置。为了网络的透明(独立于机器)netcdf经典和64-bit offsets 格式是像对XDR为代表的外部的补充。这种代表提供了独立于机器编码流的数据编译方式,极大的补充了计算机用8位连续的编译的方式。IEEE754 浮点指针标准作为浮点指针数据的标准。

如何选择格式

面对三种不同的文件格式,创建数据文件时候需仔细考虑选择合适的数据格式。文件一旦创建,其格式即固定。当打开存在的netcdf文件,netcdf库透明的检测格式,并适应之。然而, netcdf数据库在3.6.0版本以前不能势识别64-bit offsets4.0版本之前不能读取netcdf4-hdf5文件。因此用户应在最大情况下使用经典格式,分发数据。当选择64-bit offset或者netcdf-4 文件格式,c程序应该用flag NC——64BITOFFSET 或者NCNETCDF4nc_creat函数创建的时候。在fortran同理。

netcdf经典格式

netcdf的初始格式的特在是用在文件头用4个位。所有的这类文件格式都有 CDF\001”在文件头。这种格式的文件被默认经典格式。这种经典格式被广泛地被以前的版本使用,具有最大的可移植型,至今还是netcdf默认的文件格式。对于某些用户各种2GiB格式限制是一个问题;对于某些用户,64-bit offset 是合适的选择,这种格式极大的缓解了netcdf经典格式的大小的限制。64-bit offsets 以“CDF\002”为文件头。

netcdf-4 格式

4.0版本,netcdf包含了另外一种新的格式HDF5.netcdf-4文件格式提供了例如组、复合类型,变量长度数组、新的未分配大小的整型、I/O并行接口等等新的特性。这些新的特性在以往的文件格式是不能用的。netcdf-4文件需要netcdf编译的时候“--enable-netcdf-4”,并且要求安装HDF51.8.0以上的版本。对于目前的netcdf-4.0发行的版本,netcdf-4特性只支持cfortran 接口。

 

引自:http://blog.sciencenet.cn/blog-714229-617858.html

猜你喜欢

转载自dawnche.iteye.com/blog/1933541