In many kinds of (curvilinear) grids, often ORCA grids, discontiguous bounds cause regridding to fail. If we were to ignore the check on contiguous bounds, this leads to the creatioj of a grid with "bad geometries" which causes problems for ESMF. In these cases, we tend to find that these discontiguous cells tend to be masked. It could be possible to convert such grids to a form which properly ignores these bad cells and has ESMF calculate only for the good cells. This could be done either by searching for discontiguities or by using the mask to determine which cells to ignore. Since we don't want regridders to depend on the data in general, this ignoring of masked cells ought to be controlled by a keyword.
One possible approach for handling of unmasked curvilinear cells would be to convert them into some kind of MeshInfo object, or else allow a GridInfo object to be represented as an ESMF mesh containing only the good cells. Alternatively, it's worth investigating the add_mask keyword for the ESMPy object ESMF.Grid to see if this works in a way which would solve this problem.
@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.
📰 Custom Issue
In many kinds of (curvilinear) grids, often ORCA grids, discontiguous bounds cause regridding to fail. If we were to ignore the check on contiguous bounds, this leads to the creatioj of a grid with "bad geometries" which causes problems for ESMF. In these cases, we tend to find that these discontiguous cells tend to be masked. It could be possible to convert such grids to a form which properly ignores these bad cells and has ESMF calculate only for the good cells. This could be done either by searching for discontiguities or by using the mask to determine which cells to ignore. Since we don't want regridders to depend on the data in general, this ignoring of masked cells ought to be controlled by a keyword.
One possible approach for handling of unmasked curvilinear cells would be to convert them into some kind of MeshInfo object, or else allow a GridInfo object to be represented as an ESMF mesh containing only the good cells. Alternatively, it's worth investigating the
add_mask
keyword for the ESMPy object ESMF.Grid to see if this works in a way which would solve this problem.