cfdm.Field


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

Bases: cfdm.mixin.netcdf.NetCDFVariable, cfdm.mixin.netcdf.NetCDFGeometry, cfdm.mixin.netcdf.NetCDFGlobalAttributes, cfdm.mixin.netcdf.NetCDFGroupAttributes, cfdm.mixin.netcdf.NetCDFComponents, cfdm.mixin.netcdf.NetCDFUnreferenced, cfdm.mixin.fielddomain.FieldDomain, cfdm.mixin.propertiesdata.PropertiesData, cfdm.mixin.files.Files, cfdm.core.field.Field

A field construct of the CF data model.

The field construct is central to the CF data model, and includes all the other constructs. A field corresponds to a CF-netCDF data variable with all of its metadata. All CF-netCDF elements are mapped to a field construct or some element of the CF field construct. The field construct contains all the data and metadata which can be extracted from the file using the CF conventions.

The field construct consists of a data array and the definition of its domain (that describes the locations of each cell of the data array), field ancillary constructs containing metadata defined over the same domain, and cell method constructs to describe how the cell values represent the variation of the physical quantity within the cells of the domain. The domain 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.

The field construct also has optional properties to describe aspects of the data that are independent of the domain. These correspond to some netCDF attributes of variables (e.g. units, long_name and standard_name), and some netCDF global file attributes (e.g. history and institution).

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.

The selection of properties to be written as netCDF global attributes may be accessed with the nc_global_attributes, nc_clear_global_attributes, and nc_set_global_attribute methods.

The netCDF group attributes may be accessed with the nc_group_attributes, nc_clear_group_attributes, nc_set_group_attribute, and nc_set_group_attributes methods.

The netCDF geometry variable name and group structure may be accessed with the nc_set_geometry_variable, nc_get_geometry_variable, nc_geometry_variable_groups, nc_clear_variable_groups, and nc_set_geometry_variable_groups methods.

Some components exist within multiple constructs, but when written to a netCDF dataset the netCDF names associated with such components will be arbitrarily taken from one of them. The netCDF variable, dimension and sample dimension names and group structures for such components may be set or removed consistently across all such components with the nc_del_component_variable, nc_set_component_variable, nc_set_component_variable_groups, nc_clear_component_variable_groups, nc_del_component_dimension, nc_set_component_dimension, nc_set_component_dimension_groups, nc_clear_component_dimension_groups, nc_del_component_sample_dimension, nc_set_component_sample_dimension, nc_set_component_sample_dimension_groups, nc_clear_component_sample_dimension_groups methods.

CF-compliance issues for field constructs read from a netCDF dataset may be accessed with the dataset_compliance method.

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': 'air_temperature'}

source: optional

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

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

Methods

dump

A full description of the field 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.

del_properties

Remove 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 of the field 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 the construct data.

has_data_axes

Whether the axes spanned by the construct data have been set.

set_data_axes

Sets the axes spanned by the construct data.

insert_dimension

Expand the shape of the data array.

squeeze

Remove size one axes from the data.

transpose

Permute the axes of the data array.

Attributes

array

A numpy array deep copy of the data.

data

Return the data.

datetime_array

An independent numpy array of date-time objects.

dtype

Data-type of the data elements.

ndim

The number of data dimensions.

shape

A tuple of the data array’s dimension sizes.

size

The number elements in the data.

Metadata constructs

Methods

construct

Return a metadata construct.

construct_key

Return the identifier of a metadata construct.

construct_item

Return a metadata construct and its identifier.

del_construct

Remove a metadata construct.

get_construct

Return a metadata construct.

has_construct

Whether a unique metadata construct exists.

set_construct

Set a metadata construct.

domain_axis_key

Returns the domain axis key spanned by 1-d coordinates.

auxiliary_coordinate

Select an auxiliary coordinate construct.

auxiliary_coordinates

Return auxiliary coordinate constructs.

cell_connectivity

Select a cell connectivity construct.

cell_connectivities

Select cell connectivity constructs.

cell_measure

Select a cell measure construct.

cell_measures

Return cell measure constructs.

cell_method

Select a cell method construct.

cell_methods

Return cell method constructs.

coordinate

Select a dimension or auxiliary coordinate construct.

coordinates

Return dimension and auxiliary coordinate constructs.

coordinate_reference

Return a coordinate reference construct, or its key.

coordinate_references

Return coordinate reference constructs.

dimension_coordinate

Select a dimension coordinate construct.

dimension_coordinates

Return dimension coordinate constructs.

domain_ancillary

Select a domain ancillary construct.

domain_ancillaries

Return domain ancillary constructs.

domain_axis

Select a domain axis construct.

domain_axes

Return domain axis constructs.

domain_topology

Select a domain topology construct.

domain_topologies

Return domain topology constructs.

field_ancillary

Select a field ancillary construct.

field_ancillaries

Return field ancillary constructs.

climatological_time_axes

Return all axes which are climatological time axes.

Attributes

constructs

Return the metadata constructs.

Domain

Methods

get_domain

Return the domain.

Attributes

domain

Return the domain.

Miscellaneous

Methods

compress

Compress the field construct.

copy

Return a deep copy.

creation_commands

Return the commands that would create the field construct.

equals

Whether two constructs are the same.

convert

Convert a metadata construct into a new field construct.

has_bounds

Whether or not there are cell bounds.

has_geometry

Return whether or not any coordinates have cell geometries.

indices

Create indices that define a subspace of the field construct.

uncompress

Uncompress the field construct.

get_filenames

Return the names of the files containing the data.

get_original_filenames

The names of files containing the original data and metadata.

to_memory

Bring data on disk into memory.

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.

nc_global_attributes

Returns properties to write as netCDF global attributes.

nc_clear_global_attributes

Removes properties to write as netCDF global attributes.

nc_set_global_attribute

Select a property to be written as a netCDF global attribute.

nc_set_global_attributes

Set properties to be written as netCDF global attributes.

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.

nc_group_attributes

Returns properties to write as netCDF group attributes.

nc_clear_group_attributes

Removes properties to write as netCDF group attributes.

nc_set_group_attribute

Select a property to be written as a netCDF group attribute.

nc_set_group_attributes

Set properties to be written as netCDF group attributes.

Geometries

Methods

nc_del_geometry_variable

Remove the netCDF geometry container variable name.

nc_get_geometry_variable

Return the netCDF geometry container variable name.

nc_has_geometry_variable

Whether a netCDF geometry container variable has a name.

nc_set_geometry_variable

Set the netCDF geometry container variable name.

nc_geometry_variable_groups

Return the netCDF geometry variable group hierarchy.

nc_set_geometry_variable_groups

Set the netCDF geometry variable group hierarchy.

nc_clear_geometry_variable_groups

Remove the netCDF geometry variable group hierarchy.

Components

Methods

nc_del_component_variable

Remove the netCDF variable name of components.

nc_set_component_variable

Set the netCDF variable name for components.

nc_set_component_variable_groups

Set the netCDF variable groups of components.

nc_clear_component_variable_groups

Remove the netCDF variable groups of components.

nc_del_component_dimension

Remove the netCDF dimension name of components.

nc_set_component_dimension

Set the netCDF dimension name of components.

nc_set_component_dimension_groups

Set the netCDF dimension groups of components.

nc_clear_component_dimension_groups

Remove the netCDF dimension groups of components.

nc_del_component_sample_dimension

Remove the netCDF sample dimension name of components.

nc_set_component_sample_dimension

Set the netCDF sample dimension name of components.

nc_set_component_sample_dimension_groups

Set the netCDF sample dimension groups of components.

nc_clear_component_sample_dimension_groups

Remove the netCDF sample dimension groups of components.

Dataset compliance

Methods

dataset_compliance

Return the dataset compliance report.

Special

Methods

__deepcopy__

Called by the copy.deepcopy function.

__getitem__

Return a subspace of the field 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.