At run-time, OASIS3 acts as a separate mono process executable which drives the coupled run, interpolates and transforms the coupling fields. To communicate with OASIS3 or directly between the component models, different communication techniques have been historically developed. The technique used for one particular run is defined by the user in the configuration file namcouple (see section 5). In OASIS3, the CLIM communication technique based on MPI1 or MPI2 message passing and the associated model interface library PSMILe, should be used. For a practical toy model using the PSMILe library, see the sources in /prism/src/mod/toyatm, /toyche, /toyoce and more details in (6) .
To communicate with OASIS3 or directly with another component model using the CLIM/MPI communication technique, or to perform I/O actions, a component model needs to be interfaced with the PRISM System Model Interface library, PSMILe, which sources can be found in prism/src/lib/psmile directory. PSMILe supports:
To adapt a component model to PSMILe, specific calls of the following classes have to be implemented in the code:
Finally, in section 4.8, different coupling algorithms are illustrated, and explanations are given on how to reproduce them with PSMILe by defining the appropriate indices of lag and sequence for each coupling field.