Ignore:
Timestamp:
10/15/18 16:42:33 (6 years ago)
Author:
ymipsl
Message:

XIOS - OASIS interaction : due to many problem occurring in the oasis/XIOS initialization phase due to a bad order of intialization call from both, you have now the possibily to explicitly inform xios that the servers must call oasis_enddef().
New rules : On model side, before calling oasis_enddef, you must add a call to "xios_oasis_enddef()"
Old rules : oasis_enddef must be call before any call to "xios_context_initialize" otherwise it may lead to a deadlock.
You can use the old rules if the variable <call_oasis_enddef> is set to false (default value is true), and by this way no need to modify the source code of the models

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/interface/c/icdata.cpp

    r1542 r1587  
    8181     CClient::registerContext(str, comm); 
    8282     CTimer::get("XIOS init context").suspend(); 
     83     CTimer::get("XIOS").suspend(); 
     84   } 
     85 
     86   void cxios_oasis_enddef() 
     87   { 
     88     CTimer::get("XIOS").resume(); 
     89     CClient::callOasisEnddef(); 
    8390     CTimer::get("XIOS").suspend(); 
    8491   } 
Note: See TracChangeset for help on using the changeset viewer.