You are here: Overview > Key Concepts > What's a Coupler?
What's a Coupler?
In order to efficiently represent complex systems, numerical modelling
has to rely on many physical models at a time: an ocean model coupled
with an atmospheric model is at the basis of climate modelling; a
combustion model coupled with a radiation model allows the computation
of a combustion chamber temperature. The continuity of the solution is
granted only if these models can constantly exchange information.
A coupler is a software tool allowing
the concurrent execution and the intercommunication of programs not
having been especially designed for that. In addition to the data
exchange issues, the coupler can take care of a number of services,
such as intermediate computations on the exchanged data, grid to grid
interpolations, parallel data redistribution. The couplings, therefore,
span from simple sequential code assembling (chaining) to applications
involving tens of models. Sometimes the codes must run in parallel,
especially if the coupling takes place in the inner iterative processes
of the computational entities.
More generally, a component coupling
approach often allows to split a system into elementary computational
entities that can be handled and maintained more comfortably. This
approach has proved to be very effective for the design, the management
and the monitoring of large complex systems as, for instance, data
assimilation suites.
The main qualities of the PALM coupler
are its easy set-up, its flexibility, its performances, the simple
updates and evolutions of the coupled application and the many side
services and functions that it offers.