问题描述
我对使用 pynco
包在 python 中压缩 NetCDF 文件很感兴趣。在 NCO,我会使用:
nccopy -d 3 input_file.nc output_file.nc
在python中,我尝试了以下方法:
from nco import Nco
Nco.nccopy(input='input_file.nc',output='output_file.nc',options=['-d 1'])
这会产生属性错误 'Nco' has no attribute 'nccopy'
。 nccopy
内是否支持 pynco
?
解决方法
createTheme('solarized',{
text: {
primary: 'white',},background: {
default: '#131313',})
是 netCDF 命令,而不是 NCO 命令。但是,nccopy
几乎可以完成 ncks
所做的所有事情,以及很多其他事情。要像您的示例一样压缩,请尝试
nccopy
,
只是为了列出 pynco
的替代方案,您也可以使用 cdo
包在 python 中执行此操作:
from cdo import *
cdo = Cdo()
cdo.copy(input='input.nc',output='output.nc',options='-f nc4 -z zip_7')
您可以选择从轻 (zip_1
) 一直到最压缩 (zip_9
) 的压缩级别,我通常发现超过 4 或 5 级没有太多增益(即额外的尺寸节省非常小)很多痛苦(命令需要更长的时间!)。我认为如果输入是 netCDF4 标准,则可能不需要用于确保 netCDF4 输出的 -f nc4
,但无论如何放置它也无妨。
你可以用
安装 cdopip3 install cdo