codepath
FV3CodePath
Bases: Enum
Enum listing all possible code paths on a cube sphere.
For any layout the cube sphere has up to 9 different code paths depending on the positioning of the rank on the tile and which of the edge/corner cases it has to handle, as well as the possibility for all boundary computations in the 1x1 layout case.
Since the framework inlines code to optimize, we cannot pre-suppose which code being kept and/or ejected. This enum serves as the ground truth to map rank to the proper generated code.
All = 'FV3_A'
class-attribute
instance-attribute
All boundary computations, e.g. 1x1 layout.
Bottom = 'FV3_B'
class-attribute
instance-attribute
Bottom edge.
BottomLeft = 'FV3_BL'
class-attribute
instance-attribute
Bottom left corner.
BottomRight = 'FV3_BR'
class-attribute
instance-attribute
Bottom right corner.
Center = 'FV3_C'
class-attribute
instance-attribute
Center tile with boundaries, e.g. in a 3x3 layout.
Left = 'FV3_L'
class-attribute
instance-attribute
Left edge.
Right = 'FV3_R'
class-attribute
instance-attribute
Right edge.
Top = 'FV3_T'
class-attribute
instance-attribute
Top edge.
TopLeft = 'FV3_TL'
class-attribute
instance-attribute
Top left corner.
TopRight = 'FV3_TR'
class-attribute
instance-attribute
Top right corner.