Ignore:
Timestamp:
06/13/22 17:04:55 (2 years ago)
Author:
jderouillat
Message:

Reintroduced oasis_enddef management on the server side (communications are operated on MPI_COMM_WORLD in Oasis). XIOS clients require to initilialize Oasis by themselves first, and then to specify their local_comm to xios_initialize. Coupled components must be specified through clients_code_id in iodef.xml

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/client.cpp

    r2332 r2333  
    115115      { 
    116116        MPI_Comm_dup(localComm,&clientComm) ; 
     117        MPI_Comm_dup(localComm,&intraComm_) ; 
     118 
     119        if (CXios::usingServer) 
     120        { 
     121          MPI_Comm_rank(intraComm_,&rank_) ; 
     122        } 
     123 
    117124      } 
    118125       
     
    244251 
    245252      }  
    246        
    247253      MPI_Bcast(&error,1,MPI_INT,0,clientComm) ; 
    248254       
     
    263269          MPI_Intercomm_merge(interComm,high, &intraComm ) ; 
    264270          high=false ; 
     271          if (i==pos) { 
     272            interComm_=interComm ; 
     273          } 
    265274        } 
    266275        xiosGlobalComm=intraComm ; 
     
    308317            high=false ; 
    309318          } 
     319          if (i==pos) { 
     320            interComm_=interComm ; // NOT TESTED ! 
     321          } 
    310322        } 
    311323        xiosGlobalComm=intraComm ; 
     
    459471      if (!oasisEnddef) ERROR("void CClient::callOasisEnddef(void)", <<"Function xios_oasis_enddef called but variable <call_oasis_enddef> is set to false."<<endl 
    460472                                                                     <<"Variable <call_oasis_enddef> must be set to true"<<endl) ; 
    461       if (CXios::isServer) 
     473      if (!CXios::isClient) // != isServer (change recently ) 
    462474      // Attached mode 
    463475      { 
Note: See TracChangeset for help on using the changeset viewer.