Skip to content

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.