cf.Flags

class cf.Flags(**kwargs)

Bases: object

Self-describing CF flag values.

Stores the flag_values, flag_meanings and flag_masks CF attributes in an internally consistent manner.

Initialization

Parameters :
flag_values : optional

The flag_values CF property. Sets the flag_values attribute.

flag_meanings : optional

The flag_meanings CF property. Sets the flag_meanings attribute.

flag_masks : optional

The flag_masks CF property. Sets the flag_masks attribute.

copy()

Return a deep copy.

Equivalent to copy.deepcopy(f)

Returns :
out :

The deep copy.

Examples

>>> f.copy()
dump(id=None)

Return a string containing a full description of the instance.

Parameters :
id : str, optional

Set the common prefix of component names. By default the instance’s class name is used.

Returns :
out : str

A string containing the description.

Examples

>>> x = f.dump()
>>> print f.dump()
>>> print f.dump(id='flags1')
equals(other, rtol=None, atol=None, traceback=False)

True if two groups of flags are logically equal, False otherwise.

Note that both instances are sorted in place prior to the comparison.

Parameters :
other :

The object to compare for equality.

atol : float, optional

The absolute tolerance for all numerical comparisons, By default the value returned by the ATOL function is used.

rtol : float, optional

The relative tolerance for all numerical comparisons, By default the value returned by the RTOL function is used.

traceback : bool, optional

If True then print a traceback highlighting where the two instances differ.

Returns :
out : bool

Whether or not the two instances are equal.

Examples

>>> f
<CF Flags: flag_values=[1 0 2], flag_masks=[2 0 2], flag_meanings=['medium' 'low' 'high']>
>>> g
<CF Flags: flag_values=[2 0 1], flag_masks=[2 0 2], flag_meanings=['high' 'low' 'medium']>
>>> f.equals(g) 
True
>>> f
<CF Flags: flag_values=[0 1 2], flag_masks=[0 2 2], flag_meanings=['low' 'medium' 'high']>
>>> g
<CF Flags: flag_values=[0 1 2], flag_masks=[0 2 2], flag_meanings=['low' 'medium' 'high']>
hash()

Return a hash value for the flags.

Note that the flags will be sorted in place.

Returns :
out : int

The hash value.

Examples

>>> f.hash()
-956218661958673979
sort()

Sort the flags in place.

By default sort by flag values. If flag values are not present then sort by flag meanings. If flag meanings are not present then sort by flag_masks.

Returns :None

Examples

>>> f
<CF Flags: flag_values=[2 0 1], flag_masks=[2 0 2], flag_meanings=['high' 'low' 'medium']>
>>> f.sort()
>>> f
<CF Flags: flag_values=[0 1 2], flag_masks=[0 2 2], flag_meanings=['low' 'medium' 'high']>
flag_masks

The flag_masks CF attribute.

Stored as a 1-d numpy array but may be set as array-like object.

Examples

>>> f.flag_masks = numpy.array([1, 2, 4], dtype='int8')
>>> f.flag_masks
array([1, 2, 4], dtype=int8)
>>> f.flag_masks = 1
>>> f.flag_masks
array([1])
flag_meanings

The flag_meanings CF attribute.

Stored as a 1-d numpy string array but may be set as a space delimited string or any array-like object.

Examples

>>> f.flag_meanings = 'low medium      high'
>>> f.flag_meanings
array(['low', 'medium', 'high'],
      dtype='|S6')
>>> f.flag_meanings = ['left', 'right']
>>> f.flag_meanings
array(['left', 'right'],
      dtype='|S5')
>>> f.flag_meanings = 'ok'
>>> f.flag_meanings
array(['ok'],
      dtype='|S2')
>>> f.flag_meanings = numpy.array(['a', 'b'])
>>> f.flag_meanings
array(['a', 'b'],
      dtype='|S1')
flag_values

The flag_values CF attribute.

Stored as a 1-d numpy array but may be set as any array-like object.

Examples

>>> f.flag_values = ['a', 'b', 'c']
>>> f.flag_values
array(['a', 'b', 'c'], dtype='|S1')
>>> f.flag_values = numpy.arange(4, dtype='int8')
>>> f.flag_values
array([1, 2, 3, 4], dtype=int8)
>>> f.flag_values = 1
>>> f.flag_values
array([1])

Previous topic

cf.Data

Next topic

cf.Space

This Page