## 1. Introduction

Interpolation is ubiquitous in climate and weather models. It is used to initialize simulations, in postprocessing applications where output data need to be remapped, to imprint atmospheric fluxes onto an ocean grid and vice versa, to advect tracers, to compare model output, and in visualization tasks.

A number of software libraries have been developed in the past decades to address these needs, for instance, the ESMF library (Hill et al. 2004). These libraries typically implement linear/bilinear/multilinear and conservative interpolation (Jones 1999). Conservative interpolation, also sometimes called area-weighted interpolation, is often applied to water or energy, quantities that need to be conserved globally over the entire planet. Conservative interpolation is more computationally intensive than linear interpolation, as one needs to compute the overlaps of target cell areas with source cells. In spite of this, conservative interpolation has gained significant traction and is probably the most widely used interpolation method for regridding purposes.

A common misconception, in our view, is that the interpolation method (linear or conservative) can be chosen freely. Our approach follows Pletzer and Fillmore (2015), where it is argued that the field staggering determines the interpolation. Vector fields on Arakawa C/D grids require interpolation methods that are neither linear nor conservative, but borrow aspects from each. One outcome of this paper is to clarify when linear interpolation, conservative interpolation, or their vector variants should be used.

Arakawa and Lamb (1977) described the different placement of fields within cells; the staggerings of interest here are referred to as Arakawa C and D. In Fig. 1, the Arakawa C/D vector field (*u*, *υ*, *w*) components are shown on a two-dimensional, horizontal grid cell. This picture is adequate for the grids originally considered by Arakawa and Lamb, typically uniform latitude–longitude-based grids. Such grids cause numeric problems near the poles, and most climate/weather atmospheric and ocean models have since moved or are in the process of moving to grids that have no geometric singularity over the domain of interest. Such grids are characterized by cells that are curvilinear in latitude–longitude coordinates, with sometimes nonorthogonal angles between cell edges. To extend the meaning of Arakawa staggering to such grids, we define Arakawa C and D as a discretized vector field where the data are attached to cell faces and edges, respectively.

In addition to edges and faces, fields can also be attached to nodes and cells. For readers familiar with exterior calculus (Frankel 2012), the above nodal, edge, face, and cell fields correspond to the 0-, 1-, 2-, and 3-forms of differential geometry.

A 0-form is a scalar function of space, whereas a 1-form can be thought of as a vector field. A 2-form has as many components as a vector field in three dimensions; however, it behaves differently under a mirror reflection, prompting some to refer to it as a pseudovector or axial vector. A pseudovector arises when taking the cross product of two vectors. Taking the dot product of a pseudovector with a vector yields a pseudoscalar, a single component quantity that behaves in many respects like a scalar but changes sign under mirror reflection. Pseudoscalars are typically volume densities, and these map to 3-forms in differential geometry.

Table 1 summarizes the correspondence among field types, field staggering/placement, and interpolation methods. Software is widely available for nodal/bilinear interpolation, and a selected list of packages exists for conservative/cell-centered interpolation (e.g., SCRIP and ESMF). The authors are not aware of any openly available software package capable of conservatively interpolating vector fields with staggered components (rows 2 and 3), hence the focus of this article.

Different interpolation methods are required for different types of fields (scalar, vector, pseudovector, and pseudoscalar) in 3D. Each type of field has its own staggering/field placement within grid cells.

The aim of this paper is to develop interpolation methods that are suitable for vector fields attached to edges and faces. The ideas behind vector interpolation go back to Whitney (1957), who introduced what are now known as Whitney basis forms on triangular grids. Similar basis functions for vector fields have been independently developed multiple times and are generally known as *n*-dimensional hexahedral cells have been used by Pletzer and Fillmore (2015). Mixed finite elements were designed to avoid numerical instabilities/pollution and other spurious numerical artifacts arising in the discretization of operators (Ferziger and Perić 2002), and this led to the emergence of “mimetic” discretization methods such as discrete exterior calculus (Hiptmair 2001; Hirani 2003; Bossavit 2005) and finite element exterior calculus (Cotter and Shipton 2012; Cotter and Thuburn 2014). Mimetic methods aim to preserve the mathematical identities

The novelty of this paper is to apply vector interpolation methods to Earth science grids and demonstrate how these methods satisfy mimetic properties on a cell-by-cell basis and for fractional cells. A by-product of these methods is that the total vorticity/flux budget over lines and surfaces is conserved. Apart from conservation, the methods naturally handle grid distortion and data masking; they support fields that are partially valid over edges and faces.

Our focus here is on two-dimensional grids at the surface of the Earth. Owing to the geometry of planets, most three-dimensional Earth grids are constructed from two-dimensional surface grids that are extruded vertically. When the target lines are at constant elevation or the target surfaces are lateral (i.e., tangential to the vertical columns), three-dimensional interpolation then reduces to two-dimensional interpolation with a separate vertical interpolation step. In other words, horizontal and vertical interpolation weights are computed independently. The split between horizontal grid and vertical axis can be exploited by software to reduce memory footprint and execution time, and this warrants a careful treatment of the two-dimensional case.

This paper is organized as follows. In section 2, the interpolation weights for two-dimensional Arakawa C/D grids are derived. In section 3, the mimetic and conservation properties are proven. In section 4, edge-/face-centered interpolation is tested on a variety of grids and conditions that are relevant to Earth science, and in section 5, we summarize our results.

## 2. Interpolation generalized to all types of field staggering

Before proceeding, some terminology needs to be clarified. Interpolation is often thought of as approximating a function on a set of target points. A more useful definition is to think of interpolation as a *projection* onto a set of *n*-dimensional *target objects*. Depending on the type of interpolation, the target objects can be points, lines, surfaces, volumes, or hypervolumes in higher-dimensional space. This definition of interpolation agrees with bilinear interpolation when the targets are points and with area-weighted (conservative) interpolation when targets are areas in two dimensions or volumes in three dimensions.

### a. A single interpolation formula

*σ*tags the field elements that contribute to the interpolation. In the case of bilinear interpolation, for example,

*σ*denotes one of the grid nodes in the neighborhood of the target point (Fig. 2, left). For conservative interpolation,

*σ*would be one of the grid cells that overlaps with the target area/volume (Fig. 2, right).

Calculation of (left) bilinear and (right) conservative interpolation weights for a source grid cell (dashed lines). The bilinear interpolation weight corresponding to the node on the lower left is the ratio of the shaded area over the source cell area. The conservative interpolation weight associated with the target cell (solid line) is the ratio of the shaded area over the source cell area.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Calculation of (left) bilinear and (right) conservative interpolation weights for a source grid cell (dashed lines). The bilinear interpolation weight corresponding to the node on the lower left is the ratio of the shaded area over the source cell area. The conservative interpolation weight associated with the target cell (solid line) is the ratio of the shaded area over the source cell area.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Calculation of (left) bilinear and (right) conservative interpolation weights for a source grid cell (dashed lines). The bilinear interpolation weight corresponding to the node on the lower left is the ratio of the shaded area over the source cell area. The conservative interpolation weight associated with the target cell (solid line) is the ratio of the shaded area over the source cell area.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

*line/surface integrals of the field*. For a scalar field

*f*, vector field

**F**, pseudovector field

**G**, and pseudoscalar field

*ρ*, (1) becomes

*σ*are assumed to be given—they are obtained by integrating the field over the various objects

*σ*that make up the cell (nodes, edges, faces, etc.). For nodal fields, the integral is over a zero-dimensional object and thus simply amounts to evaluating the function on that node.

*α*= 0, 1, 2, and 3. We should expect the coefficients

*T*is the target: a point

Let us look at specific examples to see how these expressions work in practice. In the case of nodal interpolation, *σ* is a grid vertex, and the target is, as mentioned before,

For conservative interpolation, the sum *σ* for which *T*. It happens that for the lowest-order conservative interpolation, the basis function is piecewise constant over cells and thus can be taken out of the integral when integrating over a cell. However, it is always present and should be included for higher-order conservative interpolation. Comparing linear with conservative interpolation, it becomes clear that the integral is also present in linear interpolation, but in this case, the integration is over a zero-dimensional point—in other words, a “no operation.” This should make the expressions for

*σ*evaluate to one when integrated over this object and to zero when integrated on any other cell edge, face, or cell.

### b. Basis functions for two-dimensional vector fields

So far, general interpolation formulas for nodal-, edge-, face-, and cell-centered fields were derived in three space dimensions. In the following, only two-dimensional, horizontal geometry will be considered, with emphasis on edge and face interpolation. In the case where the field has a dependence on elevation, the interpolation will involve an additional separate calculation of vertical interpolation coefficients, which will not be described here. The full 3D interpolation weights are then the product of horizontal and vertical interpolation weights. The separation between horizontal and vertical dimensions is warranted if the target runs parallel to the horizontal grid. (A case where the current split between horizontal and vertical dimensions would not work is when the source grid uses pressure levels for its vertical axis and the target grid a terrain-following coordinate, or vice versa.)

Let *z*, but because our main interest is in two dimensions, all surface integrals will implicitly integrate over the vertical *z* dimension. Thus, only line integrals in the

Since each edge/face of the cell will hold a basis function, we need a scheme to index edges and faces. Figure 3 shows how a combination of symbols—“0,” “1,” and “*”—can be used to uniquely identify any cell object (node, edge, face, etc.). (For high-order interpolation, additional symbols are required as the cell objects split into subcell objects; e.g., “0,” “1,” “2,” and “*” for second order.) Symbol “0” corresponds to the “low” end of the cell, “1” means high end, and the wild-card symbol “*” indicates that the element varies along that direction. Cell nodes are labeled “00” (lower-left node), “10” (lower right), “11” (upper right), and “01” (upper left). The cell itself is labeled with “**.” As before, superscript “(1)” stands for edge and superscript “(2)” for face interpolation.

Indexing of nodes, edges, and cell for a quadrilateral cell. Two symbols

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Indexing of nodes, edges, and cell for a quadrilateral cell. Two symbols

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Indexing of nodes, edges, and cell for a quadrilateral cell. Two symbols

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Edge and face vector basis functions for a nonorthogonal, curvilinear cell in 2D (solid line). (left) Edge

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Edge and face vector basis functions for a nonorthogonal, curvilinear cell in 2D (solid line). (left) Edge

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Edge and face vector basis functions for a nonorthogonal, curvilinear cell in 2D (solid line). (left) Edge

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

### c. Computation of the two-dimensional edge- and face-centered weights

*T*must be expressed in some form. A possibility is to write the target as a polyline with each segment satisfying

The target for 2D edge/face field interpolation is an oriented line segment.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

The target for 2D edge/face field interpolation is an oriented line segment.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

The target for 2D edge/face field interpolation is an oriented line segment.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

First, note that the weights are the same for edge and face interpolation

The weights are the product of two terms. The first term represents the projection of the segment *ξ*_{ib}–*ξ*_{ia} onto the cell edge. This term is zero if the segment is perpendicular to the edge. The second term is a weighted average in the direction perpendicular to the edge, which gives zero if the segment is on the opposite edge. Together, these two terms ensure that the weight becomes one when the segment occupies the entire edge and zero when the segment is on any other edge.

In (10), we assumed the segments to reside entirely within the cell. Care should be taken to break the target line into subsegments if the line intersects multiple cells. The numerical procedure then involves computing all the intersection points of the target line with the grid, creating cell-contained subsegments between each pair of intersection points.

## 3. Mimetic and conservation properties of edge and face interpolation

*C*(solid lines). In the first case (Fig. 6a), the integration path follows the four edges

Building blocks for composing arbitrary path and surface integrals (shaded areas) inside a quadrilateral cell (solid lines).

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Building blocks for composing arbitrary path and surface integrals (shaded areas) inside a quadrilateral cell (solid lines).

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Building blocks for composing arbitrary path and surface integrals (shaded areas) inside a quadrilateral cell (solid lines).

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

*λ*, and the contribution from

*λ*-weighted average. The first case is recovered by setting

*λ*:

We now have all the building blocks in place for constructing more complex paths inside a cell. Consider Fig. 7a, where the integration path (dashed line) cuts across the lower-right corner of the cell. Using the linearity of the edge integrals, the cells can be broken into smaller subcells (dotted lines) where edge integrals

(a),(b) Examples showing how fractional cell integrals can be constructed out of the basic building blocks of Fig. 6 by cutting cells and adding integration paths (dash–dotted lines). (c) The argument can be extended to multiple cells.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

(a),(b) Examples showing how fractional cell integrals can be constructed out of the basic building blocks of Fig. 6 by cutting cells and adding integration paths (dash–dotted lines). (c) The argument can be extended to multiple cells.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

(a),(b) Examples showing how fractional cell integrals can be constructed out of the basic building blocks of Fig. 6 by cutting cells and adding integration paths (dash–dotted lines). (c) The argument can be extended to multiple cells.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Next, consider a case with two line segments inside the same cell (Fig. 7b). Using the same arguments as before, the cell is cut such that each line segment lies in a separate subcell with edge integrals

**F**on a line target with parametric representation

**a**to

**b**in parametric space. One can use (1) to approximate this projection while noting that the edge values

**a**and

**b**fall onto grid nodes. Furthermore,

**a**and

**b**are the same points since the interpolation errors will then exactly cancel out to give

In summary, Stokes’ theorem holds for interpolated fields integrated along arbitrary collections of straight lines. It should be noted that the integrals along full edges are exact if the

It is instructive to compare the above results with the case where the field **F** is expanded in bilinear basis functions instead of the mimetic bases. One can show in this case that

## 4. Applications

To test mimetic interpolation in two dimensions, we manufactured analytic fields that have zero divergence everywhere, except possibly at one location. In such cases, open path integrals will depend on the endpoints only, and closed loop integrals will be zero if the contour does not contain any field singularity. The grids are either uniform or curvilinear. All results are computed using 64-bit precision software.

### a. Divergence-free vector field in Cartesian coordinates

*ψ*,

**v**and corresponding contours of the streamfunction

*ψ*.

Contour lines of the streamfunction of a divergence-free vector field. Also shown are the flux integration paths A (solid line), B (dashed line), and C (dotted line).

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Contour lines of the streamfunction of a divergence-free vector field. Also shown are the flux integration paths A (solid line), B (dashed line), and C (dotted line).

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Contour lines of the streamfunction of a divergence-free vector field. Also shown are the flux integration paths A (solid line), B (dashed line), and C (dotted line).

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

The flux (e.g., velocity flow) across any path **a** → **b** can easily be estimated. Writing

*n*linear segments, where

*x*axis by half a grid cell. From the analysis in section 3, path D is the only curve that is expected to give any numerical error.

*ε*is due to linear interpolation of the streamfunction and is given by the standard linear interpolation error estimate

*h*is the cell size, and

*x*direction from the nearest grid nodes,

^{−3}, in good agreement with the observed value of 2.3 × 10

^{−3}.

Numerical results obtained for the flux integration of paths A, B, C, and D for a vector field that derives from a streamfunction.

### b. Vector field with a singularity

Radial vector field with nonzero divergence on a Cartesian (*x*, *y*) coordinate grid with resolution 11 × 11 cells. The vector field has a

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Radial vector field with nonzero divergence on a Cartesian (*x*, *y*) coordinate grid with resolution 11 × 11 cells. The vector field has a

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Radial vector field with nonzero divergence on a Cartesian (*x*, *y*) coordinate grid with resolution 11 × 11 cells. The vector field has a

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Figure 10 confirms the mimetic interpolation property—the flux integrals are zero for contours ^{−11}). Contours

Numerical estimate of closed loop flux integral for contours

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Numerical estimate of closed loop flux integral for contours

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Numerical estimate of closed loop flux integral for contours

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Also shown in Fig. 10 are the flux values (dotted line) obtained by applying a trapezoidal quadrature method. Bilinear interpolation was used to evaluate the vector field on the midsegment locations of the trapezoidal integration rule. In contrast to the mimetic interpolation, flux integrals do not amount to zero and one, respectively. A residual error of up to 3% can be observed for contours

### c. Cubed-sphere grid

*λ*is the longitude (°),

*θ*is the latitude (°), and

*r*is the radial distance from the center of the coordinate system. A cubed-sphere grid similar to that used by atmospheric dynamical cores (Lin and Rood 1996) was generated using LFRic mesh generation tools (Melvin et al. 2017). As in the previous tests, the exact edge values were set using the difference in streamfunction values between the two endpoints of the integration path.

Integration paths (solid and dashed lines) for the flux calculation of a divergence-free field on the cubed sphere.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Integration paths (solid and dashed lines) for the flux calculation of a divergence-free field on the cubed sphere.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Integration paths (solid and dashed lines) for the flux calculation of a divergence-free field on the cubed sphere.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

In the computer program, the grid was represented as a collection of individual, quadrilateral cells with each cell having its own set of latitude–longitude vertices. The cells are disjoint; there is no connectivity between cells. A benefit of this approach is that the number of edges and vertices relates simply to the number of cells. Another advantage is that neighboring cell vertices may take different values, and this can be used to add and subtract a period to ensure that all cells have a well-defined, positive orientation.

The octree-based class vtkCellLocator from the open-source Visualization Toolkit (Schroeder et al. 2006) was used to quickly locate cells that are intersected by edges. When a target segment runs along two neighboring cells, the intersection between the segment and cell edges produces a singular system; we detect this collinearity and assign one or more intersection points to record the overlap between segment and edge.

It is found that the open path flux integration error, shown in Fig. 12, decreases quadratically with the average gridcell size *N* is the number of grid cells. The error depends on the proximity of the start and endpoints from a grid vertex, and this can cause the convergence of the error to fluctuate depending on where the start and endpoints of the path fall within grid cells. Such behavior can also be observed with bilinear interpolation where the error depends on the distance between the target point and the nearest vertex.

Numerical error of open-contour flux computation on the cubed sphere for paths A (solid line) and B (dashed line) as the number of grid cells *N* increases. The dashed–dotted line is ~1/*N*.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Numerical error of open-contour flux computation on the cubed sphere for paths A (solid line) and B (dashed line) as the number of grid cells *N* increases. The dashed–dotted line is ~1/*N*.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Numerical error of open-contour flux computation on the cubed sphere for paths A (solid line) and B (dashed line) as the number of grid cells *N* increases. The dashed–dotted line is ~1/*N*.

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Global flux conservation depends on the ability of the interpolation to conserve fluxes at the level of each target grid cell. Figure 13 shows the maximum loop-integrated flux error obtained after regridding vector field (29) from a uniform, latitude–longitude grid to a cubed-sphere grid. In the process, each edge-integrated field on the source grid is projected onto the target gridcell edges.

Maximum closed-contour flux conservation error across all target grid cells. Streamfunction (30) was used to set the vector field on source grid edges. The source grid is uniform in latitude and longitude and has varying resolution. The target, cubed-sphere grid has 24 576 cells. The solid line represents mimetic regridding, the dashed line represents bilinear regridding, and the dash–dotted line is

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Maximum closed-contour flux conservation error across all target grid cells. Streamfunction (30) was used to set the vector field on source grid edges. The source grid is uniform in latitude and longitude and has varying resolution. The target, cubed-sphere grid has 24 576 cells. The solid line represents mimetic regridding, the dashed line represents bilinear regridding, and the dash–dotted line is

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Maximum closed-contour flux conservation error across all target grid cells. Streamfunction (30) was used to set the vector field on source grid edges. The source grid is uniform in latitude and longitude and has varying resolution. The target, cubed-sphere grid has 24 576 cells. The solid line represents mimetic regridding, the dashed line represents bilinear regridding, and the dash–dotted line is

Citation: Monthly Weather Review 147, 1; 10.1175/MWR-D-18-0146.1

Apart from the accumulation of floating point roundoff errors, mimetic regridding produces closed flux conservation errors <10^{−13} for all source grid resolutions. In contrast, the dashed line shows the error from bilinear regridding; that is, treating the edge field as if it were nodal, which amounts to bilinearly interpolating each edge value at the starting point of the edge. Bilinear interpolation yields an error proportional to the gridcell size ^{15} source grid cells or a resolution of a meter for bilinear interpolation to achieve comparable flux conservation accuracy to the mimetic method.

## 5. Summary

Edge- and face-centered interpolation was presented in two dimensions with segmented lines as targets. Although the basis functions for edge and face interpolation are different, the interpolation weights turn out to be identical in two dimensions, and hence only one type of interpolation needs to be implemented.

In contrast to bilinear interpolation, the proposed mimetic interpolation method is suitable for vector fields. Mimetic interpolation satisfies Stokes’ theorem for arbitrary, piecewise linear paths, and the method produces exact line/flux integrals when the vector field is divergence free and the start and endpoints fall onto grid nodes. The method is immune to pole-like singularities, and line/flux integrals automatically take care of partially valid cells—there is no need to introduce masking arrays as the assigned fluxes take split edges into account. Finally, the method handles curvilinear coordinates with no modification.

In three dimensions, a face-centered field target becomes a surface, and the implementation becomes more complex. One then needs to break the area target into triangles that are fully contained inside the source grid cells. This requires collecting the intersection points of source grid edges with the target face and the intersection points of target edges with the source grid faces and finding the source grid cells that contain the target nodes. From all these points, a triangulation can be assembled, which has the property that the triangles are entirely contained within source cells. Formulas similar to (10) can be derived for the computation of the interpolation weights and then applied to each cell-contained triangle.

It remains to be seen how edge/face interpolation can be generalized to higher-order elements. There are some indications that future atmospheric and oceanic dynamical cores will employ pseudospectral elements. It is too early to assess the impact of high-order elements on the presented method, although this will hopefully just affect the integrals to be computed. Provided the basis functions are polynomials of the parametric cell variables, the integrals can be computed exactly, a property that is critical for numerical conservation.

It is our hope that the presented method will find new applications in several areas. Because climate change rests on small discrepancies (on the order of 0.1%) in the radiative energy budget, climate scientists will be among the first to benefit from mimetic edge and face interpolation. Second, with the increased need to share datasets across institutions, edge/face interpolation might provide independent measures of the accuracy of numerical data (e.g., testing the conservation of vortex tubes in Rossby waves). Third, the method can be used to compute fluxes across irregular, political boundaries to provide global estimates of how much water and energy enters and leaves a region in a given interval of time and how such quantities might change under different greenhouse gas emission scenarios. Finally, edge/face interpolation could provide a basis for advecting vector fields based on (pseudo-) Lagrangian approach.

Software implementing the methods described in this paper can be downloaded from https://github.com/pletzer/mint.

## Acknowledgments

The authors thank Jorge Bornemann and the anonymous reviewers for their comments and for suggesting improvements to the manuscript, Samantha Adams and Mike Hobson (Met Office) for supplying grids and a cubed-sphere mesh generation tool, and the LFRic project for supporting this work. The authors also wish to acknowledge the contribution of NeSI high-performance computing facilities to the results of this research. New Zealand’s national facilities are provided by the New Zealand eScience Infrastructure and funded jointly by NeSI’s collaborator institutions and through the Ministry of Business, Innovation and Employment’s Research Infrastructure program (https://www.nesi.org.nz).

## APPENDIX

### Derivation of Some Interpolation Weights

*face*

## REFERENCES

Arakawa, A., and V. Lamb, 1977: Computational design of the basic dynamical processes of the UCLA general circulation model.

,*Methods Comput. Phys.***17**, 173–265, https://doi.org/10.1016/B978-0-12-460817-7.50009-4.Bossavit, A., 2005: Discretization of electromagnetic problems: The “generalized fine differences” approach.

*Handbook of Numerical Analysis*, Vol. 13, Elsevier, 105–197, https://doi.org/10.1016/S1570-8659(04)13002-0.Cotter, C., and J. Shipton, 2012: Mixed finite elements for numerical weather prediction.

,*J. Comput. Phys.***231**, 7076–7091, https://doi.org/10.1016/j.jcp.2012.05.020.Cotter, C., and J. Thuburn, 2014: A finite element exterior calculus framework for the rotating shallow-water equations.

,*J. Comput. Phys.***257B**, 1506–1526, https://doi.org/10.1016/j.jcp.2013.10.008.Ferziger, J. H., and M. Perić, 2002:

*Computational Methods for Fluid Dynamics*. Springer, 389 pp.Frankel, T., 2012:

*The Geometry of Physics: An Introduction*. 3rd ed. Cambridge University Press, 684 pp.Hill, C., C. DeLuca, V. Balaji, M. Suarez, and A. da Silva, 2004: The architecture of the Earth system modeling framework.

,*Comput. Sci. Eng.***6**, 18–28, https://doi.org/10.1109/MCISE.2004.1255817.Hiptmair, R., 2001: Higher order Whitney forms.

*Geometrical Methods for Computational Electromagnetics*, F. Teixeira, Ed., EMW Publishing, 271–299.Hirani, A. N., 2003: Discrete exterior calculus. Ph.D. thesis, California Institute of Technology, 114 pp., https://thesis.library.caltech.edu/1885/3/thesis_hirani.pdf.

Jones, P. W., 1999: First- and second-order conservative remapping schemes for grids in spherical coordinates.

,*Mon. Wea. Rev.***127**, 2204–2210, https://doi.org/10.1175/1520-0493(1999)127<2204:FASOCR>2.0.CO;2.Lin, S. J., and R. B. Rood, 1996: Multidimensional flux-form semi-Lagrangian transport schemes.

,*Mon. Wea. Rev.***124**, 2046–2070, https://doi.org/10.1175/1520-0493(1996)124<2046:MFFSLT>2.0.CO;2.Melvin, T., S. Mullerworth, R. Ford, C. Maynard, and M. Hobson, 2017: LFRic: Building a new Unified Model.

, Vol.*Geophysical Research Abstracts***19**, Abstract 13021, https://meetingorganizer.copernicus.org/EGU2017/EGU2017-13021.pdf.Nédélec, J. C., 1980: Mixed finite elements in .

,*Numer. Math.***35**, 315–341, https://doi.org/10.1007/BF01396415.Pletzer, A., and D. Fillmore, 2015: Conservative interpolation of edge and face data on

*n*dimensional structured grids using differential forms.,*J. Comput. Phys.***302**, 21–40, https://doi.org/10.1016/j.jcp.2015.08.029.Schroeder, W., K. Martin, and B. Lorensen, 2006:

*The Visualization Toolkit: An Object-Oriented Approach to 3-D Graphics*. 4th ed. Kitware, 528 pp.van Welij, J. S., 1985: Basis functions matching tangential components on element edges.

,*IEEE Trans. Magn.***21**, 537–542.Whitney, H., 1957:

*Geometric Integration Theory.*Princeton University Press, 402 pp.