java - NetCDF 4.5 Java NetCDF 文件版本 4 的问题 + HDF 的旧代码不起作用

标签 java hdf5 netcdf hdf nco

我有 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 文件

例如,新文件 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 for 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);

出了什么问题?

最佳答案

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

关于java - NetCDF 4.5 Java NetCDF 文件版本 4 的问题 + HDF 的旧代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26481877/

相关文章:

java - 如何运行 sql 脚本以便从 java 代码更新 Derby 架构?

java - 在 JPA 环境中声明 Hibernate 事件监听器

python - 如何访问 python 包?

netcdf - 对不包含时间维度的文件使用 xarray open_mfdataset

python - netCDF4-python 生成的文件在 Panoply 中显示效果不佳

java - 你如何声明 x 和 y 以便 x+=y 给出编译错误而 x=x+y 没有?

单击单元格时 DefaultTableModel 上的 Java 事件处理

keras - 在 Keras 中加载由 callbakcs.ModelCheckpoint() 保存的模型时出错

python - 使用 Python 从保存在 H5 文件中的非常大的数据集生成 pcolormesh 图像

lua - 使用Torch-hdf5将Tensor保存到Hdf5