cf.Constructs.filter_by_method

Constructs.filter_by_method(*methods)[source]

Select cell method constructs by method.

New in version 1.7.0.

Parameters:
methods: optional

Select cell method constructs that have any of the given methods.

A method is specified by a string (e.g. 'mean'); or a compiled regular expression (e.g. re.compile('^m')), for which all constructs whose methods match (via re.search) are selected.

If no methods are provided then all cell method constructs are selected.

Returns:
Constructs

The selected cell method constructs and their construct keys.

Examples:

>>> print(c.constructs.filter_by_type('cell_method'))
Constructs:
{'cellmethod0': <CellMethod: domainaxis1: domainaxis2: mean where land (interval: 0.1 degrees)>,
 'cellmethod1': <CellMethod: domainaxis3: maximum>}

Select cell method constructs that have a method of ‘mean’:

>>> print(c.filter_by_method('mean'))
Constructs:
{'cellmethod0': <CellMethod: domainaxis1: domainaxis2: mean where land (interval: 0.1 degrees)>}

Select cell method constructs that have a method of ‘mean’ or ‘maximum’:

>>> print(c.filter_by_method('mean', 'maximum'))
Constructs:
{'cellmethod0': <CellMethod: domainaxis1: domainaxis2: mean where land (interval: 0.1 degrees)>,
 'cellmethod1': <CellMethod: domainaxis3: maximum>}

Select cell method constructs that have a method that contain the letter ‘x’:

>>> import re
>>> print(c.filter_by_method(re.compile('x')))
Constructs:
{'cellmethod1': <CellMethod: domainaxis3: maximum>}

Select cell method constructs that have a method of any value:

>>> print(c.filter_by_method())
Constructs:
{'cellmethod0': <CellMethod: domainaxis1: domainaxis2: mean where land (interval: 0.1 degrees)>,
 'cellmethod1': <CellMethod: domainaxis3: maximum>}