我试图用特定的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]系统找不到指定的文件
意思是(系统找不到给定的文件)
我最后没有使用cdo包,但在xarray中使用了slice函数。
ds_mlw = ds.sel(lon=slice(33,37), lat=slice(-18,-13), time=slice("2002-01-01", "2017-
11-01"))
spi_avg = ds_mlw.mean(dim=('lon', 'lat'))
plt.figure(figsize=(10,5))
spi_avg['spi3'].plot()
我不熟悉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
这种气候变化是否相关?那太酷了!