cfdm.core.DomainTopology¶
-
class
cfdm.core.
DomainTopology
(cell=None, properties=None, data=None, source=None, copy=True, _use_data=True)[source]¶ Bases:
cfdm.core.abstract.topology.Topology
A domain topology construct of the CF data model.
A domain topology construct defines the geospatial topology of cells arranged in two or three dimensions in real space but indexed by a single (discrete) domain axis construct, and at most one domain topology construct may be associated with any such domain axis. The topology describes topological relationships between the cells - spatial relationships which do not depend on the cell locations - and is represented by an undirected graph, i.e. a mesh in which pairs of nodes are connected by links. Each node has a unique arbitrary identity that is independent of its spatial location, and different nodes may be spatially co-located.
The topology may only describe cells that have a common spatial dimensionality, one of:
Point: A point is zero-dimensional and has no boundary vertices.
- Edge: An edge is one-dimensional and corresponds to a line
connecting two boundary vertices.
- Face: A face is two-dimensional and corresponds to a surface
enclosed by a set of edges.
Each type of cell implies a restricted topology for which only some kinds of mesh are allowed. For point cells, every node corresponds to exactly one cell; and two cells have a topological relationship if and only if their nodes are connected by a mesh link. For edge and face cells, every node corresponds to a boundary vertex of a cell; the same node can represent vertices in multiple cells; every link in the mesh connects two cell boundary vertices; and two cells have a topological relationship if and only if they share at least one node.
A domain topology construct contains an array defining the mesh, and properties to describe it. There must be a property indicating the spatial dimensionality of the cells. The array values comprise the node identities, and all array elements that refer to the same node must contain the same value, which must differ from any other value in the array. The array spans the domain axis construct and also has a ragged dimension, whose function depends on the spatial dimensionality of the cells.
For each point cell, the first element along the ragged dimension contains the node identity of the cell, and the following elements contain in arbitrary order the identities of all the cells to which it is connected by a mesh link.
For each edge or face cell, the elements along the ragged dimension contain the node identities of the boundary vertices of the cell, in the same order that the boundary vertices are stored by the auxiliary coordinate constructs. Each boundary vertex except the last is connected by a mesh link to the next vertex along the ragged dimension, and the last vertex is connected to the first.
When a domain topology construct is present it is considered to be definitive and must be used in preference to the topology implied by inspection of any other constructs, which is not guaranteed to be the same.
See CF Appendix I “The CF Data Model”.
New in version (cfdm): 1.11.0.0
Initialisation
- Parameters
- cell:
str
, optional The cell type that indicates the spatial dimensionality of the cells, one of
'point'
(a 0-d point with no boundary vertices),'edge'
(a 1-d line connecting two boundary vertices), or'face'
(a 2-d surface enclosed by a set of 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
andset_property
methods.- Parameter example:
properties={'long_name': 'face to node mapping'}
- 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 containData
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
DomainTopology
instance.All other parameters, apart from copy, are ignored and their values are instead inferred from source by assuming that it has the
DomainTopology
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 aDomainTopology
instance thencfdm.core.DomainTopology(source=x)
is equivalent tox.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.
- cell:
Inspection¶
Methods
|
|
|
|
|
Attributes
Return a description of the construct type. |
Properties¶
Methods
Remove a property. |
|
Return a property. |
|
Whether a property has been set. |
|
Set a property. |
|
Return all properties. |
|
Remove all properties. |
|
Remove properties. |
|
Set properties. |
Topology¶
Methods
Remove the cell type. |
|
Return the cell type. |
|
Whether the cell type has been set. |
|
Set the cell type. |
Data¶
Methods
Remove the data. |
|
Return the data. |
|
Whether or not the construct has data. |
|
Set the data. |
Attributes
The data. |
|
Data-type of the data elements. |
|
The number of data dimensions. |
|
A tuple of the data array’s dimension sizes. |
|
The number elements in the data. |
Bounds¶
Methods
Whether or not there are cell bounds. |
Miscellaneous¶
Methods
Return a deep copy. |
Special¶
Methods
Called by the |
|
Return repr(self). |
|
Return str(self). |
Docstring substitutions¶
Methods
Return the special docstring substitutions. |
|
Returns the substitutions that apply to methods of the class. |
|
Returns the class {{package}} substitutions package depth. |
|
Returns method names excluded in the class substitutions. |