为什么xarray重新采样意味着计算会产生额外的时间?



我正在用xarray加载年度数据集。我想创建35年的数据均值(不是滚动平均值,只是分成35年均值)。现在我做了以下操作:

filename = '/glade/scratch/mberdahl/127kaH11/MOC/MOC_only_127kaH11_AnnMeans.nc' # read 127ka H11 run, 1-1749 years only
ds = xr.open_dataset(filename)
ds

显示

Dimensions:
d2: 2lat_aux_grid: 395 moc_comp: 3 moc_z: 61 time: 1750 transport_reg: 2

使用1750个年度时间条目,我应该能够计算50个平均值,每个平均值占35年的时间。但是,当我执行以下操作时:

MOC_35yr = ds.resample(time="35A").mean()
MOC_35yr

我得到51次

Dimensions:
lat_aux_grid: 395 moc_z: 61 time: 51 

作为完整性检查,我还使用nco命令计算了35年的平均值,只有第0个时间条目的结果与xarray. ressample .mean方法相同。之后的结果是不同的。

有人能看出我做错了什么吗?

谢谢,米拉

我认为答案是我必须指定S为'start'。so: MOC_35yr = ds.resample(time="35AS").mean().

同样在这篇文章中:xarray和5年平均值从月平均值或年平均值

这只是为了避免默认值为'start_day ': origin是时间序列的第一天午夜。

希望这能帮助到别人。

最新更新