问题描述
使用 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)