cfdm.core.CoordinateReference


class cfdm.core.CoordinateReference(coordinates=None, datum=None, coordinate_conversion=None, source=None, copy=True)[source]

Bases: cfdm.core.abstract.container.Container

A coordinate reference construct of the CF data model.

A coordinate reference construct relates the coordinate values of the coordinate system to locations in a planetary reference frame.

The domain of a field construct may contain various coordinate systems, each of which is constructed from a subset of the dimension and auxiliary coordinate constructs. For example, the domain of a four-dimensional field construct may contain horizontal (y-x), vertical (z), and temporal (t) coordinate systems. There may be more than one of each of these, if there is more than one coordinate construct applying to a particular spatiotemporal dimension (for example, there could be both latitude-longitude and y-x projection coordinate systems). In general, a coordinate system may be constructed implicitly from any subset of the coordinate constructs, yet a coordinate construct does not need to be explicitly or exclusively associated with any coordinate system.

A coordinate system of the field construct can be explicitly defined by a coordinate reference construct which relates the coordinate values of the coordinate system to locations in a planetary reference frame and consists of the following:

  • References to the dimension coordinate and auxiliary coordinate constructs that define the coordinate system to which the coordinate reference construct applies. Note that the coordinate values are not relevant to the coordinate reference construct, only their properties.

  • A definition of a datum specifying the zeroes of the dimension and auxiliary coordinate constructs which define the coordinate system. The datum may be implied by the metadata of the referenced dimension and auxiliary coordinate constructs, or explicitly provided.

  • A coordinate conversion, which defines a formula for converting coordinate values taken from the dimension or auxiliary coordinate constructs to a different coordinate system. A coordinate reference construct relates the coordinate values of the field to locations in a planetary reference frame.

New in version (cfdm): 1.7.0

Initialisation

Parameters
coordinates: sequence of str, optional

Identify the related dimension and auxiliary coordinate constructs by their construct identifiers.

The coordinates may also be set after initialisation with the set_coordinates and set_coordinate methods.

Parameter example:

coordinates=['dimensioncoordinate2']

Parameter example:

coordinates=('dimensioncoordinate0', 'dimensioncoordinate1')

datum: Datum, optional

Set the datum component of the coordinate reference construct.

The datum may also be set after initialisation with the set_datum method.

coordinate_conversion: CoordinateConversion, optional

Set the coordinate conversion component of the coordinate reference construct.

The coordinate conversion may also be set after initialisation with the set_coordinate_conversion method.

source: optional

Convert source, which can be any type of object, to a CoordinateReference instance.

All other parameters, apart from copy, are ignored and their values are instead inferred from source by assuming that it has the CoordinateReference API. Any parameters that can not be retrieved from source in this way are assumed to have their default value.

Note that if x is also a CoordinateReference instance then cfdm.core.CoordinateReference(source=x) is equivalent to x.copy().

copy: bool, optional

If True (the default) then deep copy the input parameters prior to initialisation. By default the parameters are not deep copied.

Inspection

Attributes

construct_type

Return a description of the construct type.

Coordinates

Methods

del_coordinate

Remove a reference to a coordinate construct.

has_coordinate

Whether a reference to a coordinate construct has been set.

set_coordinate

Set a reference to a coordinate construct.

coordinates

Return all references to coordinate constructs.

clear_coordinates

Remove all references to coordinate constructs.

set_coordinates

Set references to coordinate constructs.

Datum

Methods

del_datum

Remove the datum component.

get_datum

Return the datum component.

set_datum

Set the datum component.

Attributes

datum

Return the datum component.

Coordinate conversion

Methods

del_coordinate_conversion

Remove the coordinate conversion component.

get_coordinate_conversion

Get the coordinate conversion component.

set_coordinate_conversion

Set the coordinate conversion component.

Attributes

coordinate_conversion

Return the coordinate conversion component.

Miscellaneous

Methods

copy

Return a deep copy.

Special

Methods

__deepcopy__

Called by the copy.deepcopy function.

Docstring substitutions

Methods

_docstring_special_substitutions

Return the special docstring substitutions.

_docstring_substitutions

Returns the substitutions that apply to methods of the class.

_docstring_package_depth

Returns the class {{package}} substitutions package depth.

_docstring_method_exclusions

Returns method names excluded in the class substitutions.