pyNCO:在单个命令中按维度bbox提取/子集/切片 netcdf - 语法问题

问题描述

使用 NCO,我可以根据给定的坐标轻松地从 netCDF 文件创建子集,例如:

ncks -d latitude,40.,50. -d longitude,10.,30. in.nc out.nc

但我不知道用 pyNCO 重现这样的命令。类比语法可能是

nco.ncks(input='in.nc',output='out.nc',dimension="longitude,15.",dimension="latitude,45.,50.")

但是消息 SyntaxError: **keyword argument repeated**

我在文档或论坛中找不到合适的示例。我设法使用单个关键字并通过 tempfile(速度较慢)使用更多代码行做了一些解决方法......但我相信必须有更优雅的语法。

有人可以在这里提供一些指导吗?

解决方法

这是 Python 错误,因为您有 (... dimension=...,dimension = ...),这会导致关键字参数重复。不幸的是,我没有使用过 PyNCO,只是看看 https://pynco.readthedocs.io/en/latest/#usage 中的示例。似乎给出限制的正确方法是使用选项,并且对于多个维度,选项都在列表中。

就你而言:

opt = [
    c.Limit("lat",45.0,50.0),c.Limit(dmn_name="lon",srt=10.0,end=15.0),]
nco.ncks(input='in.nc',output='out.nc',options = opt)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...