Available with Image Analyst license.

Optimal interpolation is a commonly used method for data assimilation. It combines theory (background data) with observations. It can be used to merge and interpolate measurements of the same variable, such as elevation or precipitation, from different data sources. For example, you can combine a global mean sea surface height dataset derived from model output with temporally more accurate altimetry measurements of the sea surface height during certain time periods and discreet locations. This results in more accurate global sea surface height at those time periods. It combines better coverage but less accurate background data with sparse coverage but more accurate observation data to produce an optimal dataset for analysis.

## Usage

The tool takes a background dataset and an observation dataset as input. The background dataset is typically a gridded raster and the observation data set is typically a feature or trajectory data set in the form of points. To combine the data sets, the tool assigns weights to the background and observation data sets based on their relative accuracies to minimize analysis error variance. The relative accuracies are determined from the background and observation error variances and the background and observation error correlations, which are all required inputs.

You provide the background and observation error variance, which are typically global constants estimated from the background and observation data. Observation error correlation is a global constant that is often assumed to be 0. Background error correlation is calculated from the distance between the output cell and observation points and the required correlation length (C in the equation below). The correlation length is expressed in the unit of the spatial reference of the input background data and determines the influence of an observation point on the output. A higher C value gives a higher influence on points farther away from the output cell.

## Technical details

Assuming a background image with N pixels and observation data with M points, the observation points are mapped to the image pixels by calculating mean points value (and mean points error if available) in each pixel. The weight of the observation is calculated as follows:

*W* = (*P*^{b})(*R* + *P*^{b})^{-1}

Where

*W* is a *n***n* column of alpha weights

*P*^{b} is the *n***n* matrix of the background correlation *r*(*k*,*j*) values (influence of pixels on their neighbors). For this, *n* is limited to a value of 7 for faster matrix inversion.

*R* is a *n***n* diagonal matrix of observation error values (assuming each observation error is independent from each other).

The background correlation *r*(*k*,*j*) values are calculated as follows:

*r*(*k*,*j*) = *e* ^{-(d(k,j)2/C)}

Where *d*(*k*,*j*)^{2} is the distance between pixels, and *C* is the input Background Error Correlation Length value.

The output is calculated as follows:

*X*^{a} = *X*^{b} + *W(X*^{o} - *X*^{b})

Where

*X ^{a}*,

*X*,

^{b}*X*are the

^{o}*n**

*1*column vector of analysis, background, observation values, respectively.

*W* is the *n***n* column of alpha weights.