SciTools / iris-esmf-regrid

A collection of structured and unstructured ESMF regridding schemes for Iris.
https://iris-esmf-regrid.readthedocs.io/en/latest
BSD 3-Clause "New" or "Revised" License
19 stars 17 forks source link

Add support for nearest neighbour regridding #213

Closed stephenworsley closed 1 year ago

stephenworsley commented 2 years ago

✨ Feature Request

Allow regridding using the NEAREST_STOD ESMF method.

Details

Masking

There multiple ways masking could be handled by such a regridder. Points could either be mapped to from the nearest unmasked source point, or else points whos nearest source is masked could become masked. For the time being, we are likely to opt for the latter since this should be simpler to implement with the current architecture. An option to use the other kind of masking behaviour could be added in future.

Source/Target

Another aspect of nearest neighbour regridding worth highlighting is the types of objects that can represent the source/target. While Conservative and Bilinear both require either Grids or Meshes, nearest neighbour can also take just a series of points as its source/target. This could be represented in Iris as a pair of 1D AuxCoords. This can be represented in ESMF as a LocStream. For the time being, it should be sufficient to simply match the level of support that Conservative and Bilinear have and add support for descriptions as series of points later.

Efficiency

Since the calculations of NEAREST_STOD regridding are simple, it should be possible to design a more efficient method for performing regridding calculations by using indexing rather than matrix multiplication. This is not necessary for a minimal delivery but could be upgraded later.

github-actions[bot] commented 1 year ago

@SciTools-incubator/esmf-regrid-devs This issue is stale due to a lack of activity in the last 90 days. Remove stale label or comment, otherwise this issue will close automatically in 7 days time.

github-actions[bot] commented 1 year ago

@SciTools-incubator/esmf-regrid-devs This stale issue has been automatically closed due to no community activity