# cfdm.core.Domain¶

class cfdm.core.Domain(properties=None, source=None, copy=True, _use_data=True)[source]

Bases: cfdm.core.mixin.fielddomain.FieldDomain, cfdm.core.abstract.properties.Properties

A domain construct of the CF data model.

The domain represents a set of discrete “locations” in what generally would be a multi-dimensional space, either in the real world or in a model’s simulated world. The data array elements of a field construct correspond to individual location of a domain.

The domain construct is defined collectively by the following constructs of the CF data model: domain axis, dimension coordinate, auxiliary coordinate, cell measure, coordinate reference, and domain ancillary constructs; as well as properties to describe the domain.

New in version (cfdm): 1.7.0

Initialisation

Parameters
properties: dict, optional

Set descriptive properties. The dictionary keys are property names, with corresponding values.

Properties may also be set after initialisation with the set_properties and set_property methods.

Parameter example:

properties={'long_name': 'Domain for model'}

source: optional

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

All other parameters, apart from copy, are ignored and their values are instead inferred from source by assuming that it has the Domain 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 Domain instance then cfdm.core.Domain(source=x) is equivalent to x.copy().

A new domain may also be instantiated with the fromconstructs class method.

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.

## Metadata constructs¶

Methods

 del_construct Remove a metadata construct. get_construct Return a metadata construct. has_construct Whether a metadata construct exists. set_construct Set a metadata construct. del_data_axes Removes the keys of the axes spanned by the construct data. get_data_axes Gets the keys of the axes spanned by a construct’s data. has_data_axes Whether the axes spanned by the construct data have been set. set_data_axes Sets domain axis constructs spanned by the construct data.

Attributes

 constructs Return the metadata constructs.

## Properties¶

Methods

 del_property Remove a property. get_property Return a property. has_property Whether a property has been set. set_property Set a property. properties Return all properties. clear_properties Remove all properties. set_properties Set properties.

## Miscellaneous¶

Methods

 copy Return a deep copy. fromconstructs Return a new domain containing the given metadata constructs. has_bounds Whether or not there are cell bounds. has_data Whether or not the construct has data.

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