cf.DomainAncillary.identity

DomainAncillary.identity(default='', strict=False, relaxed=False, nc_only=False, relaxed_identity=None)[source]

Return the canonical identity.

By default the identity is the first found of the following:

  • The “standard_name” property.
  • The “id” attribute, preceeded by 'id%'.
  • The “cf_role” property, preceeded by 'cf_role='.
  • The “axis” property, preceeded by 'axis='.
  • The “long_name” property, preceeded by 'long_name='.
  • The netCDF variable name, preceeded by 'ncvar%'.
  • The coordinate type ('X', 'Y', 'Z' or 'T').
  • The value of the default parameter.

If no identity can be found on the construct then the identity is taken from the bounds, if present (with the exception of the bounds netCDF variable name).

See also

id, identities

Parameters:
default: optional

If no identity can be found then return the value of the default parameter.

strict: bool, optional

If True then only take the identity from the “standard_name” property or the “id” attribute, in that order.

relaxed: bool, optional

If True then only take the identity from the “standard_name” property, the “id” attribute, the “long_name” property or netCDF variable name, in that order.

nc_only: bool, optional

If True then only take the identity from the netCDF variable name.

Returns:

The identity.

Examples:

>>> f.properties()
{'foo': 'bar',
 'long_name': 'Air Temperature',
 'standard_name': 'air_temperature'}
>>> f.nc_get_variable()
'tas'
>>> f.identity()
'air_temperature'
>>> f.del_property('standard_name')
'air_temperature'
>>> f.identity(default='no identity')
'air_temperature'
>>> f.identity()
'long_name=Air Temperature'
>>> f.del_property('long_name')
>>> f.identity()
'ncvar%tas'
>>> f.nc_del_variable()
'tas'
>>> f.identity()
'ncvar%tas'
>>> f.identity()
''
>>> f.identity(default='no identity')
'no identity'
>>> f.properties()
{}
>>> f.bounds.properties()
{'axis': 'Z',
 'units': 'm'}
>>> f.identity()
'axis=Z'