The coupling algorithm between the TOYOASIS3 component models oceoa3, atmoa3, and cheoa3 is described here.
Table 8.1 lists the coupling fields exchanged between those 3 model components, giving the symbolic name used in each component and indicating whether the model produces the field (src) or receives it (tgt).
Figure 8.1 illustrates the coupling algorithm between the 3 TOYOASIS3 toy models for , , , , and .
is sent from oceoa3 component to atmoa3 component at the coupling frequency defined by the user in the configuring file namcouple. As interpolation is needed between oceoa3 and atmoa3 grids, this exchange must go through OASIS3 interpolation process. In the namcouple, field status must therefore be and the interpolation must be defined. If the user wants the field to be also automatically written to files before being sent (below the prism_put), and after being received (below the prism_get), he can choose the field status . In oceoa3 and atmoa3 codes, the prism_put and prism_get routines are respectively called every timestep with an argument corresponding to the time at the beginning of the timestep. The lag of , defined as 4 hours (14400 seconds) in the namcouple, is automatically added to the prism_put time argument; the prism_put called at the oceoa3 timestep preceeding the coupling period therefore matches the prism_get called in atmoa3 at the coupling period.
At the beginning of the run (i.e. at time = 0), the oceoa3 prism_put for is not activated (as a positive lag is defined for ) and OASIS3 automatically read in its coupling restart file, fldo1.nc, and sends it to atmoa3 component after interpolation.
The exchange of from oceoa3 to atmoa3 and , , , and from atmoa3 to oceoa3 follow exactly the same logic as for .
as a status INPUT in the namcouple. will therefore not be exchanged between two models but will be read from a file automatically below the target model oceoa3 prism_get calls, at the user-defined frequency in the input file also specified in the namcouple, SOALBEDO.nc.
as a status of OUTPUT in the namcouple. It will therefore be only automatically written to a file at the user-defined frequency, below the source model atmoa3 prism_put calls. The name of the file will be automatically composed of the field symbolic name (here COSHFTOT) and of the begin and end dates of the run.
and are exchanged respectively from atmoa3 to cheoa3 and from cheoa3 to atmoa3. The fields status chosen by the user for those fields in the namcouple should therefore be IGNORED (or IGNOUT if the user wants the fields also automatically be written to files below the prism_put and after the prism_get). At the beginning of the run (i.e. at time = 0), the oceoa3 prism_get called to receive those fields will automatically read the fields in their corresponding coupling restart files flda7.nc and flda8.nc.