IFS data interpolation

The IFS data available through the ECMWF open data store is degraded to 0.25 deg resolution - what interpolation method is being used to regrid the data to the quarter-degree grid?
I am asking so that we can replicate the same regridding for the IFS reforecasts from MARS that is used in open data.

Hi Andre,

Under the hood both MARS and dissemination system use MIR software for the interpolation.

The interpolation method will depend on the parameter.

If you are a Python user Earthkit regrid package ( earthkit-geo latest documentation ) also uses MIR for the interpolation under the hood.

When you download the data from MARS, if you add parameter grid = 0.25/0.25 and use global area you should get the same data.

I hope this helps.

Milana

Thanks, Milana! This is very helpful!

Now, in order to reproduce the interpolation I only need to know if you are using “linear” (presumably bilinear) or “grid-box-average” (conservative) for float variables? It seems that the MIR backend has some automatic settings, but the Python package always seems to set the default to “linear”, so I am not sure which one you are using…

It would make sense to use a conservative method to interpolate from a high-resolution grid like the current IFS reduced Gaussian grid to a low resolution grid like the standard 0.25 deg. open data grid, especially for fields like precip.

Hi Andre,

Thanks for your comment!

I checked with the relevant expert at ECMWF - the interpolation from the native IFS reduced Gaussian grid to the 0.25° grid used in Open Data is handled using the MIR (Meteorological Interpolation and Regridding) package, which is also used in both MARS and in the Open Data.

In practice, there are two interpolation methods:

  • Linear interpolation (triangular method)
    This is the default and is used for the vast majority of meteorological parameters, including fields such as temperature (2t), mean sea-level pressure (msl), total precipitation (tp), winds (10u/10v), and upper-air parameters.
    • Note that this is based on a three-point triangular scheme.
  • Nearest-neighbour interpolation
    This is used for any parameters which are an index (e.g. vegetation, soil type, precipitation type) and some wave-related parameters associated with the spectra (e.g. wave 2d spectra).

Importantly, the conservative (grid-box-average) interpolation method is not used by default in MARS or the Open Data for any parameters (specifically in Open Data).

In addition, if you are aiming for an exact reproduction, there are a couple of technical points to be aware of:

  • For some parameters, there can be differences in packing accuracy (bitsPerValue) between MARS and Open Data output - this needs the same accuracy to be used in the MARS retrieval as is used by the production of Open Data.
  • Open Data products are generated using GRIB2, and differences between GRIB1 and GRIB2 (e.g. IBM vs IEEE floating point representation) can introduce small numerical differences.

So for your use case (reproducing the Open Data from MARS), the main thing is to match the packing accuracy. Should you require any further guidance, give us a shout.

We hope this helps!

Best regards,

Lauren

ECMWF Support

w: ecmwf.int

Thanks for the very detailed response, Lauren! This is very helpful and answers my question!