# cfdm.core.FieldAncillary¶

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

Bases: cfdm.core.abstract.propertiesdata.PropertiesData

A field ancillary construct of the CF data model.

The field ancillary construct provides metadata which are distributed over the same sampling domain as the field itself. For example, if a data variable holds a variable retrieved from a satellite instrument, a related ancillary data variable might provide the uncertainty estimates for those retrievals (varying over the same spatiotemporal domain).

The field ancillary construct consists of an array of the ancillary data, which is zero-dimensional or which depends on one or more of the domain axes, and properties to describe the data. It is assumed that the data do not depend on axes of the domain which are not spanned by the array, along which the values are implicitly propagated. CF-netCDF ancillary data variables correspond to field ancillary constructs. Note that a field ancillary construct is constrained by the domain definition of the parent field construct but does not contribute to the domain’s definition, unlike, for instance, an auxiliary coordinate construct or domain ancillary construct.

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={'standard_name': 'altitude'}

data: data_like, optional

Set the data.

A data_like object is any object that can be converted to a Data object, i.e. numpy array_like objects, Data objects, and cfdm.core instances that contain Data objects.

The data also may be set after initialisation with the set_data method.

source: optional

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

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

## 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. del_properties Remove properties. set_properties Set properties.

## Data¶

Methods

 del_data Remove the data. get_data Return the data. has_data Whether or not the construct has data. set_data Set the data.

Attributes

 data Return the data.

## Miscellaneous¶

Methods

 copy Return a deep copy. has_bounds Whether or not there are cell bounds.

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