The OASIS Coupler Forum

  HOME

Doesn't return from oasis_def_partition

Up to Bugs and debugs

Posted by Anonymous at March 17 2020

Hello,

I am trying to couple a climate model (a version of HARMONIE,cycle43 adapted for climate) and a river routing model (TRIP) through OASIS3-MCT. I have put some prints in the code to follow the flow and the last print obtained is just before the call to oasis_def_partition.

I obtain the print of the 256 processors before calling this routine but there isn't any print after the call:

... print*,'oasis_def_partition before, kparal=',KPARAL( : ),' ipart_id= ',IPART_ID CALL OASIS_DEF_PARTITION(IPART_ID,KPARAL( : ),IERR) ! print*,'oasis_def_partition after' ...

The most puzzling thing is that the model doesn't crash. It just stop writing outputs but it doesn't crash neither shows any message at any log file.

The debug is set to the maximum at namcouple file: $NLOGPRT 30 3 $END The last message at debug.01.000XXX for all the processors is: **** ENTER oasis_def_partition But no more lines after this.

Can you, please, give me some clue to try to understand what is happening?

Thank you very much! Best regards, Juan Carlos Sánchez

Posted by Anonymous at March 18 2020

Hi Juan Carlos,

Which version of OASIS3-MCT do you use ?

Maybe you should only do your print in the HARMONIE code by the master as making prints by 256 processors may lead to a bottleneck.

Could you rerun your coupled model in this configuration with NLOGPRT=1 and send the nout* and debug* files to oasishelp@cerfacs.fr ?

Thanks, Best regards, Laure

Posted by Anonymous at March 19 2020

Hi,

I have found the problem although I don't understand why this was the cause of the problem.

For the benefit of other people: Harmonie model was running with 258 processors (256 for calculations and 2 for input/output). I have removed the option (set io_serv = no) and force to use only 256 processors and not use the other 2 dedicated for i/o. The problem has dissapeared and the phase of definining has been done.

Thanks a lot! Juan Carlos

Posted by Anonymous at March 20 2020

Hi Juan Carlos,

I think I understand why it works now and did not work before.

In your initial configuration, you had two processes dedicated to I/O that did not participate in the coupling right. In principle, those two processes still have to call oasis_init_comp but with the fourth argument (‘coupled’ in the User Guide) set to false. And that’s the only oasis API routine they have to call. Please see the User Guide, section 2.1 and figures 2.1 and 2.2. Those two processes are like tasks 34-35-36-37 “exe2-comp4”.

Maybe you can try reintroducing those processes respecting those rules and it should work.

With best regards, Sophie
Reply to this