我应该如何使用 CDO Selyear?我得到的输出文件大四倍

Pau*_*uli 3 netcdf netcdf4 cdo-climate

CDO 似乎对我来说工作得很好,直到我遇到了这个。我有一个从 2101 年到 2228 年的每日数据的 netcdf,并且我想获取一个仅包含从 2101 年到 2227 年的年份的文件,所以我运行:

cdo selyear,2101/2227 in.nc out.nc
Run Code Online (Sandbox Code Playgroud)

但输出文件的内存大小是输入文件的四倍多!它似乎具有正确的时间步数,并且初始日期和结束日期都是正确的。另外,纬度和经度似乎与输入相同,所以我想知道为什么文件大小如此。

Adr*_*ins 5

也许尝试使用 cdo 运算符保留压缩并输出 netcdf 4

cdo -f nc4c -z zip_9 selyear,2101/2227 in.nc out.nc
Run Code Online (Sandbox Code Playgroud)

这是最大压缩,通常我使用zip_5左右,因为文件不会大很多,zip_9并且命令要快得多。

另一种方法是使用 add_offset 和 scale_factor 将数据(重新?)打包到 SHORTS 中,如下所示:

cdo pack -selyear,2101/2227 in.nc out.nc
Run Code Online (Sandbox Code Playgroud)