The OASIS Coupler Forum

  HOME

Partition definitions

Up to Specific issues in real coupled models

Posted by Anonymous at August 13 2014

Hi Laure,

I have just downloaded OASIS3-MCT and implemented it but I have a problem with the partition definitions.

The wave model gathers the data on the master process so I use a serial decomposition for the master and I define ig_paral=0 for the other processes but I get locked in the routine defining the partition for the processes where ig_paral=0.

Do you have an idea of what is wrong ?

Thanks, Regards, Francois-Xavier

Posted by Anonymous at August 17 2014

Hi Francois-Xavier,

In fact when only one process or a subset of processes are coupling, you must use the routine oasis_create_oasis_create_couplcomm (see the User Guide https://oasis.cerfacs.fr/wp-content/uploads/sites/114/2021/02/GLOBC-Valcke_TR_OASIS3-MCT_2.0_2013.pdf, section 2.2.3).

The routine oasis_create_couplcomm is defined as follow : oasis_create_couplcomm(ipcl, local_comm, coupl_comm, kinfo) with in your case icpl=1 for the master process and ipcl=MPI_UNDEFINED for the others processes that are not coupling. 
local_comm is the communicator over all the processes (and returned by oasis_get_localcomm) and coupl_comm is the communicator gathering only the processes that are coupling (the master process in your case).

In OASIS3-MCT_2.0, the processes that do not participate to the coupling must call the following collective routines:

CALL oasis_init_comp

CALL oasis_get_localcomm

CALL oasis_create_couplcomm

CALL oasis_def_partition ( with ig_paral=0 )

CALL oasis_def_var ( ... )

CALL oasis_enddef ( ... )

CALL oasis_terminate ( ... )

There is an example pes_coupling that could help you : see the conversation "Simple code for oasis_create_couplcomm : https://www.cerfacs.fr/site-oasis/forum/oa_main.php?c=92" for more details on how to download it.

Best regards, Laure
Reply to this