This patch calculates the block index bounds for a land-masked block
grid when definining OASIS partitions. Specifically, it adds support
for roundrobin block distributions by using the blockIndex field of
the distribution type (distrb_info) to calculate the equivalent task
ID (i.e. MPI rank) of an unmasked block grid.
Multiple blocks per rank are still not supported (max_blocks = 1) nor
are other land-masking distributions such as spacecurve, which do not
define blockIndex.
We still rely on BOX partitioning in OASIS, since we still do one block
per task, although this may change in the future (presumably using
ORANGE).
In order to identify the distribution type, the distribution_type
variable in ice_domains.F90 was redefined as public.
Several redundant bits of code related to MPI derived types was also
removed, since it does not appear to be used for anything.
Nic Hannah and Russ Fiedler both contributed to this patch.
This patch calculates the block index bounds for a land-masked block grid when definining OASIS partitions. Specifically, it adds support for roundrobin block distributions by using the
blockIndex
field of the distribution type (distrb_info
) to calculate the equivalent task ID (i.e. MPI rank) of an unmasked block grid.Multiple blocks per rank are still not supported (
max_blocks = 1
) nor are other land-masking distributions such as spacecurve, which do not defineblockIndex
.We still rely on BOX partitioning in OASIS, since we still do one block per task, although this may change in the future (presumably using ORANGE).
In order to identify the distribution type, the
distribution_type
variable inice_domains.F90
was redefined as public.Several redundant bits of code related to MPI derived types was also removed, since it does not appear to be used for anything.
Nic Hannah and Russ Fiedler both contributed to this patch.