Back to OASIS3-MCT home


- The informations contained in the namcouple are written by the global process 0 (over all the models) in the file nout.mpi_rank_global
OASIS_debug which will be used to write informations into debug files is not known util oasis_namcouple_init is called, and nlogprt is read in the namcouple file:
   call oasis_namcouple_init()
   OASIS_debug = namlogprt
OASIS_debug is initialized to 2.

- Use of SCRIPR alone : by default option of mapping are src and bfb
When using SCRIPR alone, the remapping file is written by the master proc of one of the models and the name of the remapping file is automatically defined by the SCRIP library. Then the mapping operation is done reading this file. By default, when the option MAPPING is not explicitely present, the options src and bfb are used.
- Use of SCRIP + MAPPING :
When using SCRIPR + MAPPING, the remapping file is written by the master proc of one of the models but the name can be chosen by the user. Then the mapping operation is done reading this file. The mapping is done following the options that are specified for MAPPING (src/dst and bfb/sum/opt).

- The names of the models given in the namcouple not used anymore. The names are constructed directly from the argument of oasis_ini_comp (see coupled component)

- One variable (grouped or not) is defined using oasis_def_var and it is associated to the ID varid which is given as input to oasis_get and oasis_put.
If one variable is implied in more than one coupling (for example one source field sent to two targets), then there are ncpl couplings for this variable: ncpl = prism_var(varid)%ncpl.
Each coupling is characterized by a cplid =  prism_var(varid)%cpl(nc), with nc=1,prism_var(varid)%ncpl
In OASIS3-MCT_2.0, all the informations of a coupling was contained in the structure prism_coupler(cplid) but it is more complicated in OASIS3-MCT_3.0 as data can be exchanged between two components in the same executable or within the same component.
In OASIS3-MCT_3.0, all the informations about the coupling is contained in two structures pcpointer => prism_coupler_put(cplid) and or pcpointer => prism_coupler_get(cplid)

There is a number of fields nflds = pcpointer%nflds associated to each variable varid, which correspond to the gradients of the fields if BICUBIC or 2nd order CONSERVATIVE interpolation are performed.

- USE mod_oasis
- INCLUDE 'mpif.h'

- All coupling is now direct. Gets are blocking, puts are non-blocking.

- MPI2 job launching is NOT supported.

- Ability to send and receive more than 1 field within a coupling operation.

- The dimensions of the grids must be given in the namcouple.

- If a variable is defined using oasis_def_var but is not in the namcouple, put var_id = OASIS_Var_Uncpl : this variable must not be exchanged

- The grid can be written in grids.nc, masks.nc, areas.nc by the master or by all the processors.

- The names of the source coupling fields must be different from the name of the target coupling fields in the namcouple