首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pynco包压缩netCDF文件

使用pynco包压缩netCDF文件
EN

Stack Overflow用户
提问于 2021-04-25 01:11:08
回答 2查看 178关注 0票数 2

我对使用pynco包在python中压缩NetCDF文件很感兴趣。在NCO中,我会使用:

代码语言:javascript
复制
nccopy -d 3 input_file.nc output_file.nc

在python中,我尝试了以下操作:

代码语言:javascript
复制
from nco import Nco
Nco.nccopy(input='input_file.nc', output='output_file.nc', options=['-d 1'])

这会产生一个属性错误'Nco' has no attribute 'nccopy'pynco中是否支持nccopy

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-26 06:23:51

nccopy是netCDF命令,而不是NCO命令。然而,ncks几乎可以做nccopy做的所有事情,还有很多其他的事情。要像您的示例中那样压缩,请尝试

代码语言:javascript
复制
Nco.ncks(input='input_file.nc', output='output_file.nc', options=['-7 -L 1'])
票数 4
EN

Stack Overflow用户

发布于 2021-04-27 14:58:32

仅列出pynco的一个替代方案,您也可以使用cdo包在python中执行此操作:

代码语言:javascript
复制
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可能就不需要了,但无论如何也没什么坏处。

您可以使用以下命令安装cdo

代码语言:javascript
复制
pip3 install cdo
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67245423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档