cfdm.CoordinateReference¶

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

Bases: cfdm.mixin.netcdf.NetCDFVariable, cfdm.mixin.container.Container, cfdm.core.coordinatereference.CoordinateReference

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.

NetCDF interface

The netCDF variable name may be accessed with the nc_set_variable, nc_get_variable, nc_del_variable and nc_has_variable methods.

The netCDF variable group structure may be accessed with the nc_set_variable, nc_get_variable, nc_variable_groups, nc_clear_variable_groups and nc_set_variable_groups methods.

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. Ignored if the source parameter is set.

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. Ignored if the source parameter is set.

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. Ignored if the source parameter is set.

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

source: optional

Initialise the coordinates, datum and coordinate conversion from those of source.

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

copy: bool, optional

If False then do not deep copy input parameters prior to initialisation. By default arguments are deep copied.

Inspection¶

Methods

 dump A full description of the coordinate reference construct. identity Return the canonical identity. identities Returns all possible identities.

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. creation_commands Returns the commands to create the coordinate reference. equals Whether two coordinate reference constructs are the same.

NetCDF¶

Methods

 nc_del_variable Remove the netCDF variable name. nc_get_variable Return the netCDF variable name. nc_has_variable Whether the netCDF variable name has been set. nc_set_variable Set the netCDF variable name.

Groups¶

Methods

 nc_variable_groups Return the netCDF variable group hierarchy. nc_set_variable_groups Set the netCDF variable group hierarchy. nc_clear_variable_groups Remove the netCDF variable group hierarchy.

Special¶

Methods

 __deepcopy__ Called by the copy.deepcopy function. __repr__ Called by the repr built-in function. __str__ Called by the str built-in 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.