1

使用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,10.,15.", dimension="latitude,45.,50.")

但我收到一个错误:

SyntaxError:关键字参数重复

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

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

4

1 回答 1

1

这是 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)
于 2021-06-21T23:47:55.667 回答