我使用的是ERA-Interim数据,例如总降水量,我只想对陆地地区进行观测。
我如何过滤ERA-Interim降水数据集以只得到陆地上格点的观测数据?
有什么具体的方法需要我申请吗?也许CDO能帮上忙?
谢谢
江南体育网页版地球科学堆栈交换是一个为那些江南电子竞技平台对地质学、气象学、海洋学和环境科学感兴趣的人提供的问答网站。注册只需要一分钟。
注册加入这个社区吧我使用的是ERA-Interim数据,例如总降水量,我只想对陆地地区进行观测。
我如何过滤ERA-Interim降水数据集以只得到陆地上格点的观测数据?
有什么具体的方法需要我申请吗?也许CDO能帮上忙?
谢谢
最简单的方法是下载另一个数据只在海洋上可用的变量,比如海面温度(Sea Surface Temperature, SST)。您应该能够以与使用precipitation相同的方式下载它(下面我们将其称为PREC)。
然后,你可以使用任何处理这类数据的软件(Matlab, Python, NCL,…)来屏蔽海洋细胞。逻辑是在PREC中分配一个缺失值(NaN),其中SST是不一个缺失的值,以获得只有土地的PREC (PRECL)。或者反过来:在SST缺少值的地方保留PREC的值。
假设SST和PREC是二维字段,即PREC=PREC(y,x)和SST=SST(y,x),其中y和x是纬度坐标和经度坐标的索引。在Python中,代码应该如下所示前的
,风场
字段和纬度
而且朗
作为Numpy数组的坐标数组。
import numpy as np #初始化PREC形状的变量,填充缺失值:PRECL = np.zeros(np.shape(PREC)) PRECL.fill(np.nan) #检查SST中每个单元格的内容,以确定PRECL: for x in range(len(lon)): for y in range(len(lat)): if np.isnan(SST[y,x]): PRECL[y,x] = PREC[y,x] else: PRECL[y,x] = np.nan