finam.data.Grid#

class finam.data.Grid[source]#

Bases: GridBase

Abstract grid specification.

Attributes:
axes_attributes

list of dict: Axes attributes following the CF convention (xyz order).

axes_names

list of str: Axes names (xyz order).

cell_centers

np.ndarray: Grid cell centers.

cell_count

int: Number of grid cells.

cell_node_counts

np.ndarray: Node count for each cell.

cell_types

np.ndarray: Cell types.

cells

np.ndarray: Cell nodes as 2D array.

cells_connectivity

np.ndarray: Cells connectivity in ESMF format (list of node IDs).

cells_definition

np.ndarray: Cell definition in VTK format (list of number of nodes with node IDs).

cells_offset

np.ndarray: The location of the start of each cell in cells_connectivity.

crs

The coordinate reference system.

data_axes_names

list of str: Axes names of the data.

data_location

Location of the associated data (either CELLS or POINTS).

data_points

Points of the associated data (either cell_centers or points).

data_shape

tuple: Shape of the associated data.

data_size

int: Size of the associated data.

dim

int: Dimension of the grid or data.

mesh_dim

int: Maximal cell dimension.

name

Grid name.

order

str: Data order (C-like or F-like to flatten data).

point_count

int: Number of grid points.

points

np.ndarray: Grid points.

Methods

compatible_with(other[, check_location])

Check for compatibility with other Grid.

copy([deep])

Copy of this grid.

export_vtk(path[, data, cell_data, ...])

Export grid and data to a VTK file.

from_canonical(data)

Convert canonical data to grid specific form.

get_transform_to(other)

Transformation between compatible grids.

to_canonical(data)

Convert grid specific data to canonical form.

valid_locations = (Location.CELLS, Location.POINTS)#

Valid locations for the grid.

Type:

tuple

abstract property crs#

The coordinate reference system.

abstract property point_count#

Number of grid points.

Type:

int

abstract property cell_count#

Number of grid cells.

Type:

int

abstract property points#

Grid points.

Type:

np.ndarray

abstract property cells#

Cell nodes as 2D array.

Type:

np.ndarray

abstract property cell_types#

Cell types.

Type:

np.ndarray

property cells_connectivity#

Cells connectivity in ESMF format (list of node IDs).

Type:

np.ndarray

property cells_definition#

Cell definition in VTK format (list of number of nodes with node IDs).

Type:

np.ndarray

property cells_offset#

The location of the start of each cell in cells_connectivity.

Type:

np.ndarray

property cell_centers#

Grid cell centers.

Type:

np.ndarray

property cell_node_counts#

Node count for each cell.

Type:

np.ndarray

property mesh_dim#

Maximal cell dimension.

Type:

int

abstract property data_location#

Location of the associated data (either CELLS or POINTS).

property data_points#

Points of the associated data (either cell_centers or points).

abstract property data_shape#

Shape of the associated data.

Type:

tuple

property data_size#

Size of the associated data.

Type:

int

abstract property order#

Data order (C-like or F-like to flatten data).

Type:

str

abstract property axes_names#

Axes names (xyz order).

Type:

list of str

abstract property axes_attributes#

Axes attributes following the CF convention (xyz order).

Type:

list of dict

property data_axes_names#

Axes names of the data.

Type:

list of str

compatible_with(other, check_location=True)[source]#

Check for compatibility with other Grid.

Parameters:
  • other (instance of Grid) – Other grid to compatibility with.

  • check_location (bool, optional) – Whether to check location for equality, by default True

Returns:

compatibility

Return type:

bool

export_vtk(path, data=None, cell_data=None, point_data=None, field_data=None, mesh_type='unstructured')[source]#

Export grid and data to a VTK file.

Parameters:
  • path (pathlike) – File path. Suffix will be replaced according to mesh type (.vtu)

  • data (dict or None, optional) – Data in the corresponding shape given by name, by default None

  • cell_data (dict or None, optional) – Additional cell data, by default None

  • point_data (dict or None, optional) – Additional point data, by default None

  • field_data (dict or None, optional) – Additional field data, by default None

  • mesh_type (str, optional) – Mesh type, by default “unstructured”

Raises:

ValueError – If mesh type is not supported.

copy(deep=False)#

Copy of this grid.

Parameters:

deep (bool, optional) – If false, only a shallow copy is returned to save memory, by default False

Returns:

The grid copy.

Return type:

Grid

abstract property dim#

Dimension of the grid or data.

Type:

int

from_canonical(data)#

Convert canonical data to grid specific form.

get_transform_to(other)#

Transformation between compatible grids.

property name#

Grid name.

to_canonical(data)#

Convert grid specific data to canonical form.