# cfdm.FieldAncillary¶

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

Bases: cfdm.mixin.netcdf.NetCDFVariable, cfdm.mixin.propertiesdata.PropertiesData, cfdm.core.fieldancillary.FieldAncillary

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.

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

Set descriptive properties. The dictionary keys are property names, with corresponding values. Ignored if the source parameter is set.

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

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 instances that contain Data objects.

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

source: optional

Initialise the properties and data from those of source.

Note that if source is a FieldAncillary instance then cfdm.FieldAncillary(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 field ancillary construct. identity Return the canonical identity. identities Return all possible identities.

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

## Data¶

Methods

 apply_masking Apply masking as defined by the CF conventions. del_data Remove the data. get_data Return the data. has_data Whether or not the construct has data. set_data Set the data. insert_dimension Expand the shape of the data array. squeeze Remove size one axes from the data array. transpose Permute the axes of the data array.

Attributes

 data Return the data. dtype Data-type of the data elements. ndim The number of dimensions in the data array. shape A tuple of the data array’s dimension sizes. size The number of elements in the data array.

## Miscellaneous¶

Methods

 copy Return a deep copy. creation_commands Return the commands that would create the construct. equals Whether two instances are the same. has_bounds Whether or not there are cell bounds. uncompress Uncompress the construct. get_filenames Return the name of the file or files containing the data.

## 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_clear_variable_groups Remove the netCDF variable group hierarchy. nc_set_variable_groups Set the netCDF variable group hierarchy.

## Special¶

Methods

 __deepcopy__ Called by the copy.deepcopy function. __getitem__ Return a subspace defined by indices. __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.