Xarray - 如何重新划分或汇总不同网格分辨率的区域变量?

Xarray - how to regrid or sum up area variables for different grid resolutions?

我有一个给定分辨率的数据集,它的变量是面积度量。当重新网格化到另一个分辨率时,这些技术通常是插值(双线性、保守等),但这只适用于值与网格大小无关的变量(想想温度或降水)。因为我使用的是 Area 变量,所以这就好像我想提高网格的分辨率一样不起作用,应该对 Area 求和而不是插值。因此,我想根据坐标的变化对我的 Area 变量进行放大、分组或求和(如果我在纬度和经度上放大 2 倍,面积将乘以 4,如下例所示),但我不知道怎么做。

示例如下:

我目前拥有的:

test_stack
Out[20]: 
<xarray.DataArray 'Harvested_area' (time: 1, lat: 2, lon: 2)>
array([[[10, 10],
        [10, 10]]])
Coordinates:
  * time     (time) int32 1981
  * lat      (lat) float64 6.246 6.237
  * lon      (lon) float64 -74.25 -74.24

我想要的:

sum_test_stack
Out[20]: 
<xarray.DataArray 'Harvested_area' (time: 1, lat: 1, lon: 1)>
array([[[40]]])
Coordinates:
  * time     (time) int32 1981
  * lat      (lat) float64 6.246
  * lon      (lon) float64 -74.25

谢谢!

尝试查看 xarray.DataArray.coarsen,使用简单的求和作为函数。 https://docs.xarray.dev/en/stable/generated/xarray.DataArray.coarsen.html