A new fully parallel coupler for Earth System Models (ESMs), OASIS4, has been developed within the European PRISM project. OASIS4 main functional parts are the Driver, the Transformer, and the PRISM System Model Interface Library, PSMILe.
During the run, OASIS4 Driver first extracts the configuration information defined by the user in the XML files and then organizes the process management of the coupled simulation. OASIS4 Transformer performs, in a fully parallel mode, the re-gridding needed to express, on the grid of a target model, a coupling field provided by a source model on its grid.
An ESM coupled by OASIS4 consist of different applications (or executables), which executions are controlled by OASIS4. Each ESM application may host only one or more than one climate component models (e.g. model of the ocean, sea-ice, atmosphere, etc.). To interact with the rest of the ESM at run-time, the component models have to include specific calls to the OASIS4 PSMILe.
Each application and component model must be provided with XML files that describe its coupling interface established through PSMILe calls. The configuration of one particular coupled 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 done externally by the user also through XML files.
The OASIS4 PSMILe, linked to the component models, includes the Data Exchange Library (DEL), which performs the MPI-based (Message Passing Interface) exchanges of coupling data, either directly or via additional Transformer processes, and the GFDL mpp_io library, which reads/writes the I/O data from/to files using the NetCDF format. At the beginning of the run, the OASIS4 PSMILe also performs, for the coupling fields that need re-gridding between their source and target grids, a parallel neighbourhoods search based on a multi-grid algorithm.
Other MPI-based parallel coupler performing field transformation exists. The originality of OASIS4 relies in its great flexibility, as the coupling and I/O configuration is externally defined by the user in XML files, in its parallel neighbourhood search based on the geographical description of the process local domains, and its common treatment of coupling and I/O exchanges, both performed by the PSMILe library.
OASIS4 functionality and scalability have been demonstrated with different "toy" models. 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 the number of component models, the number, size and interpolation of the coupling or I/O fields, the coupling or I/O frequencies, etc. OASIS4 "toy" models were run on different platforms showing also its portability: SGI Origin and ALTIX, NEC SX6, AMD Athlon PC-Cluster, Fujitsu AMD Opteron PC-Cluster, and IBM Power4. OASIS4 has also been used to realize the coupling between the MOM4 ocean model and a pseudo atmosphere model reading appropriate forcing fields.
As the climate modelling community is progressively targeting higher resolution climate simulations, run on massively parallel platforms, with coupling exchanges involving a higher number of (possibly 3D) coupling fields exchanged at a higher coupling frequency, the key design concepts of parallelism and efficiency drove the OASIS4 developments, at the same time keeping in its design the concepts of portability and flexibility that made the success of OASIS3. Furthermore, the OASIS4 PSMILe Application Programming Interface (API) was kept as close as possible to OASIS3 PSMILe API. This should ensure a smooth and progressive transition between OASIS3 and OASIS4 in the climate modelling community.