Reference Guide  2.5.0
psyclone.domain.lfric.kernel.meta_funcs_metadata.MetaFuncsMetadata Class Reference
Inheritance diagram for psyclone.domain.lfric.kernel.meta_funcs_metadata.MetaFuncsMetadata:
Collaboration diagram for psyclone.domain.lfric.kernel.meta_funcs_metadata.MetaFuncsMetadata:

Public Member Functions

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

Static Public Member Functions

def create_from_fparser2 (fparser2_tree)
 

Public Attributes

 meta_funcs_args
 

Additional Inherited Members

Detailed Description

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

meta_funcs metadata specifies whether any quadrature or evaluator
data is required for a given function space.

:param meta_funcs_args: a list of meta_funcs arguments.
:type meta_funcs_args: List[:py:class:`psyclone.domain.lfric.kernel.\
    MetaFuncsArgMetadata`]

Definition at line 46 of file meta_funcs_metadata.py.

Member Function Documentation

◆ create_from_fparser2()

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

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

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

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

Definition at line 72 of file meta_funcs_metadata.py.

72  def create_from_fparser2(fparser2_tree):
73  '''Create an instance of MetaFuncsMetadata from an fparser2
74  tree.
75 
76  :param fparser2_tree: fparser2 tree capturing the meta \
77  funcs metadata.
78  :type fparser2_tree: :py:class:`fparser.two.Fortran2003.\
79  Data_Component_Def_Stmt`
80 
81  :returns: an instance of MetaFuncsMetadata.
82  :rtype: :py:class:`psyclone.domain.lfric.kernel.\
83  MetaFuncsMetadata`
84 
85  '''
86  values_list = MetaFuncsMetadata.get_derived_array_declaration(
87  fparser2_tree, "FUNC_TYPE", "META_FUNCS")
88  meta_obj_list = []
89  for value in values_list:
90  meta_obj_list.append(
91  MetaFuncsArgMetadata.create_from_fortran_string(value))
92  return MetaFuncsMetadata(meta_obj_list)
93 
Here is the caller graph for this function:

◆ fortran_string()

def psyclone.domain.lfric.kernel.meta_funcs_metadata.MetaFuncsMetadata.fortran_string (   self)
:returns: the meta_funcs metadata as Fortran.
:rtype: str

Definition at line 63 of file meta_funcs_metadata.py.

63  def fortran_string(self):
64  '''
65  :returns: the meta_funcs metadata as Fortran.
66  :rtype: str
67  '''
68  return self.type_declaration_string(
69  "FUNC_TYPE", "META_FUNCS", self._meta_funcs_args)
70 

References psyclone.domain.lfric.kernel.meta_funcs_metadata.MetaFuncsMetadata._meta_funcs_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_funcs_args() [1/2]

def psyclone.domain.lfric.kernel.meta_funcs_metadata.MetaFuncsMetadata.meta_funcs_args (   self)
:returns: a list of meta funcs argument objects.
:rtype: List[:py:class:`psyclone.domain.lfric.kernel.\
    MetaFuncsArgMetadata`]

Definition at line 95 of file meta_funcs_metadata.py.

95  def meta_funcs_args(self):
96  '''
97  :returns: a list of meta funcs argument objects.
98  :rtype: List[:py:class:`psyclone.domain.lfric.kernel.\
99  MetaFuncsArgMetadata`]
100  '''
101  return self._meta_funcs_args[:]
102 

References psyclone.domain.lfric.kernel.meta_funcs_metadata.MetaFuncsMetadata._meta_funcs_args.

◆ meta_funcs_args() [2/2]

def psyclone.domain.lfric.kernel.meta_funcs_metadata.MetaFuncsMetadata.meta_funcs_args (   self,
  values 
)
:param values: set the meta_funcs metadata to the \
    supplied list of values.
:type values: List[:py:class:`psyclone.domain.lfric.kernel.\
    MetaFuncsArgMetadata`]

Definition at line 104 of file meta_funcs_metadata.py.

104  def meta_funcs_args(self, values):
105  '''
106  :param values: set the meta_funcs metadata to the \
107  supplied list of values.
108  :type values: List[:py:class:`psyclone.domain.lfric.kernel.\
109  MetaFuncsArgMetadata`]
110 
111  '''
112  self.validate_list(values, MetaFuncsArgMetadata)
113  # Take a copy of the list so that it can't be modified
114  # externally.
115  self._meta_funcs_args = values[:]
116 
117 

References psyclone.domain.lfric.kernel.meta_funcs_metadata.MetaFuncsMetadata._meta_funcs_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: