cfdm.CellConnectivity


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

Bases: cfdm.mixin.netcdf.NetCDFVariable, cfdm.mixin.topology.Topology, cfdm.mixin.propertiesdata.PropertiesData, cfdm.mixin.files.Files, cfdm.core.cellconnectivity.CellConnectivity

A cell connectivity construct of the CF data model.

A cell connectivity construct defines explicitly how cells arranged in two or three dimensions in real space but indexed by a single domain (discrete) axis are connected. Connectivity can only be provided when the domain axis construct also has a domain topology construct, and two cells can only be connected if they also have a topological relationship. For instance, the connectivity of two-dimensional face cells could be characterised by whether or not they have shared edges, where the edges are defined by connected nodes of the domain topology construct.

The cell connectivity construct consists of an array recording the connectivity, and properties to describe the data. There must be a property indicating the condition by which the connectivity is derived from the domain topology. The array spans the domain axis construct with the addition of a ragged dimension. For each cell, the first element along the ragged dimension contains the unique identity of the cell, and the following elements contain in arbitrary order the identities of all the other cells to which the cell is connected. Note that the connectivity array for point cells is, by definition, equivalent to the array of the domain topology construct.

When cell connectivity constructs are present they are considered to define the connectivity of the cells. Exactly the same connectivity information could be derived from the domain topology construct. Connectivity information inferred from inspection of any other constructs is not guaranteed to be the same.

In CF-netCDF a cell topology construct can only be provided by a UGRID mesh topology variable. The construct array is supplied either indirectly by any of the UGRID variables that are used to define a domain topology construct, or directly by the UGRID “face_face_connectivity” variable (for face cells). In the direct case, the integer indices contained in the UGRID variable may be used as the cell identities, although the CF data model attaches no significance to the values other than the fact that some values are the same as others.

Restricting the types of connectivity to those implied by the geospatial topology of the cells precludes connectivity derived from any other sources, but is consistent with UGRID encoding within CF-netCDF.

See CF Appendix I “The CF Data Model”.

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

Initialisation

Parameters
connectivity: str, optional

The connectivity type describes a characteristic of inter-cell connectivity defined by the domain topology construct. It may take any value, but the following values are standardised: 'node'``(edge or face cells connected by one or more shared nodes) and ``'edge' (face cells connected by one or more shared edges).

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': 'face-face connectivity'}

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 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 CellConnectivity instance.

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

Topology

Methods

del_connectivity

Remove the connectivity.

get_connectivity

Return the connectivity type.

has_connectivity

Whether the connectivity type has been set.

set_connectivity

Set the connectivity type.

normalise

Normalise the data values.

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.

persist

Persist data into memory.

squeeze

Remove size one axes from the data array.

transpose

Permute the axes of the data array.

Attributes

array

A numpy array deep copy of the data.

data

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.

Bounds

Methods

has_bounds

Whether or not there are cell bounds.

Miscellaneous

Methods

copy

Return a deep copy.

concatenate

Join a together sequence of CellConnectivity.

creation_commands

Returns the commands to create the construct.

equals

Whether two instances are the same.

uncompress

Uncompress the construct.

get_filenames

Return the name of the file or 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.

Aggregation

Methods

file_directories

The directories of files containing parts of the data.

replace_directory

Replace a file directory in-place.

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.

HDF5 chunks

Methods

nc_hdf5_chunksizes

Get the HDF5 chunking strategy for the data.

nc_set_hdf5_chunksizes

Set the HDF5 chunking strategy.

nc_clear_hdf5_chunksizes

Clear the HDF5 chunking strategy for the data.

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.