У меня есть файл NetCDF версии 3. Я использовал последнюю версию ncks для Windows (выпущенную 1 октября 2014 г.), чтобы повторно обработать свой файл ncks -4 --cnk_dmn lat,4 --cnk_dmn lon,4 --cnk_dmn time,512 2014.nc 2014_chunked.nc
, который произвел файл 2014_chunked.nc для NetCDF версии 4.
Новый файл 2014_chunked.nc может быть прочитан, например, WCT. Однако код 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
Я просмотрел файл jar netcdf и обнаружил, что Nc4.class имеет длину всего несколько байтов, поэтому jar не имеет NetCDF4 iosp и использует H5iosp для файлов NetCDF 4.
Я полагаю, что новая версия NetCDF 4.5 java должна использоваться несколько иначе, чем версия 4.2, которую я использовал все время, поскольку тот же код Java для открытия файлов HDF5 и HDF4 для netcdf 4.2 работает нормально, но для 4.5 нет:
private NetcdfFile file;
....
String path = groupInFile + GROUP_DELIMITER + nameInGroup;
Variable findVariable = file.findVariable(path);
Что не так?