cf.Grid

class cf.Grid(*args, **kwargs)

Bases: cf.space.CfDict

A CF grid object defining a space’s dimensionality, coordinates, cell measures and transformations in a dictionary-like object.

Parameters:
  • *args

    Keys and values are initialized exactly as for a built-in dict.

  • **kwargs

    Keys and values are initialized exactly as for a built-in dict.

Overloaded operators

The in (set membership) operator is overloaded to use numerically tolerant equality.

Attribute (type) Description
dimension_sizes (dict) See the ‘Grid dimensionality’ section.
dimensions (dict) See the ‘Grid dimensionality’ section.
nc_dimensions (dict) Optional. The netCDF dimension name for each dimension in the dimension_sizes attribute. If present when the grid is written to a netCDF file, then used for output netCDF dimension names.
transform (dict) Optional. A cf dictionary of Transform objects referred to by grid coordinates with a transform attribute. See the ‘Transforms’ section for more details.
_atol (NoneType or float) Optional. Absolute tolerance for numeric equality. Unset is equivalent to None, which implies a default value. Refer to cf.
_rtol (NoneType or float) Optional. Relative tolerance for numeric equality. Unset is equivalent to None, which implies a default value. Refer to cf.
Method Description
clear() As for a built-in dict.
coord() Return a coordinate identified by its name.
copy() Create a deep copy.
equals() Determine whether two instances are congruent with each other.
get() As for a built-in dict.
get_keys() Return grid keys which match a` pattern.
has_key() As for a built-in dict but using numerically tolerant equality.
items() As for a built-in dict.
iteritems() As for a built-in dict.
iterkeys() As for a built-in dict.
itervalues() As for a built-in dict.
keys() As for a built-in dict.
pop() As for a built-in dict.
popitem() As for a built-in dict.
properties() Return a set of writable, public attributes.
setdefault() As for a built-in dict.
update() As for a built-in dict.
values() As for a built-in dict.
coord(name, role=None, key=False, exact=False)

Find a coordinate of the grid by name.

The given name argument is an abbreviation for (or equal to if the exact parameter is True) its standard_name attribute. If the key parameter is True then return the coordinate’s grid key name. If a coordinate does not have standard_name attribute, then its ncvar attribute is used.

Note that the returned coordinate is an object identity to the coordinate stored in the grid so, for example, a coordinate’s attributes may be changed in-place as follows:

>>> g.coord('height').long_name
AttributeError: 'Coordinate' object has no attribute 'long_name'
>>> g.coord('hei').long_name = 'HEIGHT'
>>> g.coord('heigh').long_name
'HEIGHT'

Or a deep copy may be made with the coordinate’s copy() method:

>>> h = g.coord('height').copy()
Parameters:
  • name (str) – The string to identify a coordinate by name.
  • exact (bool) – Optional. If True then assume that the value of the name argument is equal to exactly one coordinate’s name.
  • key (str) – Optional. Return the grid key name instead of the coordinate.
  • role (str or None) – Optional. Restrict the search to coordinates of the given role. Valid values are ‘dim’ and ‘aux’, for dimension and auxiliary coordinate types respectively. If None then both types of coordinates will be searched.
Returns:

If a coordinate has been identified, return either a Coordinate instance or, if the keys parameter is True, a grid key name string. otherwise, return None.

Examples

>>> g.coord('lon')
<CF Coordinate: longitude(128)>
>>> g.coord('lon', key=True)
'dim2'
>>> g.coord('lonX', key=True)
None
>>> g.coord('lon', exact=True)
None
>>> g.coord('longitude', exact=True)
<CF Coordinate: longitude(128)>
dump(id=None, nc=False, omit=())

Return a string containing a full description of the grid.

Parameters:
  • idOptional. Set the common prefix of variable component names. If None then defaults to the class name.
  • id – str
  • nc (bool) – Optional. If True then include attributes whose names begin “nc”.
  • omit (sequence) – Optional. Omit the given attributes the description.
Returns:

A string containing the description of the grid.

See also

cf.dump()

equals(other, rtol=None, atol=None, override=True)

Return True if two instances are congruent in that, for each group of grid component types (dimension coordinate, auxiliary coordinate, cell measures, etc.) there are an equal number of keys and each key’s value equals a value in the other grid. Note that within a group of component types, the key names need not be the same.

Equality of numbers is to within a tolerance. Refer to cf for details.

Parameters:
  • other (object) – The variable to compare against for equality.
  • atol (None or float) – Optional. If None then use the default method for setting the absolute tolerance for equality of real numbers (refer to cf for details). If a float then set the absolute tolerance to this value for all comparisons (refer to the override parameter).
  • override (bool) – Optional. If False then only use a float value of the rtol or atol parameters if it can not be set from attributes of the objects being compared.
  • rtol (None or float) – Optional. If None then use the default method for setting the relative tolerance for equality of real numbers (refer to cf for details). If a float then set the relative tolerance to this value for all comparisons (refer to the override parameter).
Returns:

True if the two objects are congruent, False otherwise.

get_keys(regex)

Return a list of the cf dictionary’s key names which, at their beginning, match the given regular expression.

Parameters:regex (str) – The regular expression with which to identify key names. A leading ‘^’ special character is assumed if not given.
Returns:A list of keys names.

Examples

>>> d.keys()
['dim2', 'dim0', 'dim1', 'aux0', 'cm0']
>>> d.get_keys('dim')
['dim2', 'dim0', 'dim1']
>>> d.get_keys('aux|dim')
['dim2', 'dim0', 'dim1', 'aux0']
>>> d.get_keys('dim[12]')
['dim2', 'dim1']
has_key(key)
Returns:True if the key exists, using numerically tolerant equality.
properties(nc=False)

Return a set of writable, public attribute names, excluding methods.

An attribute created by assigning directly to the __dict__ dictionary (as opposed to using setattr()) will not appear in this set.

Parameters:nc (bool) – If False then exclude attributes whose names begin “nc”.
Returns:A set of attribute names.

Previous topic

cf.CoordinateBounds

Next topic

cf.Space

This Page