YetAnotherCoupler 3.2.0_a
No Matches
Interface Overview

The coupling and associated tasks can be grouped into four different phases, the initialisation and definition phase; the neighbourhood search and calculation of interpolation weights; the data exchange; and the finalisation of the coupling.

In the initialisation phase the grids and coupling fields are defined by the user via the user interfaces. The initialisation and definition phase is terminated with a single command which at the same time invokes the neighbourhood search and calculation of weights. The data exchange consists of pairs of calls to send and receive routines while the end of the coupling is announced with a single finalising call.

The coupling configuration, e.g. the definition of exchange timesteps or the interpolation method that shall be applied for a data exchange is specified through the interface via a call of yac_cdef_couple and/or in a configuration file.

We use the git version control system, inline Doxygen documentation, and autoconf for the configuration management.

YAC is programmed in C, user interfaces to Fortran (prefix yac_f), Python and C (prefix yac_c) are available. The Fortran interface is provided using the ISO-C standard. The python bindings need to be enabled explicitly by passing --enable-python-bindings to ./configure

A detailed description of the Fortran, Python and C interfaces can be found here. The python bindings are documented here.