创建主要使用NaN的NetCDF文件

时间:2013-04-13 21:43:20

标签: c++ netcdf

我正在创建一个主要是NaN值的NetCDF文件。有没有办法可以指定它进行压缩而不是占用大量磁盘空间?我正在使用大学大气研究公司C ++ NetCDF库。

谢谢!

2 个答案:

答案 0 :(得分:0)

是的,但这取决于您使用的netCDF C ++ API,旧版(netcdf-cxx-4.2)C ++ API或更新的netcdf-cxx4-4.2 C ++ API。

使用netCDF-4 C ++库,记录here,只需使用NcVar :: setCompression方法。

使用传统的netCDF-3 C ++库,没有C ++方法可以直接执行您想要的操作。但是该库是作为netCDF C库上的薄层实现的,因此通过添加NcVar构造函数来通过调用C函数nc_def_var_deflate来设置压缩级别,它应该是相当简单的。当然,您必须确保构建旧的C ++库以使用以前安装的netCDF-4库。

答案 1 :(得分:0)

显然,最好在创建时生成netcdf4压缩文件,但我只是想补充说,如果已经编写了一个以非压缩方式生成文件的代码,就可以在现有文件上使用CDO转换为netcdf4约定和压缩同时:

cdo -f nc4c -z zip_9 copy in.nc out.nc