用CDO计算选定区域的平均值

时间:2018-08-29 20:12:56

标签: python spi cdo

我正在尝试计算具有特定lon / lat的选定区域上的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]请稍等,请稍等。

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

1 个答案:

答案 0 :(得分:0)

我不熟悉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

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