我有 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);
怎么了?