Any requested data manipulation or post-processing is carried out by the MARS client, except in the case of a local Member State's client where data is first processed at ECMWF prior to its transmission over the network. The post-processing is carried out by a set of routines present in the EMOSLIB library. Please, refer to the Field interpolation routines for in-depth details about such post-processing.

grid

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.

Not all grid type and grid number combinations are supported. MARS requests specifying an unsupported grid will fail. For example, a retrieval request with grid=O123 will return an error. A list of supported grid names and grid numbers will be provided. 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.

gaussian

Valid Gaussian grids are quasi-regular (reduced) or regular. Keyword gaussian can only be specified together with keyword grid. Gaussian without grid has no effect.

When gaussian = reduced is selected, only certain values are valid for keyword grid, according to the definitions for Reduced Gaussian Grids used at ECMWF.

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).

area

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 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 = -110°

SOUTH = -10°

EAST = -60°

NORTH = 80°

WEST = 115°

SOUTH = -5°

EAST = 180°

frame

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.

resol

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.

rotation

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.

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.

interpolation

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

accuracy

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.

packing

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).

specification

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.

style

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.