pythonpython-xarrayresampling

Is bilinear resampling to a coarser resolution is similar to weighted spatial averaging?


I am using the xESMF python package to resample NDVI (greeness) data from 500 * 500 m to 1 * 1 degree.To clarify, I'm increasing the scale of the data. The package offers several techniques, including bilinear and conservative. I'm wondering if resampling from a higher resolution to a lower resolution using bilinear interpolation is analogous to weighted spatial averaging, where the weights correspond to the finer resolution pixel areas.

They have an example here, which shows most methods produce similar results when upscaling. However, there is no weighted averaging. I should mention that my data is very smooth.


Solution

  • No. The conservative method is a weighted averaging method, whereas the bilinear and s2d nearest neighbor methods only consider the fine-resolution points surrounding each coarse-resolution point, discarding all others.

    See the xesmf docs on decreasing resolution, which specifically caveat that the examples used in the docs are similar only because the example data is very smooth (emphasis and text in brackets mine):

    When regridding from high-resolution to low-resolution, all methods except nearest_d2s produce similar results [in the example used in the documentation]. But that’s largely because the input data is smooth. For real-world data, it is generally recommended to use conservative for upscaling, because it takes average over small source grid boxes, while bilinear and nearest_s2d effectively throw away most of source grid boxes.

    Bilinear is an interpolation method and only uses the points in the source grid which are closest to the points (not cell areas) defining the target grid. So when dramatically reducing resolution like you are doing, this method is more similar to sampling the source data at the low-resolution points. It does not average all the contents of the cell at all.

    Conservative does account for all source cells intersecting the destination grid cell area and returns a weighted average.

    So you’re looking for conservative.