The following auxiliary routines are currently available.
If a process needs to abort voluntarily, it should do so by calling oasis_abort. This will ensure a proper termination of all processes in the coupled model communicator. This routine writes the name of the calling component, the name of the calling routine, and the message to the process debug file (see $NLOGPRT in section 3.2). This routine cannot be called before oasis_init_comp.
This routine may be called at any time to retrieve the current OASIS3-MCT internal debug level (see $NLOGPRT in section 3.2). This is useful if the user wants to return the original debug value after changing it.
This routine may be called at any time to change the debug level in OASIS3-MCT. This method allows users to vary the debug level at different points in the component integration.
This routine sets up an MPI inter-communicator between two components, the local component and the component associated with cdnam. This call is collective across the tasks of the two components only. An MPI inter-communicator preserves the rank of the original communicators and does not allow collective communication within the communicator. It provides point to point communication between two non-overlapping MPI groups. This method must be called synchronously across all components involved to minimize the chance of a deadlock, and it should be called only after oasis_enddef is called. See oasis_get_intracomm below to create an intra-communicator.
This routine sets up an MPI intra-communicator between two components, the local component and the component defined by the string cdnam. This call is collective across the tasks of the two components creating the intra-communicator only, and it must be called synchronously across all tasks of the two components to minimize the chance of a deadlock. It should be called only after oasis_enddef is called. This method creates a new communicator consisting of a new collective group of tasks with new ranks. This communicator supports collective communications and is more typically used in MPI applications than inter-communicators (see oasis_get_intercomm above). See also oasis_get_multi_intracomm for another method that supports creating an MPI intra-communicator between two or more components.
This routine sets up an MPI intra-communicator between two or more components defined by the component names passed in the cdnam array argument. The local model name MUST BE one of the models defined in the cdnam array. The component names must be valid names, but empty strings are allowed and ignored. This call is collective across all the tasks of the components defined in cdnam, and it must be called synchronously and consistently across all tasks of those components to minimize the chance of a deadlock. It should be called only after oasis_enddef is called. This method creates a new communicator consisting of a new collective group of tasks with new ranks. The root ranks of the individual components relative to the new communicator is output in the root_ranks argument. The size of cdnam and root_ranks should be identical, and the values of root_ranks are consistent with the order of cdnam.. This communicator supports collective communications and is more typically used in MPI applications than inter-communicators (see oasis_get_intercomm above). See also oasis_get_intracomm for another method that supports creating an MPI intra-communicator between two components.
This routine may be called at any time to inquire what would happen to the field corresponding to that var_id if it was sent with an oasis_put at that same date). This maybe useful if, for example, the calculation of a coupling field is costly and if one wants to compute it only when it is really sent out.
This routine returns the number of coupling exchanges in which the field with that var_id is involved. This number is needed to get the coupling frequencies with the routine oasis_get_freqs, see below.
This routine can be used to retrieve the coupling period(s) of field with corresponding var_id, as defined in the namcouple