esmf_regrid.experimental.unstructured_regrid module

Provides ESMF representations of UGRID meshes.

class esmf_regrid.experimental.unstructured_regrid.MeshInfo(node_coords, face_node_connectivity, node_start_index, elem_start_index=0, areas=None)[source]

Bases: esmf_regrid._esmf_sdo.SDO

Class for handling unstructured meshes.

This class holds information about Meshes in a form similar to UGRID. It contains methods for translating this information into ESMF objects. In particular, there are methods for representing as an ESMF.api.mesh.Mesh and as an ESMF.api.field.Field containing that Mesh. This ESMF Field is designed to contain enough information for area weighted regridding and may be inappropriate for other ESMF regridding schemes.

Create a MeshInfo object describing a UGRID-like mesh.

Parameters
  • node_coords (ArrayLike) – An Nx2 array describing the location of the nodes of the mesh. node_coords[:,0] describes the longitudes in degrees and node_coords[:,1] describes the latitudes in degrees

  • face_node_connectivity (ArrayLike) – A masked array describing the face node connectivity of the mesh. The unmasked points of face_node_connectivity[i] describe which nodes are connected to the i’th face.

  • node_start_index (int) – A value which, appearing in the face_node_connectivity array, indicates the first node in the node_coords array. UGRID supports both 0 based and 1 based indexing, so both must be accounted for here: https://ugrid-conventions.github.io/ugrid-conventions/#zero-or-one

  • elem_start_index (int, default=0) – Describes what index should be considered by ESMF to be the start index for describing its elements. This makes no difference to the regridding calculation and will only affect the intermediate ESMF objects, should the user need access to them.

  • areas (ArrayLike, optional) – Array describing the areas associated with each face. If None, then ESMF will use its own calculated areas.