next up previous
Next: Initialisation Up: oasis3doc Previous: The SCRIP 1.4 license

Interfacing a model with the PSMILe library

At run-time, OASIS3 acts as a separate 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 with the keyword $CHANNEL in the configuration file namcouple (see chapter 5). In OASIS3, the CLIM communication technique based on MPI1 or MPI2 message passing and the associated model interface library PSMILe, should be used as the SIPC, PIPE and GMEM communication techniques from previous versions are not maintained anymore. For a practical toy model using the PSMILe library, see the sources in /oasis3/examples/toyoasis3/src and more details in chapter 8.

To communicate with OASIS3 or directly with another component model using the CLIM-MPI1/2 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 oasis3/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:

  1. Initialisation (section 4.1)
  2. Grid data file definition (section 4.2)
  3. Partition definition (section 4.3)
  4. I/O-coupling field declaration (section 4.4)
  5. End of definition phase (section 4.5)
  6. I/O-coupling field sending and receiving (section 4.6)
  7. Termination (section 4.7)

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.

next up previous
Next: Initialisation Up: oasis3doc Previous: The SCRIP 1.4 license
Laure Coquart 2013-06-11