3 Partition definition
The coupling fields sent or received by a component are usually
scattered among the different component processes. With OASIS3-MCT,
all processes exchanging coupling data have to express in a global index space the local
partitioning of the different grids onto which the data is expressed (see 2.2.4 for the grid definition).
The processes not implied in the
coupling do not have to call this routine (for backward compatibility with OASIS3-MCT_2.0,
they may still call it describing a null partition, i.e. with ig_paral(:)=0).
- CALL oasis_def_partition (il_part_id, ig_paral,
ierror, isize, name) or
- CALL prism_def_partition_proto (il_part_id, ig_paral,
ierror, isize, name)
- il_part_id [INTEGER; OUT]: partition ID
- ig_paral [INTEGER, DIMENSION(:), IN]: vector of
integers describing the local grid partition in the global index space;
has a different expression depending on the type of the partition;
in OASIS3-MCT, 5 types of partition are supported: Serial (no
partition), Apple, Box, Orange, and Points (see below).
- ierror [INTEGER; OUT]: returned error code.
- isize [INTEGER, OPTIONAL, IN]: Optional argument, mandatory
if the coupling data is exchanged for only a subdomain of the
global grid; in this case, isize must give the total number of grid points.
- name [CHARACTER, OPTIONAL, IN]: Optional argument associating a name to the partition,
mandatory if oasis_def_partition is called either for a grid
decomposed not across all the processes of a component or if the related
oasis_def_partition are not
called in the same order on the different component processes;
this argument is new since OASIS3-MCT_3.0 and is linked to the
greater flexibility in the configuration of components supported
(see 2.1); it has a maximum length of 120 characters.