Reference Guide
2.5.0
|
Public Member Functions | |
def | __init__ (self, operates_on=None, shapes=None, evaluator_targets=None, meta_args=None, meta_funcs=None, meta_ref_element=None, meta_mesh=None, procedure_name=None, name=None) |
def | validate (self) |
def | lower_to_psyir (self) |
def | fortran_string (self) |
def | kernel_type (self) |
def | operates_on (self) |
def | operates_on (self, value) |
def | shapes (self) |
def | shapes (self, values) |
def | evaluator_targets (self) |
def | evaluator_targets (self, values) |
def | meta_args (self) |
def | meta_args (self, values) |
def | meta_funcs (self) |
def | meta_funcs (self, values) |
def | meta_ref_element (self) |
def | meta_ref_element (self, values) |
def | meta_mesh (self) |
def | meta_mesh (self, values) |
def | procedure_name (self) |
def | procedure_name (self, value) |
def | name (self) |
def | name (self, value) |
def | meta_args_get (self, types) |
def | field_meta_args_on_fs (self, arg_types, function_space) |
def | operator_meta_args_on_fs (self, arg_types, function_space) |
Public Member Functions inherited from psyclone.domain.lfric.kernel.common_metadata.CommonMetadata | |
def | create_from_fortran_string (cls, fortran_string) |
Static Public Member Functions | |
def | create_from_psyir (symbol) |
def | create_from_fparser2 (fparser2_tree) |
Static Public Member Functions inherited from psyclone.domain.lfric.kernel.common_metadata.CommonMetadata | |
def | check_fparser2 (fparser2_tree, encoding) |
def | validate_scalar_value (value, valid_values, name) |
def | create_fparser2 (fortran_string, encoding) |
Public Attributes | |
procedure_name | |
name | |
operates_on | |
Static Public Attributes | |
fparser2_class = Fortran2003.Derived_Type_Def | |
Static Public Attributes inherited from psyclone.domain.lfric.kernel.common_metadata.CommonMetadata | |
fparser2_class = None | |
Contains LFRic kernel metadata. This class supports kernel metadata creation, modification, loading from a fortran string, writing to a fortran string, raising from existing language-level PSyIR and lowering to language-level PSyIR. :param operates_on: the name of the quantity that this kernel is \ intended to iterate over. :type operates_on: Optional[str] :param shapes: if a 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. :type shapes: Optional[List[str]] :param evaluator_targets: the function spaces on which an \ evaluator is required. :type evaluator_targets: Optional[List[str]] :param meta_args: a list of 'meta_arg' objects which capture the \ metadata values of the kernel arguments. :type meta_args: Optional[List[:py:class:`psyclone.domain.lfric.kernel.\ CommonArgMetadata`]] :param meta_funcs: a list of 'meta_func' objects which capture whether \ quadrature or evaluator data is required for a given function space. :type meta_funcs: Optional[List[:py:class:`psyclone.domain.lfric.kernel.\ MetaFuncsArgMetadata`]] :param meta_ref_element: a kernel that requires properties \ of the reference element in LFRic specifies those properties \ through the meta_reference_element metadata entry. :type meta_ref_element: Optional[:py:class:`psyclone.domain.lfric.kernel.\ RefElementArgMetadata`] :param meta_mesh: a kernel that requires properties of the LFRic \ mesh object specifies those properties through the meta_mesh \ metadata entry. :type meta_mesh: Optional[:py:class:`psyclone.domain.lfric.kernel.\ MetaMeshArgMetadata`] :param procedure_name: the name of the kernel procedure to call. :type procedure_name: Optional[str] :param name: the name of the symbol to use for the metadata in \ language-level PSyIR. :type name: Optional[str]
Definition at line 84 of file lfric_kernel_metadata.py.
|
static |
Create an instance of this class from an fparser2 tree. :param fparser2_tree: fparser2 tree containing the metadata \ for an LFRic Kernel. :type fparser2_tree: \ :py:class:`fparser.two.Fortran2003.Derived_Type_Ref` :returns: an instance of LFRicKernelMetadata. :rtype: :py:class:`psyclone.domain.lfric.kernel.psyir.\ LFRicKernelMetadata` :raises ParseError: if one of the meta_args entries is an \ unexpected type. :raises ParseError: if the metadata type does not extend kernel_type.
Reimplemented from psyclone.domain.lfric.kernel.common_metadata.CommonMetadata.
Definition at line 713 of file lfric_kernel_metadata.py.
|
static |
Create a new instance of LFRicKernelMetadata populated with metadata from a kernel in language-level PSyIR. :param symbol: the symbol in which the metadata is stored \ in language-level PSyIR. :type symbol: :py:class:`psyclone.psyir.symbols.DataTypeSymbol` :returns: an instance of LFRicKernelMetadata. :rtype: :py:class:`psyclone.domain.lfric.kernel.psyir.\ LFRicKernelMetadata` :raises TypeError: if the symbol argument is not the expected \ type. :raises InternalError: if the datatype of the provided symbol \ is not the expected type.
Definition at line 676 of file lfric_kernel_metadata.py.
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.evaluator_targets | ( | self | ) |
:returns: a list of evaluator_targets metadata values. :rtype: Optional[List[str]]
Definition at line 952 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.evaluator_targets_metadata.EvaluatorTargetsMetadata._evaluator_targets, and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._evaluator_targets.
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.evaluator_targets | ( | self, | |
values | |||
) |
:param values: set the evaluator_targets metadata to the \ supplied list of values. :type values: List[str]
Definition at line 963 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.evaluator_targets_metadata.EvaluatorTargetsMetadata._evaluator_targets, psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._evaluator_targets, and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.evaluator_targets().
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.field_meta_args_on_fs | ( | self, | |
arg_types, | |||
function_space | |||
) |
Utility function to return any field (plus field vector, intergrid or intergrid vector) meta_args in metadata that have the same type as those specified in arg_types and are on the function space specified in function_space. :param arg_types: meta_arg classes indicating which meta_arg \ arguments to check. :type arg_types: \ :py:class:`psyclone.domain.lfric.kernel.CommonMetaArgMetadata` or \ List[ \ :py:class:`psyclone.domain.lfric.kernel.CommonMetaArgMetadata`] :param str function_space: the specified function space. :returns: a list of meta_args. :type arg_types: List[ \ :py:class:`psyclone.domain.lfric.kernel.CommonMetaArgMetadata`]
Definition at line 1151 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_args_get().
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.fortran_string | ( | self | ) |
:returns: the metadata represented by this instance as Fortran. :rtype: str :raises ValueError: if the values for name, meta_arg, \ operates_on and procedure_name have not been set.
Definition at line 841 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.evaluator_targets_metadata.EvaluatorTargetsMetadata._evaluator_targets, psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._evaluator_targets, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._meta_args, psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._meta_args, psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._meta_funcs, psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._meta_mesh, psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._meta_ref_element, psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._shapes, psyclone.domain.lfric.kernel.shapes_metadata.ShapesMetadata._shapes, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.name, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.GridArg.name, psyclone.domain.gocean.transformations.gocean_const_loop_bounds_trans.GOConstLoopBoundsTrans.name(), psyclone.domain.gocean.transformations.gocean_move_iteration_boundaries_inside_kernel_trans.GOMoveIterationBoundariesInsideKernelTrans.name(), psyclone.domain.gocean.transformations.gocean_opencl_trans.GOOpenCLTrans.name(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.name, psyclone.domain.nemo.transformations.create_nemo_invoke_schedule_trans.CreateNemoInvokeScheduleTrans.name(), psyclone.domain.nemo.transformations.create_nemo_psy_trans.CreateNemoPSyTrans.name(), psyclone.domain.nemo.transformations.nemo_allarrayrange2loop_trans.NemoAllArrayRange2LoopTrans.name(), psyclone.domain.nemo.transformations.nemo_arrayrange2loop_trans.NemoArrayRange2LoopTrans.name(), psyclone.domain.nemo.transformations.nemo_outerarrayrange2loop_trans.NemoOuterArrayRange2LoopTrans.name(), psyclone.dynamo0p3.DynamoPSy.name(), psyclone.expression.FunctionVar.name, psyclone.expression.NamedArg.name(), psyclone.gocean1p0.GOKernelGridArgument.name(), psyclone.gocean1p0.GOStencil.name(), psyclone.parse.algorithm.FileInfo.name(), psyclone.parse.algorithm.InvokeCall.name(), psyclone.parse.kernel.KernelProcedure.name(), psyclone.parse.kernel.KernelType.name(), psyclone.parse.module_info.ModuleInfo.name(), psyclone.psyad.transformations.assignment_trans.AssignmentTrans.name(), psyclone.psyGen.PSy.name(), psyclone.psyGen.Invoke.name(), psyclone.psyGen.Kern.name(), psyclone.psyGen.CodedKern.name, psyclone.psyGen.Argument.name(), psyclone.psyGen.Transformation.name(), psyclone.psyGen.DummyTransformation.name(), psyclone.psyir.nodes.container.Container.name, psyclone.psyir.nodes.member.Member.name, psyclone.psyir.nodes.reference.Reference.name(), psyclone.psyir.nodes.routine.Routine.name, psyclone.psyir.symbols.symbol.Symbol.name(), psyclone.psyir.transformations.allarrayaccess2loop_trans.AllArrayAccess2LoopTrans.name(), psyclone.psyir.transformations.arrayrange2loop_trans.ArrayRange2LoopTrans.name(), psyclone.psyir.transformations.fold_conditional_return_expressions_trans.FoldConditionalReturnExpressionsTrans.name(), psyclone.psyir.transformations.loop_trans.LoopTrans.name(), psyclone.psyir.transformations.omp_task_trans.OMPTaskTrans.name(), psyclone.psyir.transformations.psy_data_trans.PSyDataTrans.name(), psyclone.transformations.OMPSingleTrans.name(), psyclone.transformations.OMPMasterTrans.name(), psyclone.transformations.OMPParallelTrans.name(), psyclone.transformations.MoveTrans.name(), psyclone.transformations.Dynamo0p3AsyncHaloExchangeTrans.name(), psyclone.transformations.Dynamo0p3KernelConstTrans.name(), psyclone.transformations.ACCEnterDataTrans.name(), psyclone.transformations.ACCRoutineTrans.name(), psyclone.transformations.ACCKernelsTrans.name(), psyclone.transformations.ACCDataTrans.name(), psyclone.transformations.KernelImportsToArguments.name(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.operates_on, psyclone.domain.lfric.kernel.operates_on_metadata.OperatesOnMetadata.operates_on, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.procedure_name, and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.procedure_name.
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.kernel_type | ( | self | ) |
:returns: the type of kernel that this is. :rtype: str
Definition at line 903 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._get_kernel_type().
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.lower_to_psyir | ( | self | ) |
Lower the metadata to language-level PSyIR. :returns: metadata as stored in language-level PSyIR. :rtype: :py:class:`psyclone.psyir.symbols.DataTypeSymbol`
Definition at line 784 of file lfric_kernel_metadata.py.
References psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.fortran_string(), psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.GridArg.fortran_string(), psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.FieldArg.fortran_string(), psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.ScalarArg.fortran_string(), psyclone.domain.lfric.kernel.evaluator_targets_metadata.EvaluatorTargetsMetadata.fortran_string(), psyclone.domain.lfric.kernel.field_arg_metadata.FieldArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.field_vector_arg_metadata.FieldVectorArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.inter_grid_arg_metadata.InterGridArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.inter_grid_vector_arg_metadata.InterGridVectorArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.fortran_string(), psyclone.domain.lfric.kernel.meta_args_metadata.MetaArgsMetadata.fortran_string(), psyclone.domain.lfric.kernel.meta_funcs_arg_metadata.MetaFuncsArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.meta_funcs_metadata.MetaFuncsMetadata.fortran_string(), psyclone.domain.lfric.kernel.meta_mesh_arg_metadata.MetaMeshArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.meta_mesh_metadata.MetaMeshMetadata.fortran_string(), psyclone.domain.lfric.kernel.meta_ref_element_arg_metadata.MetaRefElementArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.meta_ref_element_metadata.MetaRefElementMetadata.fortran_string(), psyclone.domain.lfric.kernel.operates_on_metadata.OperatesOnMetadata.fortran_string(), psyclone.domain.lfric.kernel.operator_arg_metadata.OperatorArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.scalar_arg_metadata.ScalarArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.shapes_metadata.ShapesMetadata.fortran_string(), psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.name, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.GridArg.name, psyclone.domain.gocean.transformations.gocean_const_loop_bounds_trans.GOConstLoopBoundsTrans.name(), psyclone.domain.gocean.transformations.gocean_move_iteration_boundaries_inside_kernel_trans.GOMoveIterationBoundariesInsideKernelTrans.name(), psyclone.domain.gocean.transformations.gocean_opencl_trans.GOOpenCLTrans.name(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.name, psyclone.domain.nemo.transformations.create_nemo_invoke_schedule_trans.CreateNemoInvokeScheduleTrans.name(), psyclone.domain.nemo.transformations.create_nemo_psy_trans.CreateNemoPSyTrans.name(), psyclone.domain.nemo.transformations.nemo_allarrayrange2loop_trans.NemoAllArrayRange2LoopTrans.name(), psyclone.domain.nemo.transformations.nemo_arrayrange2loop_trans.NemoArrayRange2LoopTrans.name(), psyclone.domain.nemo.transformations.nemo_outerarrayrange2loop_trans.NemoOuterArrayRange2LoopTrans.name(), psyclone.dynamo0p3.DynamoPSy.name(), psyclone.expression.FunctionVar.name, psyclone.expression.NamedArg.name(), psyclone.gocean1p0.GOKernelGridArgument.name(), psyclone.gocean1p0.GOStencil.name(), psyclone.parse.algorithm.FileInfo.name(), psyclone.parse.algorithm.InvokeCall.name(), psyclone.parse.kernel.KernelProcedure.name(), psyclone.parse.kernel.KernelType.name(), psyclone.parse.module_info.ModuleInfo.name(), psyclone.psyad.transformations.assignment_trans.AssignmentTrans.name(), psyclone.psyGen.PSy.name(), psyclone.psyGen.Invoke.name(), psyclone.psyGen.Kern.name(), psyclone.psyGen.CodedKern.name, psyclone.psyGen.Argument.name(), psyclone.psyGen.Transformation.name(), psyclone.psyGen.DummyTransformation.name(), psyclone.psyir.nodes.container.Container.name, psyclone.psyir.nodes.member.Member.name, psyclone.psyir.nodes.reference.Reference.name(), psyclone.psyir.nodes.routine.Routine.name, psyclone.psyir.symbols.symbol.Symbol.name(), psyclone.psyir.transformations.allarrayaccess2loop_trans.AllArrayAccess2LoopTrans.name(), psyclone.psyir.transformations.arrayrange2loop_trans.ArrayRange2LoopTrans.name(), psyclone.psyir.transformations.fold_conditional_return_expressions_trans.FoldConditionalReturnExpressionsTrans.name(), psyclone.psyir.transformations.loop_trans.LoopTrans.name(), psyclone.psyir.transformations.omp_task_trans.OMPTaskTrans.name(), psyclone.psyir.transformations.psy_data_trans.PSyDataTrans.name(), psyclone.transformations.OMPSingleTrans.name(), psyclone.transformations.OMPMasterTrans.name(), psyclone.transformations.OMPParallelTrans.name(), psyclone.transformations.MoveTrans.name(), psyclone.transformations.Dynamo0p3AsyncHaloExchangeTrans.name(), psyclone.transformations.Dynamo0p3KernelConstTrans.name(), psyclone.transformations.ACCEnterDataTrans.name(), psyclone.transformations.ACCRoutineTrans.name(), psyclone.transformations.ACCKernelsTrans.name(), psyclone.transformations.ACCDataTrans.name(), and psyclone.transformations.KernelImportsToArguments.name().
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_args | ( | self | ) |
:returns: a list of 'meta_arg' objects which capture the \ metadata values of the kernel arguments. :rtype: Optional[List[:py:class:`psyclone.domain.lfric.kernel.\ CommonArg`]]
Definition at line 973 of file lfric_kernel_metadata.py.
References psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._meta_args, and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._meta_args.
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_args | ( | self, | |
values | |||
) |
:param values: set the meta_args metadata to the \ supplied list of values. :type values: List[:py:class:`psyclone.domain.lfric.kernel.\ CommonArg`]
Definition at line 986 of file lfric_kernel_metadata.py.
References psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._meta_args, psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._meta_args, and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_args().
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_args_get | ( | self, | |
types | |||
) |
Return a list of meta_args entries with names that match the 'types' argument. :param types: a meta_arg type or list of meta_arg types. :type names: :py:class:`psyclone.domain.lfric.kernel.\ CommonMetaArgMetadata` or List[:py:class:`psyclone.domain.\ lfric.kernel.CommonMetaArgMetadata`] :returns: a list of meta_args entries. :rtype: List[ py:class:`psyclone.domain.lfric.kernel.CommonMetaArgMetadata`] :raises TypeError: if the types argument is not of the correct type.
Definition at line 1113 of file lfric_kernel_metadata.py.
References psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.meta_args(), and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_args().
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_funcs | ( | self | ) |
:returns: a list of meta_funcs metadata values. :rtype: Optional[List[:py:class:`psyclone.domain.lfric.kernel.\ MetaFuncsArgMetadata`]]
Definition at line 997 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._meta_funcs.
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_funcs | ( | 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 1009 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._meta_funcs, and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_funcs().
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_mesh | ( | self | ) |
:returns: a list of meta_mesh metadata values. :rtype: Optional[List[:py:class:`psyclone.domain.lfric.kernel.\ MetaMeshArgMetadata`]]
Definition at line 1043 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._meta_mesh.
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_mesh | ( | self, | |
values | |||
) |
:param values: set the meta_mesh metadata to the \ supplied list of values. :type values: List[:py:class:`psyclone.domain.lfric.kernel.\ MetaMeshArgMetadata`]
Definition at line 1055 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._meta_mesh, and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_mesh().
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_ref_element | ( | self | ) |
:returns: a list of meta_reference_element metadata values. :rtype: Optional[List[:py:class:`psyclone.domain.lfric.kernel.\ MetaRefElementArgMetadata`]]
Definition at line 1020 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._meta_ref_element.
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_ref_element | ( | self, | |
values | |||
) |
:param values: set the meta_funcs metadata to the \ supplied list of values. :type values: List[:py:class:`psyclone.domain.lfric.kernel.\ MetaRefElementArgMetadata`]
Definition at line 1032 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._meta_ref_element, and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_ref_element().
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.name | ( | self | ) |
:returns: the name of the symbol that will contain the \ metadata when lowering. :rtype: str
Definition at line 1092 of file lfric_kernel_metadata.py.
References psyclone.domain.common.algorithm.psyir.AlgorithmInvokeCall._name, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._name, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.GridArg._name, psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._name, psyclone.dynamo0p3.DynFuncDescriptor03._name, psyclone.expression.NamedArg._name, psyclone.gocean1p0.GOKernelGridArgument._name, psyclone.gocean1p0.GOStencil._name, psyclone.nemo.NemoInvoke._name, psyclone.nemo.NemoPSy._name, psyclone.parse.algorithm.FileInfo._name, psyclone.parse.algorithm.InvokeCall._name, psyclone.parse.kernel.KernelProcedure._name, psyclone.parse.kernel.KernelType._name, psyclone.parse.module_info.ModuleInfo._name, psyclone.psyGen.PSy._name, psyclone.psyGen.Invoke._name, psyclone.psyGen.Kern._name, psyclone.psyGen.Argument._name, psyclone.psyir.nodes.container.Container._name, psyclone.psyir.nodes.routine.Routine._name, and psyclone.psyir.symbols.symbol.Symbol._name.
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.name | ( | self, | |
value | |||
) |
:param str value: set the name of the symbol that will contain \ the metadata when lowering. :raises ValueError: if the name is not valid.
Definition at line 1102 of file lfric_kernel_metadata.py.
References psyclone.domain.common.algorithm.psyir.AlgorithmInvokeCall._name, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._name, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.GridArg._name, psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._name, psyclone.dynamo0p3.DynFuncDescriptor03._name, psyclone.expression.NamedArg._name, psyclone.gocean1p0.GOKernelGridArgument._name, psyclone.gocean1p0.GOStencil._name, psyclone.nemo.NemoInvoke._name, psyclone.nemo.NemoPSy._name, psyclone.parse.algorithm.FileInfo._name, psyclone.parse.algorithm.InvokeCall._name, psyclone.parse.kernel.KernelProcedure._name, psyclone.parse.kernel.KernelType._name, psyclone.parse.module_info.ModuleInfo._name, psyclone.psyGen.PSy._name, psyclone.psyGen.Invoke._name, psyclone.psyGen.Kern._name, psyclone.psyGen.Argument._name, psyclone.psyir.nodes.container.Container._name, psyclone.psyir.nodes.routine.Routine._name, and psyclone.psyir.symbols.symbol.Symbol._name.
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.operates_on | ( | self | ) |
:returns: the kernel operates_on property specified by the \ metadata. :rtype: str
Definition at line 911 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._operates_on, and psyclone.domain.lfric.kernel.operates_on_metadata.OperatesOnMetadata._operates_on.
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.operates_on | ( | self, | |
value | |||
) |
:param str value: set the kernel operates_on property \ in the metadata to the specified value.
Definition at line 922 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._operates_on, and psyclone.domain.lfric.kernel.operates_on_metadata.OperatesOnMetadata._operates_on.
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.operator_meta_args_on_fs | ( | self, | |
arg_types, | |||
function_space | |||
) |
Utility function to return any operator meta_args in metadata that have the same type as those specified in arg_types and their from or to function spaces are the same as the function space specified in function_space. :param arg_types: meta_arg classes indicating which meta_arg \ arguments to check. :type arg_types: \ :py:class:`psyclone.domain.lfric.kernel.CommonMetaArgMetadata` or \ List[ \ :py:class:`psyclone.domain.lfric.kernel.CommonMetaArgMetadata`] :param str function_space: the specified function space. :returns: a list of meta_args. :type arg_types: List[ \ :py:class:`psyclone.domain.lfric.kernel.CommonMetaArgMetadata`]
Definition at line 1173 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_args_get().
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.procedure_name | ( | self | ) |
:returns: the kernel procedure name specified by the metadata. :rtype: str
Definition at line 1066 of file lfric_kernel_metadata.py.
References psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._procedure_name, and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._procedure_name.
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.procedure_name | ( | self, | |
value | |||
) |
:param Optional[str] value: set the kernel procedure name in the \ metadata to the specified value. :raises ValueError: if the metadata has an invalid value.
Definition at line 1074 of file lfric_kernel_metadata.py.
References psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._procedure_name, and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._procedure_name.
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.shapes | ( | self | ) |
:returns: a list of shape metadata values. :rtype: Optional[List[str]]
Definition at line 931 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._shapes, and psyclone.domain.lfric.kernel.shapes_metadata.ShapesMetadata._shapes.
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.shapes | ( | self, | |
values | |||
) |
:param values: set the shape metadata to the \ supplied list of values. :type values: List[str]
Definition at line 942 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._shapes, psyclone.domain.lfric.kernel.shapes_metadata.ShapesMetadata._shapes, and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.shapes().
def psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.validate | ( | self | ) |
Only certain metadata combinations are allowed in LFRic. This routine checks that any such constraints are respected. :raises ParseError: if any validation checks fail.
Definition at line 184 of file lfric_kernel_metadata.py.
References psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._cma_kernel_type(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._get_kernel_type(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._validate_cma_apply_kernel(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._validate_cma_assembly_kernel(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._validate_cma_matrix_matrix_kernel(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._validate_domain_kernel(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._validate_general_purpose_kernel(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._validate_generic_cma_kernel(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._validate_generic_kernel(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._validate_intergrid_kernel(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._validation_error_str(), psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.meta_args(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_args(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_args_get(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_funcs(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_mesh(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.operates_on, and psyclone.domain.lfric.kernel.operates_on_metadata.OperatesOnMetadata.operates_on.