36 '''Module containing the MetaRefElementMetadata class which captures
37 the values for the LFRic kernel meta_ref_element metadata.
41 CommonDeclarationMetadata
43 MetaRefElementArgMetadata
47 '''Class to capture the values of the LFRic kernel
48 meta_ref_element metadata. This class supports the creation,
49 modification and Fortran output of this metadata.
51 meta_ref_element metadata specifies properties of the reference
54 :param meta_ref_element_args: a list of meta_ref_element arguments.
55 :type meta_ref_element_args: List[:py:class:`psyclone.domain.lfric.kernel.\
56 MetaRefElementArgMetadata`]
59 def __init__(self, meta_ref_element_args):
65 :returns: the meta_ref_element metadata as Fortran.
69 "REFERENCE_ELEMENT_DATA_TYPE",
"META_REFERENCE_ELEMENT",
74 '''Create an instance of MetaRefElementMetadata from an fparser2
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`
82 :returns: an instance of MetaRefElementMetadata.
83 :rtype: :py:class:`psyclone.domain.lfric.kernel.\
84 MetaRefElementMetadata`
87 values_list = MetaRefElementMetadata.\
89 fparser2_tree,
"REFERENCE_ELEMENT_DATA_TYPE",
90 "META_REFERENCE_ELEMENT")
92 for value
in values_list:
94 MetaRefElementArgMetadata.create_from_fortran_string(value))
98 def meta_ref_element_args(self):
100 :returns: a list of meta reference element argument objects.
101 :rtype: List[:py:class:`psyclone.domain.lfric.kernel.\
102 MetaRefElementArgMetadata`]
106 @meta_ref_element_args.setter
107 def meta_ref_element_args(self, values):
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`]
115 self.
validate_listvalidate_list(values, MetaRefElementArgMetadata)
121 __all__ = [
"MetaRefElementMetadata"]
def type_declaration_string(datatype, name, values)
def validate_list(cls, values, expected_type)
def get_derived_array_declaration(fparser2_tree, type_name, name, valid_values=None)
def meta_ref_element_args(self)
def meta_ref_element_args(self, values)
def create_from_fparser2(fparser2_tree)