The development of the fully parallel OASIS4 coupler started during the EU FP5 PRISM project to answer the needs of the European climate modelling community that was, at the time, starting to target higher resolution climate simulations on massively parallel platforms. The concepts of parallelism and efficiency drove OASIS4 developments, at the same time keeping in its design the concepts of low-intrusiveness and portability that made the success of OASIS3. Chapter 3 provides a more detailed description of OASIS4 sources and how to obtain them.
An ESM coupled by OASIS4 consists of different applications (or executables), each one hosting only one or more than one climate components (e.g. model of the ocean, sea-ice, atmosphere, etc.). After compilation, OASIS4 sources form a separate Driver/Transformer executable and a coupling interface library, the PSMILe that needs to be linked to and used by the components.
Each component must be provided with an XML1 file that describes its coupling interface established through PSMILe calls. The configuration of one particular ESM simulation, i.e. the coupling and I/O exchanges that will be performed at run-time between the components or between the components and disk files, is also done through XML files. A Graphical User Interface (GUI), described in detail in the separate OASIS4-GUI User Guide, facilitates the creation of those XML files.
During the run, the role of the Driver/Transformer is to extract the configuration information defined by the user in the XML files, to organize the process management of the coupled simulation, and to perform the regridding needed to express, on the grid of the target components, the coupling fields provided by the source components on their grid. The OASIS4 Driver/Transformer is described in chapter 4.
The PSMILe , linked to the component models, includes a data exchange library which performs the MPI-based (Message Passing Interface, Snir et al. (1998)) exchanges of coupling data, either directly or via additional Transformer processes, and the GFDL mpp_io library Balaji (2001), which reads/writes the I/O data from/to files following the NetCDF format. The PSMILe and its Application Programming Interface (API) are described in chapter 5.
The structure and content of the descriptive and configuring XML files are then detailed in chapter 6. In chapter 7, instructions on how to compile and run the example toy coupled model TOYOA4 using OASIS4 are given; a toy model is an empty model in the sense that it contains no physics or dynamics. It reproduces, however, a realistic coupling in terms of number of component models, number, size and interpolation of the coupling fields, coupling frequencies, etc.
The originality of OASIS4 relies in its low intrusiveness, its great flexibility, and in its parallel neighbourhood search based on the geographical description of the process local domains performed by the PSMILe library.