3

在这篇Wiki 文章中写道

NetCDF 用户可以创建 HDF5 文件

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

有一个来自 Fortner Software (defunct) 的名为 ncdf2hdf 的 Windows 可执行文件进行转换。它不再可用,但可以通过搜索网络找到。但是,据报道,它生成的 HDF 文件缺少上述路径生成的文件中的某些结构。

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

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

4

1 回答 1

10

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

ncdump -k foo.nc

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

如果 ncdump 返回classicor 64-bit offset,那么您正在使用 netCDF-3 并且需要转换为 netCDF-4(因此是 HDF)。好消息是,如果你安装了 netCDF,你可以很容易地进行转换:

nccopy -k 4 foo3.nc foo4c.nc

有关更多详细信息,请参阅netCDF 常见问题解答,特别是此条目。

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

于 2013-06-29T03:54:50.363 回答