ESMF_7_0_0 Regridding: Supported Grids and Features
This page describes the current support and testing status of the capabilities of the parallel regridding functionality provided by ESMF.
(It includes a brief description of the capabilities, but see the Regrid Section in the ESMF reference manual for a more in depth description of ESMF regridding.)
Regridding, also called remapping or interpolation, is the process of changing the grid that
underlies data values while preserving qualities of the original data.
Different kinds of transformations are appropriate for different problems.
Regridding may be needed when communicating data between Earth system model components such
as land and atmosphere, or between different data sets to support operations such as visualization.
Regridding can be broken into two stages. The first stage is generation of an interpolation
weight matrix that describes how points in the source grid contribute to points in the destination
grid. The second stage is the multiplication of values on the source grid by the interpolation
weight matrix to produce values on the destination grid. This occurs through a parallel
sparse matrix multiply. ESMF can be run so that only interpolation weights are generated, or
so that weights are both generated and applied, or so that weights that come from some
external source can be read in and applied.
Regridding Options
Options for running ESMF
- Integrated: Integrated regridding means that interpolation weights are generated via subroutine calls during the execution of user code. Integrated regridding can perform the parallel
sparse matrix multiply to apply these weights to interpolate user data. The integrated regridding can
also be used to perform a sparse matrix multiply with user provided weights.
- Offline: Offline regridding means that interpolation weights are generated by a
separate ESMF application, not within the user code. It only requires that a user input
grid files in one of the accepted formats. The application is called the
ESMF_RegridWeightGen application.
Options for coordinate systems
- Cartesian: Sometimes used for small regional grids. Coordinates expressed in terms of distance (e.g. x,y)
- Spherical: The standard spherical Earth representation. Coordinates expressed in angles. (e.g. longitude, latitude)
Description of grid types
- Logically rectangular: A grid whose points could be stored in a rectangular index space. Also sometimes called a
structured grid. An example of this is a regular latitude-longitude grid. ESMF currently supports 2D or 3D logically rectangular grids:
- 2D: These grids consist entirely of quadrilaterals.
- 3D: These grids consist entirely of hexahedrons.
- Mesh: A superset of logically rectangular grids consisting of cells with possibly different numbers of sides
connected together. An example of this is a grid with triangular cells. ESMF currently supports 2D or 3D meshes:
- 2D: ESMF supports meshes containing polygons with any number of sides (e.g. triangles, quadrilaterals, pentagons,...). Polygons with more than four sides are represented internally as a set of triangles, but to the user should behave as if they are a single polygon.
- 3D: ESMF supports meshes containing hexahedrons and tetrahedrons.
Options for regridding methods
- Bilinear: Linear interpolation in 2 or 3 dimensions. [1]
- Higher-order patch recovery (Patch): Patch rendezvous method of taking the
least squares fit of the surrounding surface patches. This is a higher order method that
may produce interpolation weights that may be slightly less than 0 or slightly greater than
1. [2,3]
- Nearest source to destination: Each destination point is mapped to the closest source point. A source point can be mapped to multiple destination points. Some source points may not be mapped.
- Nearest destination to source: Each source point is mapped to the closest destination point. A destination point can be mapped to multiple source points, in which case the destination is the sum of the source values. Some destination points may not be mapped.
- First-order conservative: First order area averaged conservation is based on
the ratio of source cell area overlapped with the corresponding destination cell area. If the user areas option (see below) is not used, then
the areas used in this calculation are those calculated by ESMF and thus the ones for which the conservation holds. The user areas
option allows the user to adjust the interpolation weights so that conservation is based on user-supplied areas.
Support of regridding methods by grid type
- Logically rectangular: ESMF currently supports regridding on 2D or 3D logically rectangular grids:
- 2D: ESMF regridding currently supports the bilinear, higher-order patch recovery, nearest source to destination, nearest destination to source, and first-order conservative regridding methods on these.
- 3D: ESMF regridding currently supports the bilinear, nearest source to destination, nearest destination to source, and first-order conservative regridding methods on these. The higher-order patch recovery method is currently not supported in 3D.
- Mesh: ESMF currently supports regridding on 2D or 3D meshes:
- 2D: ESMF regridding currently supports the bilinear, nearest source to destination, nearest destination to source, higher-order patch recovery, and first-order conservative regridding methods on all ESMF supported 2D meshes.
- 3D: ESMF supports bilinear regridding on meshes containing hexahedrons, and nearest source to destination, nearest destination to source, and first-order conservative regridding on meshes containing hexahedrons and tetrahedrons. The higher-order patch recovery method is not currently supported in 3D.
Options for poles, areas, masking, and unmapped points