1

我有 NetCDF 版本 3 的文件。我使用 Windows 的最新 ncks(2014 年 10 月 1 日发布)重新分块我的文件 ncks -4 --cnk_dmn lat,4 --cnk_dmn lon,4 --cnk_dmn time,512 2014.nc 2014_chunked.nc ,生成了 NetCDF 版本 4 的 2014_chunked.nc 文件

例如,WCT 可以读取新文件 2014_chunked.nc。但是,java代码产生

 [ucar.nc2.NetcdfFile] DEBUG Using IOSP ucar.nc2.iosp.hdf5.H5iosp
 [ucar.nc2.iosp.hdf5.H5header] ERROR bad version 72 at filePos 22386

并抛出异常

代码是

import ucar.nc2.NetcdfFile;
NetcdfFile nativeNetCDFFile = NetcdfFile.open(fullPath);

我将最新的 NetCDF4.5 用于 JRE 7 http://www.unidata.ucar.edu/downloads/netcdf/netcdf-java-4/index.jsp

我查看了 netcdf jar 文件,发现 Nc4.class 的长度只有几个字节,因此该 jar 没有 NetCDF4 iosp,并且对 NetCDF 4 文件使用 H5iosp。

我想新版本的 NetCDF 4.5 java 必须与我一直使用的 4.2 版本略有不同,因为用于打开 netcdf 4.2 的 HDF5 和 HDF4 文件的相同 java 代码可以正常工作,但对于 4.5 则不能:

private NetcdfFile file;
....
String path = groupInFile + GROUP_DELIMITER + nameInGroup;
Variable findVariable = file.findVariable(path);

怎么了?

4

1 回答 1

0

这是 NetCDF 中的一个错误,由于我向 NetCDF 团队报告错误,自 4.5.4 版以来已修复: http ://www.unidata.ucar.edu/mailing_lists/archives/netcdf-java/2015/msg00028.html

于 2015-04-20T16:22:09.810 回答