python - 使用 cdo 计算选定区域经纬度的平均值

标签 python spi cdo-climate

我正在尝试计算具有特定经度/纬度的选定区域的平均 SPI 值。我制作了以下区域,我想在其中计算平均值。

ds_mlw1 = ds.sel(lat=slice(-16.74833, -16.75613), lon=slice(35.27023, 35.27915))

我发现使用 cdo 包效果最好。我收到一条错误消息,指出我的 cdo 无法识别。有人知道如何解决这个问题。

这是我的脚本

from cdo import *
import matplotlib.pyplot as plt
file = 'spi3_6_12_1deg_cru_ts_3_21_1949_2012.nc'
cdo = Cdo()
cdo.debug=True


meanspi  = cdo.fldmean(input=file,returnCdf=True).variables['spi3'][:] 

我收到以下错误

---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-77-7eeb6d09369c> in <module>()
      9 import matplotlib.pyplot as plt
      10 file = 'spi3_6_12_1deg_cru_ts_3_21_1949_2012.nc'
  ---> 11 cdo = Cdo()
     12 cdo.debug=True
     13 

FileNotFoundError: [WinError 2] Het systeem kan het opgegeven bestand niet vinden

含义(系统找不到给定的文件)

最佳答案

我对cdo不熟悉,但是使用ipython(交互式python)我调试了这一段代码:

from cdo import *
cdo=Cdo() 

并且能够得到您的错误:

FileNotFoundError: [Errno 2] No such file or directory: 'cdo': 'cdo'

我还可以在异常跟踪中看到它正在寻找可执行文件“cdo”。看来 python 模块 cdo 是程序二进制 cdo 的包装器。

如果您安装程序cdo,它可能会解决您的问题。 信息出现在这里? : https://code.mpimet.mpg.de/projects/cdo/wiki/Cdo#Documentation

这与气候变化有关吗?太酷了!

关于python - 使用 cdo 计算选定区域经纬度的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52085416/

相关文章:

python - 如何读取 gekko 错误代码(例如位置 : 5, v3 等)

c - 终端输出不是逻辑分析仪得到的

python - 用全息图绘制表格数据

python - 更改已保存 pickle 的导入库

raspberry-pi - 使用 GPIO 后 Raspberry Pi 上的 SPI 重置

r - 仅从 4d NetCDF 文件中提取底部温度

netcdf - CDO/NCO - 在维度上复制数据集

r - 使用 R 估算 NetCDF 数据的每月气候学

python - 如何在 python 中 append print 函数的值

c - 在 PIC32 上通过 DMA 接收 SPI 数据