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

Sal*_*ali 3 hdf5 netcdf

在这篇维基文章中写道

NetCDF用户可以创建HDF5文件

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

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

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

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

小智 8

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

ncdump -k foo.nc
Run Code Online (Sandbox Code Playgroud)

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

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

nccopy -k 4 foo3.nc foo4c.nc
Run Code Online (Sandbox Code Playgroud)

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

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