At the origin of the PALM project, if we go as back as 1996, we find the operational ocean forecasting project MERCATOR. The head of the MERCATOR project of the time, Philippe Courtier, suggested that a data assimilation suite could be designed and implemented as a coupling. The different tasks - running a forecast, apply the observation operator, computing the misfit, approximate the error statistics, invert matrices, minimize a cost function and so on - were to be thought of as independent pieces of code to be assembled within a portable, flexible and efficient framework. Since most of the data assimilation algorithms can be implemented as a different sequence of the same functional units (cf. Lagarde, Piacentini, Thual, A new representation of data assimilation methods: the PALM flow charting approach, Q.J.R.M.S., 127 (2001), 189-207), this approach was the most suitable for a research and development context, where many methods were to be implemented and compared.
The PALM Team at CERFACS was in charge of the development of the software backbone of the project. It was a technological challenge: to develop a dynamic parallel coupler and its user interface that had to be used on a variety of platforms under the efficiency constraints of operational applications. Such a challenging task was carried on in two steps:
- first a fully featured prototype was implemented using the available technology at the end of the 90's. At the issue of this phase an MPI1 based version of the coupler was released with the name PALM_RESEARCH afterwards changed to PALM_SP.
- based on the expertise developed on the prototype, the final MPI2 based version of PALM was designed and implemented. It was released with the name PALM MP.
Thanks to the flexibility of the approach, the non-specific formalism used to describe the coupling interfaces and the portability of the software, PALM established itself as a natural choice for all sorts of dynamic parallel coupling and code assembling projects. In particular, PALM has been adopted for a number of multiphysics simulations in computational fluid dynamics. To answer the requirements of the future multiphysics high performance simulations, PALM has integrated the CWIPI communication and interpolation library developed by ONERA. To make this and any future collaboration easier, PALM is currently distributed as an open source application under the LGPL v3 license, with the name O-PALM.