... passing[*]
In OASIS3, the SIPC technique has also been maintained; for a practical toy model example, see the sources in /prism/src/mod/sipcatmos, /sipcocean and the running script and README in /prism/util/running/toysvipc (available from CERFACS CVS Server only). The PIPE and GMEM communication techniques should still work but are not maintained anymore and were not tested.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... used[*]
The SIPC technique, based on UNIX shared-memory segments, was also maintained; for a practical toy model example using SIPC, see the sources in /prism/src/mod/sipcatmos, /sipcocean and some explanations in /prism/util/running/toysvipc (from CERFACS CVS only).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... coupling.[*]
The model may call MPI_Init explicitly, but if so, has to call it before calling prism_init_comp_proto; in this case, the model also has to call MPI_Finalize explicitly, but only after calling prism_terminate_proto.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Y[*]
The maximum value of the local extent in Y is presently 338; it can be increased by modifying the value of Clim_MaxSegments in prism/src/lib/clim/src/mod_clim.F90 and in prism/src/lib/psmile/src/mod_prism_proto.F90 and by recompiling Oasis3 and the PSMILe library.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... segments[*]
As for the Box partition, the maximum number of segments is presently 338; it can be increased by modifying the value of Clim_MaxSegments
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... arrays[*]
PRISM standard is to exchange coupling fields declared REAL(kind=SELECTED_REAL_KIND(12,307)). By default, all real variables are declared as such in OASIS3. To exchange single precision coupling fields, OASIS3 has to be compiled with the pre-compiling key use_realtype_single, the coupling fields must be declared REAL(kind=SELECTED_REAL_KIND(6,37)) in the component models
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... type[*]
Coupling fields exchanged directly between two component models can have a type different from the ones exchanged through OASIS3 main process, as long as they are single or double precision real arrays in both models.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... prism_terminate_proto[*]
If the process called MPI_Init (before calling prism_init_comp_proto), it must also call MPI_Finalize explicitly, but only after calling prism_terminate_proto.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... PSMILe[*]
With the PIPE, SIPC, GMEM and previously with the CLIM communication techniques, no such analysis was performed. For PIPE, SIPC, and GMEM, the sending actions on the source side would automatically match the receiving actions on the target side on a FIFO (First In First Out) basis.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... fields.[*]
Use the standard blocking send MPI_Send if the coupling fields are necessarily sent and received in the same order, or on platforms for which MPI_Send is implemented with a mailbox (e.g. VPPs; in this case, make sure that the size of the mailbox is sufficient). Use the less efficient buffered send MPI_BSend on platforms for which MPI_Send is not implemented with a mailbox if the coupling fields are not sent and received in the same order.

Note that below the call to prism_enddef_proto, the PSMILe tests whether or not the model has already attached to an MPI buffer. If it is the case, the PSMILe detaches from the buffer, adds the size of the pre-attached buffer to the size needed for the coupling exchanges, and reattaches to an MPI buffer. The model own call to MPI_Buffer_Attach must therefore be done before the call to prism_enddef_proto. Furthermore, the model is not allowed to call MPI_BSend after the call to prism_terminate_proto, as the PSMILe definitively detaches from the MPI buffer in this routine. See the example in the toyatm model in prism/src/mod/toyatm/src

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... file[*]
For binary input file, only one time occurence may be interpolated
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 4)[*]
For some grids, the extrapolation may not converge if $NV is too large.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... coupling.[*]
An EXTRAP/NINENN analysis is automatically performed within GLORED analysis but the corresponding datasets have to be distinct; this is automatically checked by OASIS3 at the beginning of the run.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... library[*]
See the copyright statement in annexe C.2.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...SECOND[*]
CONSERV/SECOND has not been tested in detail.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... NetCDF[*]
Note that even if the grid auxiliary data files are in NetCDF format, the restart coupling files may be in binary format, or vice-versa.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...(nbr_pts,1)[*]
If REDGLO is the first transformation applied on a Reduced grid field, the Reduced field must be given is an array restartdata(nx*ny) where nx and ny are the global Gaussian grid dimensions and the Reduced field is completed by trailing zeros.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... only[*]
Additional namcouple entries are also configurable by editing directly the namcouple base file. Refer to chapter 5 for more details.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.