An efficient, local, explicit, second-order, conservative interpolation algorithm between spherical meshes is presented. The cells composing the source and target meshes may be either spherical polygons or latitude–longitude quadrilaterals. Second-order accuracy is obtained by piece-wise linear finite-volume reconstruction over the source mesh. Global conservation is achieved through the introduction of a “supermesh”, whose cells are all possible intersections of source and target cells. Areas and intersections are computed exactly to yield a geometrically exact method. The main efficiency bottleneck caused by the construction of the supermesh is overcome by adopting tree-based data structures and algorithms, from which the mesh connectivity can also be deduced efficiently.

The theoretical second-order accuracy is verified using a smooth test
function and pairs of meshes commonly used for atmospheric modelling.
Experiments confirm that the most expensive operations, especially the
supermesh construction, have

Despite the simplicity and regularity of a spherical surface, there is no
single ideal way to mesh it. Consequently, numerical methods formulated on
the sphere, used for instance in weather forecasting and climate modelling,
use a variety of meshes. For a long time, spectral and finite-difference
schemes have been using latitude–longitude meshes. However, most recently
developed methods use more flexible meshes like triangulations of the sphere
and their Voronoi dual or quadrangular meshes like the cubed sphere. Such
meshes avoid the polar singularity inherent to the latitude–longitude system

Common refinement of the source and target meshes. Here,
the source mesh (

Different physical components like atmosphere, land, ice and ocean typically use distinct meshes. As they are coupled together, interpolation between the various meshes is required. Furthermore, the native model mesh may not be the most practical to perform post-processing and analysis of the simulations, and interpolating to a more convenient mesh can be desirable. Finally, interpolation is a crucial building block of dynamic mesh adaptation, which enables a simulation to dynamically focus resolution where it is important, potentially saving orders of magnitude in computational costs. Although dynamic adaptivity is not a current practice in ocean–atmosphere modelling, there is a growing body of research to this end, and dynamic adaptivity may mature in the future. Meanwhile, statically refined meshes are increasingly used, and there is a need to interpolate from/to such meshes.

In applications like climate modelling, it is often vital that some physical quantities be conserved, such as density, volume fractions or tracer concentrations. When interpolating fluxes between physical components coupled together, similar conservation constraints should be enforced. Failing to enforce these conservation properties may create spurious sources and sinks which, however small, may accumulate over time and overwhelm the physical trends. Therefore, even if one uses a conservative discretization method for the relevant equations, there is a need to ensure conservation in the interpolation step.

This paper describes a second-order conservative interpolation algorithm on
the sphere. Our method improves on previously published work as follows:

It is geometrically exact as defined and discussed
in

It is local and explicit, unlike optimization-based approaches

It is not tied to a narrow class of meshes
(e.g.,

It does not assume the connectivity of the mesh is available, as
do

Our method relies on constructing a common refinement of the source and
target meshes, called a supermesh in

The source and target meshes are sets of spherical cells

Scalar functions are assumed to be described via their integrals over mesh
cells. Indeed, in most GCMs, many (if not all) fields are treated in a
finite-volume manner. The problem we wish to solve is, given the integrals

We want the approximation to be exact for a constant function. For the cell areas

Gradient computation: Stokes formula is applied on the boundary

In the general case, a piece-wise linear reconstruction

The

We describe here how, given two cells

Notice that

Steps in determining the intersection

Constructing the supermesh requires in principle to compute the intersection
between all

The algorithm takes as input a mesh and a spherical circle. It yields a list of cells in the mesh that potentially lie partly or totally inside the circle. The algorithm guarantees that all cells of the mesh that actually lie partly or totally in the circle are on the list. Some of those cells may in fact lie outside the circle, although the algorithm is designed to keep their number to a minimum.

In order to yield

Every insertion is followed by a re-balancing step in order to avoid a large overlap between bounding circles, which would diminish the efficiency of the search algorithm. To this end, after a node (leaf or not) has been inserted, those of its siblings whose distance from the parent exceeds 80 % of its radius are removed from the tree and put into the list of nodes to be inserted later. Such nodes are marked so that they are not removed again from the tree.

To completely specify the tree construction algorithm, we now describe the
method used to split a set of

Once all mesh cells have been inserted and the SS tree is ready, the list of potential intersectors is obtained by traversing the tree top-down, following the branches whose enclosing circle intersects the target circle. The detailed calculation of intersections is performed only with cells in this list.

Although the SS tree is primarily built in order to speed up the construction
of the supermesh, it also provides an essentially cost-free means of
reconstructing the connectivity of the meshes. Indeed to reconstruct the
connectivity of, say, the source mesh, it is sufficient to apply the previous
algorithm to the source mesh and a source cell. This connectivity is actually
required when computing the gradient

Supermesh cell edges are an arbitrary mix of small and great circle segments. To compute their area, we represent them as a combination of spherical triangles and surfaces enclosed by a small circle segment and a great circle segment with the same endpoints, possibly counted negatively. A similar approach is used for barycenters.

An accurate treatment of small circle segments is crucial for accuracy on
reduced latitude–longitude grids

In this section, we verify the accuracy and efficiency of the method,
encompassing several types of meshes: latitude–longitude, triangular,
polygonal dual and cubed sphere (see Fig.

All meshes whose cell edges are an arbitrary mix of great and small spherical
arcs are supported. This includes standard and skipped latitude–longitude
meshes, cubed-sphere meshes, triangulations and general polygonal meshes.
Fig.

standard latitude–longitude meshes, where the zonal and meridional resolution are equal at the Equator and the pole is a vertex;

their skipped variant, where the number of cells along a parallel varies, starting at four around the pole and doubling to keep the zonal cell size less than twice the meridional cell size

cubed-sphere meshes

triangular–icosahedral meshes and their hexagonal–pentagonal Voronoi duals

variable-resolution variants of the latter obtained by applying a Schmidt transform to each vertex

Interpolation between various pairs of meshes is applied to the smooth field

Different meshes are supported and have been tested: latitude–longitude, reduced latitude–longitude (bottom right), triangular (bottom left), cubed sphere (top left) and variable-resolution polygonal (top right).

When using a piece-wise constant reconstruction on the source mesh, interpolation error is expected to be proportional to the local gradient of the test function and to the cell size (largest of source and target mesh sizes). When using a piece-wise linear reconstruction, interpolation error is expected to be proportional to the local second derivatives of the test function and to the squared cell size.

We first consider remapping between pairs of uniform-resolution meshes of
comparable resolution

An application to variable-resolution icosahedral–hexagonal meshes is shown
in Fig.

When mapping between non-uniform hexagonal meshes, the local error
depends quadratically on the local resolution. Each dot represents a grid
cell. The cell size

Figure

The overall computational cost is dominated by the computation of
intersections and therefore is close to linear. Extrapolating those curves
suggests that for any imaginable problem size the SS tree will not require
more computational resources than the computation of intersections, which has

Timing of the various steps of second-order remapping from a uniform
resolution icosahedral–hexagonal mesh to a regular latitude–longitude mesh.
The SS tree construction shows the expected

A local, explicit, second-order, conservative interpolation algorithm has
been devised. The theoretical second-order accuracy has been verified using a
smooth test function and pairs of meshes covering most meshes commonly used
for atmospheric modelling. The main efficiency bottleneck caused by the
construction of the supermesh has been overcome by adopting tree-based data
structures and algorithms, from which the mesh connectivity can also be
deduced efficiently. Experiments confirm a

Cartesian curvilinear meshes are not covered by this work. Covering such meshes commonly used for ocean modelling requires essentially adapting the detailed computation of intersections. Higher-order interpolations, or vector interpolations can also easily be incorporated. This is left for future work.

Although the present sequential method is fast enough to be included in pre- or post-processing pipelines, further efficiency gains can be obtained by parallelizing it. The least parallel part of the algorithm is the SS tree construction. Work is under way to parallelize this step, using tree approaches again to distribute and balance the workload, and will hopefully be presented separately.

E. Kritsikis and M. Aechtner acknowledge support by the ICOMEX project. Edited by: S. Valcke Reviewed by: two anonymous referees