improver.cli.extract module

Script to extract a subset of input file data, given constraints.

process(cube, *, constraints, units=None, ignore_failure=False)[source]

Extract a subset of a single cube.

Extracts subset of data from a single cube, subject to equality-based constraints. Using a set of constraints, extract a sub-cube from the provided cube if it is available.

Parameters:
  • cube (iris.cube.Cube) – The Cube from which a sub-cube is extracted

  • constraints (list) – The constraint(s) to be applied. These must be of the form “key=value”, eg “threshold=1”. Multiple constraints can be provided by repeating this keyword before each. Scalars, boolean and string values are supported. Lists of values can be provided e.g. key=[value1, value2, value3]. Alternatively, ranges can also be specified e.g. key=[value1:value3]. When a range is specified, this is inclusive of the endpoints of the range. A range can also be specified with a step value, e.g. [value1:value2:step].

  • units (list) – List of units as strings corresponding to each coordinate in the list of constraints. One or more “units” may be None and units may only be associated with coordinate constraints. The list should be entered as a comma separated list without spaces, e.g. mm/hr,K.

  • ignore_failure (bool) – Option to ignore constraint match failure and return the input cube.

Returns:

A single cube matching the input constraints or None. If no sub-cube is found within the cube that matches the constraints.

Return type:

iris.cube.Cube