Skip to end of metadata
Go to start of metadata

Any requested data manipulation or post-processing is carried out by the MARS clients running on ECMWF computers. Only when using the Web API, the post-processing specified here is performed on the server side. The post-processing is carried out using the MIR library. MIR stands for Meteorological Interpolation and Regridding , see also MARS interpolation with MIR.


specifies the output grid which can be either a Gaussian grid or a Latitude/Longitude grid. MARS requests specifying grid=av will return the archived model grid.

For Latitude/Longitude output, the format is in degrees, i.e. grid = 2.5/2.5, where the first number denotes the east-west resolution (longitude) and the second denotes the north-south resolution (latitude). The grid spacing needs to be an integer fraction of 90 degrees (latitude range from the Equator to the Pole), e.g. 0.225, 0.25, 0.28125, 0.3, 0.4, ...

Output on a Gaussian grid is specified by a letter denoting the type of Gaussian grid followed by an integer (the grid number) representing the number of lines between the Pole and Equator, e.g. 

  • grid = F160  - full (or regular) Gaussian grid with 160 latitude lines between the pole and equator
  • grid = N320  - ECMWF original reduced Gaussian grid with 320 latitude lines between the pole and equator, see Reduced Gaussian Grids for grid numbers used at ECMWF
  • grid = O640 - ECMWF octahedral (reduced) Gaussian grid with 640 latitude lines between the pole and equator

Not all grid names and grid number combinations are supported. Currently, the Gaussian grid names and numbers supported for MARS retrievals are:

Octahedral reduced Gaussian (O grids)O1280O640O512O400O320O256O200O160O128O96O64O48O32
Original reduced Gaussian  (N grids)
Regular (Full) Gaussian (F grids)F1280F640F512F400F320F256F200F160F128F96F64F48F32

MARS requests specifying an unsupported grid will fail. For example, a retrieval request with grid=O123 will return an error.  If the letter denoting the type of Gaussian grid is omitted, e.g. grid=320, a full (or regular) Gaussian grid with 320 grid lines is returned.

For legacy requests see also the section on keyword gaussian below.


This keyword is deprecated and should no longer be used. 

  • If the GAUSSIAN keyword is used along with, e.g. GRID=O640, GRID=N640 or GRID=F640 then it is ignored. 
  • A MARS request with GRID=640, GAUSSIAN=REDUCED returns the original reduced Gaussian grid with 640 latitude lines between pole and equator (equivalent to GRID=N640).
  • Similarly, a MARS request with GRID=640, GAUSSIAN=REGULAR returns the full (regular) Gaussian grid with 640 latitude lines between pole and equator (equivalent to GRID=F640).
  • A MARS request with GRID=640 only (no GAUSSIAN keyword) returns the full (regular) Gaussian grid with 640 latitude lines between pole and equator (equivalent to GRID=F640).


specifies the desired sub-area of data to be extracted.

Some predefined areas exist (Europe, and four quadrants for each hemisphere). Alternatively, you may specify an area of your own, by inputting the area limits as North/West/South/East; if South > North, the values are swapped and a warning issued; southern latitudes and western longitudes must be given as negative numbers. For example, Europe may be defined by area=75/-20/10/60.

  • Latitude values must be given as signed numbers, with:
    • north latitudes (i.e. north of the equator) being positive (e.g: 40.5)
    • south latitutes (i.e. south of the equator) being negative (e.g: -50.5)
  • Longtitude values must be given as signed numbers, with:
    • east longitudes (i.e. east of the 0 degree meridian) being positive (e.g: 35.0)
    • west longitudes (i.e. west of the 0 degree meridian) being negative (e.g: -20.5)

Areas can be defined to wrap around the globe, e.g. in order to retrieve all longitudes but Europe one would specify area=75/60/10/-20. Sub-area extraction only works on regular latitude/longitude fields, regular Gaussian fields and wave fields. For observations, it is used as a filter. 

 Area examples
NORTH = 90° WEST = -180°SOUTH = -90°EAST = 179.5°

NORTH = 75° WEST = -25°SOUTH = 10°EAST = 60°

NORTH = 75° WEST = -15°SOUTH = 30°EAST = 42.5°

NORTH = 70° WEST = -20°SOUTH = 35°EAST = 20°

NORTH = 75° WEST = 10°SOUTH = 30°EAST = 40°

NORTH = 40° WEST = -20°SOUTH = -40°EAST = 60°

NORTH = 50° WEST = -135°SOUTH = -60°EAST = -35°

NORTH = 40° WEST = 60°SOUTH = -60°EAST = 180°

NORTH = 80° WEST = 115°SOUTH = -5°EAST = 180°


specifies the number of points to be selected from a sub-area inwards. It works together with the area keyword. For instance, area=europe, grid=2/2, frame=2 will select a frame with outer limits 74/60/10/-20 and inner limits 72/58/8/-18.


specifies the desired triangular truncation of retrieved data, before carrying out any other selected post-processing.

The default is automatic truncation (auto), by which the lowest resolution compatible with the value specified in grid is automatically selected for the retrieval (see Truncation before interpolation).

Users wanting to perform post-processing from full spectral resolution should specify Archived Value (av). The following are examples of existing resolutions found in the archive: 63, 106, 159, 213, 255, 319, 399, 511, 799 or 1279. This keyword has no meaning/effect if the archived data is not in spherical harmonics representation.

For applications requiring VarEPS products starting from or spanning step T+240, users wishing to obtain products interpolated to regular lat/lon grids are advised to have the products from Leg 1 truncated to the N128 grid prior to interpolation to their choice of lat/lon grid. This can be achieved by specifying resol=N128 (or reduced gaussian 128) which will reduce the resolution to N128 prior to further interpolation to regular grids.


specifies a rotation for the output fields. The values for this keyword consist of the latitude and longitude of the southern pole in degrees, e.g. rotation = -30.0/10.0.

Fields on spherical harmonics or Gaussian grid can be rotated with the directive rotation. The rotation is performed prior to any other conversion. Therefore:

  • Spherical harmonics fields can be retrieved as rotated spherical harmonics or converted to rotated latitude/longitude or Gaussian grid fields.
  • Gaussian grid fields can be retrieved as rotated latitude/longitude or rotated Gaussian grid fields.

If the input is a spectral field and the output is a rotated spectral field, a file of rotation coefficients is generated and used in the processing. The convergence of the algorithm for rotating the spectral fields is sensitive to the spectral truncation. For some high resolutions and some large angles of rotation, it is necessary to split the rotation into three steps (two forwards and one backwards!). The size of the rotation coefficient files can be very large.

If the input is a spectral field and the output is a rotated grid point field, the spectral field is interpolated to a non-rotated Gaussian grid which is then transformed to the required rotated grid point field using a 12-point interpolation based on the FULL-POS scheme used in the ECMWF forecast model.

A rotated grid-point field is created from an input grid-point field by finding for each rotated grid-point its nearest four neighbours in the input field and carrying out a bilinear interpolation.


can be used to force the interpolation method to bilinear or nearest neighbour for interpolations from grids.


specifies the number of bits per value to be used in the generated GRIB coded fields.

A positive integer may be given to specify the preferred number of bits per packed value. This must not be greater than the number of bits normally used for a Fortran integer on the processor handling the request (typically 32 or 64 bit).

Within a compute request the accuracy of the original fields can be passed to the result field by specifying accuracy=av.


specifies the packing method of the output fields. Valid values for latitude/longitude output are simple (si) or second order (so). Valid values for spectral fields are complex packing (co) or simple packing (si). In order to preserve the packing of the archived data one would specify archived value (packing = av).


forces an old grid definition to be used (Research Department designated _12). Can only be used with N80 or N160 reduced Gaussian grids, e.g. specification = 12 will force a grid definition which has 12 points in the northernmost and southernmost latitudes.


specifies the style of post-processing.

A valid directive is style = dissemination, in order to instruct MARS to perform post-processing in a way as close to the dissemination system as possible. For example:

  • sub-area extraction will not be expanded but contracted when area and grid don't fit
  • interpolation is performed to the finest grid-point resolution allowed in dissemination according to the operational setup (let's say it could be 0.125 by 0.125) and then by selecting alternate points to reach the desired resolution (for a 1 x 1 degree grid, it will select every eighth point).
  • rotation of vector components (winds) is performed using HIRLAM routines.


specifies a UNIX filename containing a bitmap definition in the format defined in appendix 1 of the  Dissemination manual.


  1. I would like to know what is the default interpolation method used when downloading a gaussian gridded product into a regular Latitude/Longitude grid (by specifying something like "grid": "0.25/0.25").


    1. Currently interpolation in MARS is done using EMOSLIB. The default method for grid to grid interpolation for all parameters except vegetation, precipitation type, soil type fields and Wave 2D spectra is bilinear, see Grid point to Grid point Interpolation. For surface fields the land-sea mask is also taken into account. Precipitation is treated in a special way. See also this training course presentation for more details: Introduction to ECMWF computing services and MARS 2016.

  2. I have a question regarding the area keyword (actually, three questions):

    1. The text above mentions Some predefined areas exist (Europe, and four quadrants for each hemisphere). However, it does not say the value I would have to set the area keyword to (i.e., the name of the five pre-defined regions), nor the bounds of the "four quadrants".
    2. I'm at a loss with the first example given in the picture, i.e., the global one.  Why is the Eastern bound set to 179.5°?
    3. Along the same line of thought, are the North/South/West/East coordinates I can specify the outer edges of the grid, or are they center points of the corner coordinates?
  3. Please update this documentation to include new keywords coming with MIR.

    1. A new documentation of al keywords is under development. In the meantime please also have a look at MARS interpolation with MIR

  4. Hi, I would like to know if there is any way of downloading data that is already formatted as zonal-mean data (This would significantly decrease the size of my MARS data requests). Thank you very much in advance!