什么是在Windows上将NetCDF转换为HDF5的最简单方法

时间:2013-06-26 23:53:46

标签: hdf5 netcdf

在此Wiki article中写有

  

NetCDF用户可以创建HDF5文件

但是我找到了如何实际进行这种转换的麻烦。我唯一能找到的是http://www.hdfgroup.org/HDF-FAQ.html#convnetcdf。这里写着:

  

Fortner Software有一个名为ncdf2hdf的Windows可执行文件   (已解散)进行转换。它不再可用,但可能   通过搜索网络找到。但是,它的HDF文件   据报道,生成缺乏一些结构   发现在上述路线产生的那些。

我不应该在这里提到在网上找到这个ncdf2hdf真的很难。

到目前为止,我发现我可以使用python来读取http://gfesuite.noaa.gov/developer/netCDFPythonInterface.htmlhttps://code.google.com/p/netcdf4-python/的netcdf文件,但是有更简单的方法。

1 个答案:

答案 0 :(得分:8)

首先,查看您的文件使用的netCDF格式。如果您的系统上安装了netCDF,最简单的方法是使用ncdump:

ncdump -k foo.nc

如果ncdump返回netCDF-4netCDF-4 classic model,那么恭喜你已经有了一个HDF文件,因为netCDF-4是使用HDF5作为存储层实现的netCDF数据模型。这些文件可以通过HDF库1.8或更高版本以及我所知道的pytables来准备。

如果ncdump返回classic64-bit offset,那么您使用的是netCDF-3,需要转换为netCDF-4(以及HDF)。好消息是,如果你安装了netCDF,你可以很容易地进行转换:

nccopy -k 4 foo3.nc foo4c.nc

有关详细信息,请参阅netCDF FAQ,具体为this条目。

那就是说,非常值得花时间学习如何使用netCDF-4-python来完成这个任务,而无需中间转换(不要让名字欺骗你,netCDF-4-python可以读取netCDF-3格式,以及大多数netCDF-4文件)。 netCDF-3仍然被广泛使用,甚至在气象界之外,这个额外的箍将在一点之后变得麻烦。更重要的是,如果文件的大小非常大,转换可能会非常耗时。