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 attribute. Sets the flag_values attribute.

flag_meanings : optional

The flag_meanings CF attribute. Sets the flag_meanings attribute.

flag_masks : optional

The flag_masks CF attribute. Sets the flag_masks attribute.

copy()

Return a deep copy.

Examples

>>> f.copy()
equals(other)

Return True if the flags are equal to another group of flags.

Both instances are sorted in place prior to the comparison.

Parameters :
other : Flags

The other Flags object for comparison.

Returns :
out : bool

True if the two instances are equal, False otherwise.

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']>
sort()

Sort by flag values in place.

If flag values are not present then sort by flag meanings. If flag meanings are not present then sort by flag 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 any sequence or scalar.

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 sequence or scalar.

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 sequence or scalar.

Examples

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

The flag_meanings CF attribute.

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

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

Previous topic

cf.Data

Next topic

cf.Space

This Page