Reference Guide  2.5.0
psyclone.domain.lfric.kernel.meta_ref_element_metadata.MetaRefElementMetadata Class Reference
Inheritance diagram for psyclone.domain.lfric.kernel.meta_ref_element_metadata.MetaRefElementMetadata:
Collaboration diagram for psyclone.domain.lfric.kernel.meta_ref_element_metadata.MetaRefElementMetadata:

Public Member Functions

def __init__ (self, meta_ref_element_args)
 
def fortran_string (self)
 
def meta_ref_element_args (self)
 
def meta_ref_element_args (self, values)
 

Static Public Member Functions

def create_from_fparser2 (fparser2_tree)
 

Public Attributes

 meta_ref_element_args
 

Additional Inherited Members

Detailed Description

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

meta_ref_element metadata specifies properties of the reference
element.

:param meta_ref_element_args: a list of meta_ref_element arguments.
:type meta_ref_element_args: List[:py:class:`psyclone.domain.lfric.kernel.\
    MetaRefElementArgMetadata`]

Definition at line 46 of file meta_ref_element_metadata.py.

Member Function Documentation

◆ create_from_fparser2()

def psyclone.domain.lfric.kernel.meta_ref_element_metadata.MetaRefElementMetadata.create_from_fparser2 (   fparser2_tree)
static
Create an instance of MetaRefElementMetadata from an fparser2
tree.

:param fparser2_tree: fparser2 tree capturing the meta \
    reference element metadata.
:type fparser2_tree: :py:class:`fparser.two.Fortran2003.\
    Data_Component_Def_Stmt`

:returns: an instance of MetaRefElementMetadata.
:rtype: :py:class:`psyclone.domain.lfric.kernel.\
    MetaRefElementMetadata`

Reimplemented from psyclone.domain.lfric.kernel.common_metadata.CommonMetadata.

Definition at line 73 of file meta_ref_element_metadata.py.

73  def create_from_fparser2(fparser2_tree):
74  '''Create an instance of MetaRefElementMetadata from an fparser2
75  tree.
76 
77  :param fparser2_tree: fparser2 tree capturing the meta \
78  reference element metadata.
79  :type fparser2_tree: :py:class:`fparser.two.Fortran2003.\
80  Data_Component_Def_Stmt`
81 
82  :returns: an instance of MetaRefElementMetadata.
83  :rtype: :py:class:`psyclone.domain.lfric.kernel.\
84  MetaRefElementMetadata`
85 
86  '''
87  values_list = MetaRefElementMetadata.\
88  get_derived_array_declaration(
89  fparser2_tree, "REFERENCE_ELEMENT_DATA_TYPE",
90  "META_REFERENCE_ELEMENT")
91  meta_obj_list = []
92  for value in values_list:
93  meta_obj_list.append(
94  MetaRefElementArgMetadata.create_from_fortran_string(value))
95  return MetaRefElementMetadata(meta_obj_list)
96 

References psyclone.domain.lfric.kernel.common_declaration_metadata.CommonDeclarationMetadata.get_derived_array_declaration().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fortran_string()

def psyclone.domain.lfric.kernel.meta_ref_element_metadata.MetaRefElementMetadata.fortran_string (   self)
:returns: the meta_ref_element metadata as Fortran.
:rtype: str

Definition at line 63 of file meta_ref_element_metadata.py.

63  def fortran_string(self):
64  '''
65  :returns: the meta_ref_element metadata as Fortran.
66  :rtype: str
67  '''
68  return self.type_declaration_string(
69  "REFERENCE_ELEMENT_DATA_TYPE", "META_REFERENCE_ELEMENT",
70  self._meta_ref_element_args)
71 

References psyclone.domain.lfric.kernel.meta_ref_element_metadata.MetaRefElementMetadata._meta_ref_element_args, and psyclone.domain.lfric.kernel.common_declaration_metadata.CommonDeclarationMetadata.type_declaration_string().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ meta_ref_element_args() [1/2]

def psyclone.domain.lfric.kernel.meta_ref_element_metadata.MetaRefElementMetadata.meta_ref_element_args (   self)
:returns: a list of meta reference element argument objects.
:rtype: List[:py:class:`psyclone.domain.lfric.kernel.\
    MetaRefElementArgMetadata`]

Definition at line 98 of file meta_ref_element_metadata.py.

98  def meta_ref_element_args(self):
99  '''
100  :returns: a list of meta reference element argument objects.
101  :rtype: List[:py:class:`psyclone.domain.lfric.kernel.\
102  MetaRefElementArgMetadata`]
103  '''
104  return self._meta_ref_element_args[:]
105 

References psyclone.domain.lfric.kernel.meta_ref_element_metadata.MetaRefElementMetadata._meta_ref_element_args.

◆ meta_ref_element_args() [2/2]

def psyclone.domain.lfric.kernel.meta_ref_element_metadata.MetaRefElementMetadata.meta_ref_element_args (   self,
  values 
)
:param values: set the meta_ref_element metadata to the \
    supplied list of values.
:type values: List[:py:class:`psyclone.domain.lfric.kernel.\
    MetaRefElementArgMetadata`]

Definition at line 107 of file meta_ref_element_metadata.py.

107  def meta_ref_element_args(self, values):
108  '''
109  :param values: set the meta_ref_element metadata to the \
110  supplied list of values.
111  :type values: List[:py:class:`psyclone.domain.lfric.kernel.\
112  MetaRefElementArgMetadata`]
113 
114  '''
115  self.validate_list(values, MetaRefElementArgMetadata)
116  # Take a copy of the list so that it can't be modified
117  # externally.
118  self._meta_ref_element_args = values[:]
119 
120 

References psyclone.domain.lfric.kernel.meta_ref_element_metadata.MetaRefElementMetadata._meta_ref_element_args, and psyclone.domain.lfric.kernel.common_declaration_metadata.CommonDeclarationMetadata.validate_list().

Here is the call graph for this function:

The documentation for this class was generated from the following file: