next up previous
Next: Initialisation Up: oasis3doc Previous: The OASIS3 package


Interfacing a model with the PSMILe library

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:

  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.



Subsections
next up previous
Next: Initialisation Up: oasis3doc Previous: The OASIS3 package
Reinhard Budich 2004-12-22