# cfdm.Datum¶

class cfdm.Datum(parameters=None, source=None, copy=True)[source]

Bases: cfdm.mixin.parameters.Parameters, cfdm.mixin.netcdf.NetCDFVariable, cfdm.mixin.files.Files, cfdm.core.datum.Datum

A datum component of a CF data model coordinate reference.

A datum is a complete or partial definition of the zeroes of the dimension and auxiliary coordinate constructs which define a coordinate system.

The datum may contain the definition of a geophysical surface which corresponds to the zero of a vertical coordinate construct, and this may be required for both horizontal and vertical coordinate systems.

Elements of the datum not specified may be implied by the properties of the dimension and auxiliary coordinate constructs referenced by the CoordinateReference instance that contains the datum.

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
parameters: dict, optional

Set parameters. The dictionary keys are parameter names, with corresponding values.

Parameters may also be set after initialisation with the set_parameters and set_parameter methods.

Parameter example:

parameters={'earth_radius': 6371007.}

source: optional

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

All other parameters, apart from copy, are ignored and their values are instead inferred from source by assuming that it has the Datum 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 Datum instance then cfdm.Datum(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.

## Parameter terms¶

Methods

 del_parameter Delete a parameter. get_parameter Get a parameter value. has_parameter Whether a parameter has been set. set_parameter Set a parameter-valued term. parameters Return all parameters. set_parameters Set parameters. clear_parameters Remove all parameters.

## Miscellaneous¶

Methods

 copy Return a deep copy. equals Whether two instances are the same. get_original_filenames The names of files containing the original data and metadata.

## 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

 __bool__ Called by the bool built-in function. __deepcopy__ Called by the copy.deepcopy function. cfdm.Datum.__nonzero__ __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.