psyclone.domain.lfric.kernel.shapes_metadata

Module containing the ShapesMetadata class which captures the values for the LFRic kernel GH_SHAPE metadata.

Classes

  • ShapesMetadata: Class to capture the values of the LFRic kernel GH_SHAPE metadata.

class psyclone.domain.lfric.kernel.shapes_metadata.ShapesMetadata(shapes)

Class to capture the values of the LFRic kernel GH_SHAPE metadata. This class supports the creation, modification and Fortran output of this metadata.

If an LFRic kernel requires basis or differential-basis functions then the metadata must also specify the set of points on which these functions are required. This information is provided by the GH_SHAPE component of the metadata.

Parameters:

shapes (List[str]) – a list of shape values

Inheritance

Inheritance diagram of ShapesMetadata
static create_from_fparser2(fparser2_tree)

Create an instance of ShapesMetadata from an fparser2 tree.

LFRic shape metadata can have a scalar and array form. Two versions of the array form are supported:

integer :: gh_shape = gh_quadrature_face
integer :: gh_shape(2) = (/ gh_quadrature_face, gh_evaluator /)
integer, dimension(2) :: gh_shape = &
         (/ gh_quadrature_face, gh_evaluator /)
Parameters:

fparser2_tree (fparser.two.Fortran2003.            Data_Component_Def_Stmt) – fparser2 tree capturing the shapes metadata

Returns:

an instance of ShapesMetadata.

Return type:

psyclone.domain.lfric.kernel.ShapesMetadata

fortran_string()
Returns:

the shapes metadata as Fortran.

Return type:

str

property shapes
Returns:

a list of shape values

Return type:

List[str]