我对 Python 函数和一般的 Python(用于大型数据集的 xarray)有点陌生。 是否存在可以计算某个域的长时间序列以 15 天窗口为中心的第 90 个百分位数的函数?
即我在北美夏季有 62 年的每日最高温度(我在 JJA 内将所有日子与 cdo 合并)。我想根据以 15 天为中心的窗口计算该期间的 tmax(夏季)的第 90 个每日百分位数(以便计算热浪)
我想知道是否存在可以直接计算长时间序列的东西?如 np.percentile 中所示?我在想 np.percentile 是否有类似 np.roll 的东西?但不知道如何正确使用它
提前致谢!
如果你想使用python,你可以使用:
ds = xr.open('file.nc')
ds_90p = ds.rolling(time=10, min_periods=1).construct('tmp').quantile(0.9, dim='tmp')
但是,这显然需要很长时间,具体取决于您的电脑。我强烈建议使用 cdo,它会更快地产生相同的结果。
cdo runpctl,90,10 input_file.nc output_file.nc