This page describes the regridding functionality provided by ESMF. 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.
There are two options for accessing ESMF regridding functionality: integrated and offline. Integrated regridding means that interpolation weights are generated via subroutine calls during the execution of the user's code. The integrated regridding can also perform the sparse matrix multiply. Offline regridding means that interpolation weights are generated by a separate ESMF application, not within the user code. Offline interpolation weight generation is provided by the ESMF_RegridWeightGen application , which internally uses the integrated ESMF regridding.
The tables on this page show the capabilities supported by ESMF regridding. The first tables show the level of regridding support for a variety of source and destination grids. The integrated regridding can currently support both Cartesian and spherical coordinate systems, while the offline regridding supports only spherical coordinates. More details on specific features and numerical results are provided below that, along with references.
| Supported (completely and automatically tested) | |
| Supported (partially and/or manually tested) | |
| Should work, but not yet tested | |
| Not supported |
2D meshes with elements that can be represented by combinations of triangles or quadrilaterals are supported. Cubed sphere grids are supported as an ESMF Mesh. Two coordinate systems are currently supported in the integrated regridding, Cartesian and spherical. These tables cover testing of generating and applying interpolation weights.
![]() |
2D regional grids | 3D regional grids | |||
| Logically rectangular | Mesh | Logically rectangular | Mesh | ||
| 2D regional grids | Logically rectangular | Mesh | |||
| 3D regional grids | Logically rectangular | Mesh | |||
![]() |
2D global grids | 2D regional grids | |||
| Logically rectangular | Mesh | Logically rectangular | Mesh | ||
| 2D global grids | Logically rectangular | Mesh | |||
| 2D regional grids | Logically rectangular | Mesh | |||
2D meshes with elements that can be represented by combinations of triangles or quadrilaterals are supported. This includes meshes with elements that are pentagons, hexagons, and other polygons. The user does not have to decompose their elements into triangles and quadrilaterals since ESMF does it for them internally. Cubed sphere grids are supported as an ESMF Mesh. The offline regridding is currently restricted to spherical coordinate systems. This table covers testing of generating interpolation weights.
![]() |
2D global grids | 2D regional grids | |||
| Logically rectangular | Mesh | Logically rectangular | Mesh | ||
| 2D global grids | Logically rectangular | Mesh | |||
| 2D regional grids | Logically rectangular | Mesh | |||
There are several different capabilities available in each of these applications. The following symbols and keywords are used:
Bilinear - Linear interpolation in 2 or 3 dimensions. [1]| Capabilities | Description | Bilinear | Patch | Conservative |
|---|---|---|---|---|
| Regridding | ||||
| Masking (Logically rectangular grids only) |
Destination | Source | Ignore unmapped points | |
| Pole options | Full circle average | N/A | ||
| N-point average | N/A | |||
| No pole |
| Capabilities | Description | Bilinear | Patch | Conservative |
|---|---|---|---|---|
| Regridding | ||||
| Masking (Logically rectangular grids only) |
Destination | Source | Ignore unmapped points | |
| Pole options | Full circle average | N/A | ||
| N-point average | N/A | |||
| No pole |
The following table presents some specific examples of numerical results of the ESMF regridding capabilities. The numerical test cases that were evaluated for this table were computed using global grids. The results were collected from the ESMF_RegridWeightGenCheck external demo. All of the results in this table were generated by regridding a second order spherical harmonic-like field F = 2 + cos^2(theta)*cos(2*phi).
| Methods | Grids [source to destination] |
Largest negative weight | Interpolation average error | Conservation relative error | Notes |
|---|---|---|---|---|---|
| Bilinear | Lat-lon 1 degree to Lat-lon 2.5 degree |
-5.99e-15 | 3.00e-05 | N/A | This test was done with no masking and the full circle average pole option. |
| Cubed sphere grid (ne30np4-t2.nc) to Lat-lon 1.9x2.5 degree (fv1.9x2.5_050503.nc) |
0 | 4.12e-05 | N/A | ||
| Patch | Lat-lon 1 degree to Lat-lon 2.5 degree |
-6.20e-02 | 2.92e-05 | N/A | This test was done with no masking and the full circle average pole option. |
| Cubed sphere grid (ne30np4-t2.nc) to Lat-lon 1.9x2.5 degree (fv1.9x2.5_050503.nc) |
-6.40e-02 | 3.52e-05 | N/A | ||
| Conservative | Lat-lon 1 degree to Lat-lon 2.5 degree |
0 | 2.47e-04 | 3.34e-13 | This test was done with no masking and the no pole option. |
| Cubed sphere grid (ne30np4-t2.nc) to Lat-lon 1.9x2.5 degree (fv1.9x2.5_050503.nc) |
0 | 3.77e-04 | 2.59e-13 |