Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section


Column
width76px


Column

This icon takes data from a GRIB source and performs a variety of operations on it, including spectral to grid conversion, regridding using a large variety of powerful and flexible interpolation techniques, nabla operators and special consideration of wind fields.

This module is designed with re-use in mind. The first time a particular interpolation is performed, it might take some time to compute, but it will create cache files that can be re-used, meaning that the same interpolation will be much faster on subsequent runs.

The macro/python language equivalent is regrid(). The listed parameters can all be supplied as named parameters with the spaces replaced by underscores, e.g. nearest_method='sorted_sample'.


(warning) The last sentence above is not correct; The canonical MIR parameters are in lowercase + hyphens, always sanitized before passing in. The underscore is not a good recommendation, a space is better and an hyphen even better.

The Regrid Editor

Data input parameters

...

  • Grid: supply a valid string or list of numbers in the Grid parameter (see below)
  • Template: supply a template GRIB file, whose grid structure will be used to generate the output GRIB; use either Template Source or Template Data to specify the template (not both). Note that only GRIB fields on regular lat/lon or regular/reduced Gaussian grids may currently be used as templates.
  • Lambert Conformal: supply details of the output grid in the set of Lambert grid definition parameters
  • Lambert Azimuthal Equal Area:  supply details of the output grid in the set of Lambert grid definition parameters
  • Filter: in this mode, the output grid will be the same as the input grid, with k-nearest neighbours interpolation supporting the filtering

Template Source

If Grid Definition Mode is set to Template, supply the path to a template GRIB file in the Template Source parameter; the output GRIB will use the same grid as the template.

...

If Grid Definition Mode is set to Template, supply a GRIB-based data object in the Template Data parameter; the output GRIB will use the same grid as the template.

...

GUIPython / MacroResult
1/1[1, 1] or "1/1'"A regular lat/lon grid with 1x1 degree point spacing
0.25/0.25[0.25, 0.25] or "0.25/0.25"A regular lat/lon grid with 0.25x0.25 degree point spacing
O1280"O1280"An octahedral reduced Gaussian grid, octahedral with 1280 latitude lines between the pole and equator
N640"N640"An 'original' reduced Gaussian grid, with 640 latitude lines between the pole and equator
F400"F400"A regular Gaussian grid, with 400 latitude lines between the pole and equator

Area

Supply a grid definition as described here: area - keyword in MARS/Dissemination request (swapping north/south).

Specifies the geographical area that the output fields will cover, the default being for the whole globe. Enter lat/lon in degree bounds of an area separated by a "/" (Northsouth/Westwest/Southnorth/Easteast), or in Macro or Python provide a list, e.g. [south, west, north, east]; alternatively, use the assist button to define the area graphically.

...


Code Block
languagepy
t01 = mv.regrid(
    grid     = [0.1,0.1],
    area     = [31,-17,64,38],
    data     = t_2m
    )

mv.plot(t01)



Rotation

Needs to be checked!

Position of the South Pole of the intended rotated grid as lat/lon in degree, as described here: rotation - keyword in MARS/Dissemination request.

This is applicable to regular lat/lon or regular/reduced Gaussian grids. Enter lat/lon in degree, or in Macro or Python, enter [lat, lon]; alternatively, use the  assist button to select the point graphicallyRotation is specified by selecting a new coordinate for the South pole. In Python or Macro, enter [lat, lon]; in the GUI, enter lat/lon or use the coordinate assist button to graphically select the point.

Output Lambert grid definition parameters

...

Most of these parameters are required and do not have default values, meaning that they must be filled in.

The parameters are: First Point, Dx In Metres, Dy In Metres, Lad In Degrees, Lov In Degrees, Standard Parallel In Degrees, Central Longitude In Degrees, Latin 1 In Degrees, Latin 2 In Degrees, Nx, Ny.

  • First Point: defines the North/West (or top/left) point in the unprojected frame (lat/lon)
  • Dx In Metres: x-direction increment in the projected frame (x/y)
  • Dy In Metres: y-direction ...
  • Nx: number of points along x-direction in the projected frame (x/y)
  • Ny: y-direction ...
  • Specific to Lambert Conformal:
    • LaD In Degrees
    • LoV In Degrees 
    • Latin 1 In Degrees (defaults to LaD In Degrees)
    • Latin 2 In Degrees (defaults to LaD In Degrees)
  • Specific to Lambert Azimuthal Equal Area:
    • Standard Parallel In Degrees
    • Central Longitude In Degrees

Here are examples of generating Lambert grids.

Image Modified

Image Modified


Code Block
languagepy
regrid_lambert_conformal = mv.regrid(
    grid_definition_mode = "lambert_conformal",
    first_point          = [50.88,-1.66],
    dx_in_metres         = 2500,
    dy_in_metres         = 2500,
    nx                   = 739,
    ny                   = 949,
    lad_in_degrees       = 63,
    lov_in_degrees       = 15,
    data                 = t_2d_rgg
    )



Image Modified

Image Modified


Code Block
languagepy
regrid_lambert_azimuthal = mv.regrid(
    grid_definition_mode         = "lambert_azimuthal_equal_area",
    first_point                  = [50.88,-1.66],
    dx_in_metres                 = 2500,
    dy_in_metres                 = 2500,
    nx                           = 739,
    ny                           = 949,
    standard_parallel_in_degrees = 0,
    central_longitude_in_degrees = 0,
    data                         = t_2m_rgg
    )


Spectral to grid

...

transform parameters

...

If the input files are spectral, the following parameters are used to fine-tune the conversion to grid points.

Truncation

Describes how to treat the incoming spherical harmonics before the transformation to grid points. For more details, see Spherical harmonics truncation, as described here: truncation - keyword in MARS/Dissemination request.

When the output is spectral, defines the output intended truncation; When the output is gridded, defines the intermediate truncation before spectral inverse transform to gridded space. Possible values are AutomaticNone or a number describing the spectral truncation to be applied.

Intgrid

Describes the intermediate grid to which the transform is performed. For more details, see Intermediate grid when performing spectral inverse transform to gridded space, as described intgrid - keyword in MARS/Dissemination request.

Possible values are Automatic , None , Source  or the name of the desired intermediate grid.
are:

  • Automatic: regular Gaussian grid, with N given as linear spectral order relation to output grid latitude increments
  • Source: octahedral reduced Gaussian grid, with N given as cubic spectral order relation to output grid latitude increments (mimics dissemination)
  • None: no intermediate grid, spectral inverse transform target is the user's intended output (costly if many different outputs are intended)
  • name of the desired intermediate grid

Extra processing parameters

...

Specifies the type of interpolation to be used on the fields. The default is Automatic, which selects either Linear or Nearest Neighbour based on an internal table of known parameters. If the parameter is unknown, the default will be Linear. The possible interpolation methods are:

  • Finite Element-based interpolation with linear base functions
    • Linear:
    QQQ
  • Bilinear: QQQ
  • Grid Box Average: QQQ
  • Grid Box Maximum: QQQ
  • K Nearest Neighbours: QQQ
  • Nearest LSM: QQQ
  • Nearest Neighbour: QQQ
  • Structured Bicubic: QQQ Note that this method does not cache its transformation matrices, and therefore will not benefit from speedups on subsequent runs.
    •  FEM with supporting triangular mesh
    • Bilinear: FEM with supporting quadrilateral mesh (for reduced grids, possibly containing triangles instead of highly-distorted quadrilaterals)
  • Grid box method (based on Model grid box and time step)
    • Grid Box Average: input/output grid box intersections interpolation preserving input value integrals (conservative interpolation)
    • Grid Box Maximum: input/output grid box intersections value maximum
  • K-nearest neighbours based:
    • K-Nearest Neighbours: general method combining nearest method (choice of  neighbours) and distance weighting (choice of interpolating neighbour values)
    • Nearest Neighbour: parametrised version of K-Nearest Neighbours to chose a nearest neighbouring input point to define output point value
    • Nearest LSM: interpolated output point takes input only from input points of the same type (land or sea — requires setting land/sea masks)
  • Structured methods, exploiting grid structure and configurable stencil for fast interpolations (non cacheable, so do Structured Bilinear: QQQ Note that this method does not cache its transformation matrices, and therefore will not benefit from speedups on subsequent runs.)
    • Structured Bilinear: bilinear interpolation
    • Structured Bicubic: bicubic interpolation
    • Structured Biquasicubic
    : QQQ Note that this method does not cache its transformation matrices, and therefore will not benefit from speedups on subsequent runs.
    • : computationally economic bicubic interpolation
  • Automatic: see Automatic: see description above.

Nearest Method

Available for any of the 'nearest' interpolation methods; Supports Interpolation K-Nearest Neighbours or Nearest LSM. Possible values are:

  • Distance

...

input points with radius (option Distance) of output point
  • Nclosest
n-closest input points (option Nclosest) to output point (default 4)
  • Distance and nclosest
input points respecting Distance ∩ Nclosest
  • Distance or nclosest
input points respecting Distance U Nclosest
  • Nclosest or nearest
n-closest input points (option Nclosest), if all are at the same distance (within option Distance Tolerance) return all points within that distance (robust interpolation of pole values)
  • Nearest neighbour with lowest index
nearest input point, if at the same distance to other points (option Nclosest) chosen by lowest index 
  • Sample
Sample of n-closest points (option Nclosest) out of input points with radius (option Distance) of output point
  • Sorted sample
as above, sorted by distance

Associated options supporting Nearest Method (described above):

  • Distance: in [m] choice of closest points by disntace to input point
  • Nclosest: choice of n-closest input points to input point
  • Distance Tolerance: tolerance in [m] checking the farthes from nearest points (when Nearest Method is Nclosest or nearest)

Distance Weighting

Distance Weighting

Only available if Interpolation is K Nearest NeighboursQQQ (description)

Possible values are:

  • Climate Filter: QQQ
  • Gaussian: QQQ
  • Inverse Distance Weighting: QQQ
  • Inverse Distance Weighting Squared: QQQ
  • Nearest Neighbour: QQQ
  • No: QQQ
  • Shepard: QQQ
  • Off: QQQ

Nclosest

Only available if Interpolation is K Nearest Neighbours and Distance Weighting is one of the 'NClosest' methods. This parameter specifies the number of closest points to be considered. Default=4.

...

Only available if Interpolation is K Nearest Neighbours. QQQ

Distance Weighting Gaussian Stddev

Only available if Interpolation is K Nearest Neighbours. QQQ

Distance Weighting Shepard Power

Only available if Interpolation is K Nearest Neighbours. QQQ

Distance Tolerance

Only available if Interpolation is K Nearest Neighbours. QQQ

Conservative Finite Element Method Input

Only available if Interpolation is Conservative Finite Element. QQQ

Conservative Finite Element Method Output

Only available if Interpolation is Conservative Finite Element. QQQ

Non Linear

QQQ. Possible values are:

  • Missing If All Missing: QQQ
  • Missing If Any Missing: QQQ
  • Missing If Heaviest Missing: QQQ
  • Simulated Missing Value: QQQ
  • Heaviest: QQQ
  • No: QQQ

Simulated Missing Value

Only available if Non Linear is Simulated Missing Value. QQQ (description)

Simulated Missing Value Epsilon

Only available if Non Linear is Simulated Missing Value. QQQ (description)

Land-sea mask parameters

Distance Weighting With LSM

Only available if Interpolation  is Nearest LSM. Possible values are On and Off.

LSM Weight Adjustment

Only available if Distance Weighting With Lsm is not Off. QQQ.

LSM Interpolation Input

QQQ.

LSM

 Selection Input

Specifies whether the input LSM file will come from LSM Named Input (Named) or LSM File Input (File).

LSM Named Input

Provide one a of a set of predefined names of LSM inputs from the following list:

  • 1km
  • 10min
  • O1280
  • O640
  • O320
  • N320
  • N256
  • N128

LSM File Input

Provide the path to an LSM GRIB file.

LSM Value Threshold Input

QQQ.

LSM Interpolation Output

QQQ

LSM Selection Output

Specifies whether the input LSM file will come from LSM Named Output (Named) or LSM File Output (File).

LSM Named Output

Provide one a of a set of predefined names of LSM outputs from the following list:

General way on how to interpolate input neighbouring point values to output points, including the Inverse Distance Weighting (IDW) class methods (see Wikipedia), which operates over input points returned by Nearest Method. Possible values are:

  • Climate Filter
filter for processing topographic data (see IFS documentation, Part IV: Physical Processes, 11.3.1 Smoothing operator)
  • Inverse Distance Weighting
IDW of the form distance-1; If input points match output point, only that point's value is used for output
  • Inverse Distance Weighting Squared
IDW of the form (1 + distance2)-1
  • Shepard
IDW of the form distance-p (option Distance Weighting Shepard Power, default 2.)
  • Gaussian
IDW of the form exp(- distance2 / (2 σ)2) (option Distance Weighting Gaussian Stddev, default 1.)
  • Nearest Neighbour
Emulate Interpolation Nearest Neighbour by picking first point (note that, when Nearest Method is Sample, a random nearest point is picked)
  • No
no distance weighting, average input values (irrespective of distance)

On multiple input points, weights are normalised linearly to unity. Associated options supporting Distance Weighting (described above):

  • Distance Weighting Shepard Power: specify Shepard's method power parameter (see Wikipedia specific section)
  • Distance Weighting Gaussian Stddev: specify Gaussian standard deviation (see Wikipedia)

Non Linear

QQQ. Possible values are:

  • Missing If All Missing: QQQ
  • Missing If Any Missing: QQQ
  • Missing If Heaviest Missing: QQQ
  • Simulated Missing Value: QQQ
  • Heaviest: QQQ
  • No: QQQ

Simulated Missing Value

Only available if Non Linear is Simulated Missing Value. QQQ (description)

Simulated Missing Value Epsilon

Only available if Non Linear is Simulated Missing Value. QQQ (description)

Land-sea mask parameters

Distance Weighting With LSM

Only available if Interpolation  is Nearest LSM. Possible values are On and Off.

LSM Weight Adjustment

Only available if Distance Weighting With Lsm is not Off. QQQ.

LSM

LSM Selection Input/Output

Specifies whether the input/output LSM file will come from LSM Named Input/Output (named, default) or LSM File Input/Output (file).

LSM Named Input/Output

Select one of the predefined names from the following list:

  • 1km (default)1km
  • 10min
  • O1280
  • O640
  • O320
  • N320
  • N256
  • N128

LSM File Output

Provide the path to an LSM GRIB file.

LSM Value Threshold Output

  • N128

LSM File Input/Output

Provide the path to an input/output LSM GRIB file.

LSM Interpolation Input/Output

If input/output is not the same geometry (grid) as provided input/output LSM (respectivelly), interpolate with this method to a temporary LSM with required geometry.

LSM Value Threshold Input/Output

For GRIB-based LSM (this excludes '1km' and '10min'), the threshold for condition (value ≥ threshold) to distinguish land (true) from sea (false)QQQ.

Output GRIB parameters

...

Accuracy

Provide the desired number of bits per value for the output fieldsSpecifies the output GRIB bitsPerValue. If left empty, this will take the value from the input fields. This option can also be used to simply change the number of bits per value in a Fieldset if no other processing options are given. Note that if Packing  is set to ieee, then the only valid values for this parameter are 32 and 64.

Packing

Specifies the GRIB packing method for the output valuesoutput GRIB packingType. Possible values are (depending on build-time configuration):

  • archived_value
  • complex
  • jpeg
  • second_order
  • simple
  • ieee
  • As Input

Edition

Specifies the output GRIB edition (or format). Note that format conversion is not supported.

edition of GRIB format for the output files. Possible values are:

  • 1
  • 2
  • As Input

...