# Interpolant function in Leapfrog Geo

###### By Tim McLennan

## Choosing an interpolant function

Leapfrog Geo uses two different base functions to form interpolants. They are the linear interpolant function and the spheroidal interpolant function. This blog covers when to use each base function, how to set the function parameters, and how to convert the parameters for a Leapfrog Mining interpolant across to Leapfrog Geo.

As explained in the Leapfrog Interpolation Basics blog article, the interpolant functions indicate how the function values are expected to vary as the distance between points increases. At small distances the values are expected to be similar and so the function values are small. At large distances the values are expected to vary considerably and so the function values are larger. The nature of this relationship means that the interpolant function is equivalent to the variogram used in geostatistical modelling.

### The linear interpolant function

The base linear interpolant function is multi-scale. As a result, it is a good general purpose model. It works particularly well for lithology data which often has localised pockets of high resolution data. It is not appropriate for values with a distinct finite range of influence as it aggressively extrapolates out from the data. Unfortunately, most grade data is not well interpolated using a linear interpolant function.

However, as the linear interpolant function is multi-scale and quick to evaluate, it can be used to build an initial interpolant to visualise the data trends. This simple interpolant can then be used for determining the correct trend for the interpolant and whether compositing or a value transform may be required. After this, an appropriate interpolation function can be specified.

### The spheroidal interpolant function

The extrapolation of the linear interpolant function at large distances is often unrealistic. In common cases, including when modelling most metallic ores, there is a finite range beyond which the influence of the data should fall to zero. In geostatistical modelling a finite range spherical variogram is used to model these cases. The spheroidal interpolant function was created to approximate the spherical variogram while still forming a smooth interpolant.

## Setting interpolating function parameters

When editing an interpolant, the parameters for adjusting the interpolant function can be found on the Interpolant tab. In Leapfrog Geo 1.2, the shape of all the interpolant functions is determined consistently using simple terms corresponding to ones used in geostatistics. The effects of changing the parameters can be seen in real-time by looking at the embedded graph on the Interpolant tab (Figure 1). The graph shows how the interpolant function values vary with distance.

### Key parameters

All interpolant functions pass through or close to two points defined by three common parameters. The points are (0.0, *n*) and (*r*, *s*), where *n*, *r*, and *s* are the *nugget*, *range* and *sill* parameters respectively. These three parameters have been annotated in grey in Figure 1.

The shape of the interpolant function in Leapfrog Geo is important as it is the shape rather than the actual value that determines how it affects the interpolant. If you scale the interpolant function by a constant value, then the interpolant and any evaluations of it will be unchanged.

It is the *nugget* to *sill* ratio that determines the shape of the interpolant function, so multiplying them both by the same number will give an identical interpolant. This can be seen in Figure 2. The function on the left has *nugget* of 3 and *sill* of 10, while the one on the right has a *nugget* of 9 and a *sill* of 30.

### Spheroidal alpha parameter

The *alpha* parameter specifies the order of the approximating function. It can only be set to a value of 3, 5, 7 or 9.

### Other parameters

The *drift* specifies the degree of the polynomial that is used to augment the interpolant. This can be thought of as specifying the degree of the expected underlying trend of the data and determines the behaviour a long way away from the data.

The *accuracy* determines how tightly the interpolating process adheres to the data. Ideally this value should not be set finer than the errors in the data. Using an unrealistically fine value will degrade the interpolant and cause it to process much slower. On creating an interpolant, Leapfrog Geo provides a good default estimate for the *accuracy* by examining the distribution of the data values.

## Using the spheroidal interpolant function

The spherical variogram used in geostatistics has a fixed *range* beyond which the value is the constant *sill*. In contrast, the spheroidal interpolant function has an asymptotic *sill.* This means that as the distance increases, the value of the function will approach the value of the *sill*. However, the *range* parameter controls how quickly the function value approaches the *sill*. For Leapfrog Geo, the *range* is defined as the distance at which the value is equal to 96% of the *sill* (with no *nugget*). This definition is consistent with a common geostatistical method for handing asymptotic *sills*.

For larger values of the *alpha* parameter a more complex approximating function is used. This means that the spherical variogram will be approximated better, but also that it will take longer to generate and evaluate the interpolant. Figure 3 shows how the functions compare for the different *alpha* values with a *nugget* of 8, *sill* of 28 and *range* of 5000.

From Figure 3 you can see that the spheroidal for *alpha*=9 is the best approximation to the spherical variogram. Between zero and the *range*, the value for the *alpha*=3 spheroidal is greater than the *alpha*=9 spheroidal. At distances above the *range* this behaviour is reversed, as seen in the inset graph. Naturally, the *alpha*=5 and 7 spheroidals are between the other two spheroidals.

### Converting from Leapfrog Mining

The interpolation parameters for a Leapfrog Mining interpolant can be accessed on the right hand side of the Variogram tab. The spheroidal interpolant function uses the same parameters in both Leapfrog products, but the *range* parameter is defined differently. Additionally, Leapfrog Geo does not support an *alpha* value of 1, because with that value the spheroidal is a very poor approximation to the spherical variogram.

In Leapfrog Mining the *range* is defined using a weighted integral of the function values. In practical terms this means the Leapfrog Mining spheroidal interpolant functions are very close to the spherical variogram near the origin, but do not approximate it so well beyond the *range*. It also makes it more difficult to describe the interpolant in simple terms that can be compared with more traditional geostatistical methods. Figure 4 shows how the functions compare for the different *alpha* values with the same parameters as the previous image.

By design, the *alpha*=9 spheroidal is identical in both Leapfrog products. Again, it is the best approximation to the spherical variogram.

#### Conversion details

For an *alpha* value of 3, 5 or 7, identical results to a Leapfrog Mining spheroidal interpolant function can be obtained in Leapfrog Geo by scaling the *range* parameter appropriately. The equation linking the ranges is given by:

**range**_{Geo} = range_{Mining} * scale factor

where the** scale factor** depends on the value of *alpha* as in the table below:

Alpha | 3 | 5 | 7 | 9 |

Scale factor | 1.39 | 1.11 | 1.03 | 1.0 (unchanged) |

#### Example

Figure 5 shows the variogram tab from Leapfrog Mining for a grade interpolant.

The *range* in Leapfrog Mining is 300, *alpha* is 3 and so the scale factor is 1.39 and

**range**_{Geo} = 300 * 1.39 = 417

The calculation can be verified using the interpolant diagram in Leapfrog Mining. The interpolant value at the Leapfrog Geo *range* should be 96% of the *sill*. This is shown in Figure 6.

## Using the linear interpolant function

In Leapfrog Geo, the linear interpolant function uses the same key parameters as the spheroidal interpolant function. This makes it easy to switch between the two. Although, unlike the spheroidal interpolant function, the linear interpolant function does not have a *range* in a traditional geostatistics manner. Furthermore, if there is no *nugget *value, then the function is multi-scale. This means that the interpolant is not sensitive to the scale of the input data. If you scale the locations of the input data by a factor, then the final interpolant will be spatially scaled by the same factor. Figure 7 shows an annotated screenshot of the function graph for a linear interpolant function.

### Converting from Leapfrog Mining

Leapfrog Mining uses alternative parameters for specifying a linear interpolant function, *slope* and *nugget*. These are based on the standard mathematical equation of a line, **y = m * x + c**; where **c** is the y-intercept (*nugget*), and **m** is the *slope*.

The *slope* is determined as rise over run, so the graph can be used to determine the relationship between the parameters in the two Leapfrog products.

**slope = rise / run = (sill – nugget) / range**

#### Conversion details

The above equation can be rearranged to give:

**sill = slope * range + nugget**

This equation can be used to determine the *sill* from the *slope* for any desired *range*. To convert the Leapfrog Mining parameters, choose a *range* and use the equation. Usually it makes sense to use the estimated *range* provided when the interpolant in Leapfrog Geo is created.

If the *nugget* is zero, then the interpolant function is multi-scale, and the interpolant is not sensitive to the other parameters. The results will be the same in Leapfrog Geo no matter what values are used for the *range* and *sill.*

As the interpolant function shape in Leapfrog Geo is determined purely by the *nugget* to *sill* ratio, the initial values for the *sill* and *nugget* can be scaled if necessary.

#### Example

Suppose the Leapfrog Mining parameters are *slope* = 0.2 and *nugget* = 5.0. Choose a *range* of 80.0 and calculate *sill* = 0.2 * 80.0 + 5.0 = 21.0.

Again, you can verify the calculation by using the interpolant diagram in Leapfrog Mining. In this case the value at the *range* is the *sill* as can be seen in Figure 8.