psyclone.domain.lfric.kernel.psyir
Module containing the LFRic-specific Container class for a Kernel.
Classes
LFRicKernelContainer
: An LFRic-specific Container. This specialises the generic Container
- class psyclone.domain.lfric.kernel.psyir.LFRicKernelContainer(name, metadata, **kwargs)
An LFRic-specific Container. This specialises the generic Container node and adds in any domain-specific information.
- Parameters:
name (str) – the name of the container.
metadata (
psyclone.domain.lfric.kernel.LFRicKernelMetadata
) – the metadata object.kwargs (unwrapped dict) – additional keyword arguments to pass to parent constructor.
Inheritance
- classmethod create(name, metadata, symbol_table, children)
Create an LFRic Container instance given a name, metadata, a symbol table and a list of child nodes. An LFRic-specific kernel is created with the metadata describing the kernel interface for a single kernel routine within the container.
- Parameters:
name (str) – the name of the Container.
metadata (
psyclone.domain.lfric.kernel.LFRicKernelMetadata
) – the metadata object.symbol_table (
psyclone.psyir.symbols.SymbolTable
) – the symbol table associated with this Container.children (List[
psyclone.psyir.nodes.Container
|psyclone.psyir.nodes.Routine
]) – a list of PSyIR nodes contained in the Container. These must be Containers or Routines.
- Returns:
an instance of cls.
- Return type:
psyclone.psyir.nodes.Container
or subclass thereof.
- lower_to_language_level()
Lower this LFRic-specific container to language level psyir.
- Returns:
the lowered version of this node.
- Return type:
psyclone.psyir.node.Node
- property metadata
:returns the LFRic metadata object. :rtype:
psyclone.domain.lfric.kernel.psyir. LFRicKernelMetadata