While addressing a sub-optimal performance issue for interpolation from the octahedral reduced Gaussian grid introduced with IFS cycle 41r2 to regular latitude-longitude grids, a problem was discovered with the method used to calculate the longitudinal points in the source grid.  In some specific cases, this problem leads to an incorrect computation of interpolation weights and hence to incorrect interpolated values at some points of the output grid.

The problem affects all versions of EMOSLIB prior to version 4.3.0.  The problem is also present in fields retrieved with versions of MARS (including the WebAPI) that use any EMOSLIB version prior to version 4.3.0,  Metview versions prior to 4.6.1 and for disseminated products from IFS cycle 41r1 and earlier.

This page provides information about the problem and the specific cases where differences can occur.

Description of the problem

The problem originates in the calculation of the longitude values of the source grid in EMOSLIB routines IRDIWE and IGDIWE.  These routines use an integer value of the longitudinal grid increment (the 'stride')  which, in some cases, results in a truncated value of the increment. This can result in an error in the computation of the longitude values for points in the source grid.

When the input grid is an original reduced Gaussian ("N-grids"):

When the input grid is an octahedral reduced Gaussian ("O-grids"):

In situations where the error occurs, the incorrect computation of the longitude values leads to two issues:

  1. The longitude points in the source grid are computed incorrectly.  This leads to an incorrect computation of interpolation weights and hence to incorrect values at some points of the output grid.
  2. The nearest grid points used for the interpolation may be incorrectly identified due to a numerical 'shift' of the input grid cell.

The error is most evident for parameters where the gradient of the field is large and where a change in the nearest grid points or the interpolation weights used thus has a larger effect.

The error also affects the identification of points used for the land-sea mask processing of surface fields.

Which interpolations are affected ?

The problem affects interpolations from:

Which interpolations are not affected ?

For which cases is the problem fixed ?

The problem is fixed in EMOSLIB version 4.3.0  and newer for the following cases:

For the Disseminated products from IFS cycle 41r2, the problem is also fixed for interpolations to sub-areas of regular latitude-longitude grids

In addition, the problem is fixed for interpolations from original reduced  or octahedral reduced Gaussian grids to sub-areas of unrotated regular Gaussian grids or regular lat-lon grids at EMOSLIB 4.3.7.

For which cases does the problem still exist ?

The problem has not been fixed for the following cases::

In which software versions is the problem fixed ?

The problem is fixed in EMOSLIB version 4.3.7 and newer.  This is used by:

Can results obtained with EMOSLIB 4.3.x be compared with the old version ?

Users can check results with the previous versions of MARS by using 'mars -t -p'.  This version of MARS uses EMOSLIB 4.2.2 which does not include the bug fix.

The 'mars -t -p' version is provided for testing purposes only.  It should not be used as a long term replacement for the default 'mars' version.  Please let ECMWF know if you need to use 'mars -t -p'.

 

Examples

Mean sea-level pressure

The plots show the differences between the new interpolation method implemented in EMOSLIB version 4.3.0 and the old method for the interpolation of the mean sea-level pressure from the reduced Gaussian grids to a 0.5°x0.5° regular latitude-longitude grid for the period 1-14 December 2015.

For this field the differences are:

The plots in the upper panels show differences at the global level while those in the lower panels show the same fields plotted over the Europe area in a polar stereographic projection.

O1280 octahedral reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid

Differences between old and new methods for interpolation of mean sea-level pressure from the O1280 octahedral reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid for the period 1-14 December 2015.

N640 original reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid

Differences between old and new methods for interpolation of mean sea-level pressure from the N640 original reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid for the period 1-14 December 2015.

O1280 octahedral reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid

Differences between old and new methods for interpolation of mean sea-level pressure from the O1280 octahedral reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid plotted over Europe for the period 1-14 December 2015.

N640 original reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid

Differences between old and new methods for interpolation of mean sea-level pressure from the N640 original reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid plotted over Europe for the period 1-14 December 2015.

2 metre temperature

The plots show the differences between the new interpolation method implemented in EMOSLIB version 4.3.0 and the old method for the interpolation of the 2m temperature from the reduced Gaussian grids to a 0.5°x0.5° regular latitude-longitude grid for the period 1-14 December 2015.

For this field the differences are:

 

 

 

O1280 original reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid

 

Differences between old and new methods for interpolation of 2m temperature from the O1280 original reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid for the period 1-14 December 2015.

 

 

N640 original reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid

 

Differences between old and new methods for interpolation of 2m temperature from the N640 original reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid for the period 1-14 December 2015.

 

 

O1280 octahedral reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid

 

Differences between old and new methods for interpolation of 2m temperature from the O1280 octahedral reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid over Europe for the period 1-14 December 2015.

 

 

N640 original reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid

 

Differences between old and new methods for interpolation of 2m temperature from the N640 original reduced Gaussian grid to a 0.5°x0.5° regular latitude-longitude grid over Europe for the period 1-14 December 2015.