Ignore:
Timestamp:
09/25/20 16:09:35 (4 years ago)
Author:
ymipsl
Message:

Solve issues for grid mask on server side.

YM

File:
1 edited

Legend:

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

    r1939 r1943  
    16561656    CDistributedElement scatteredElement(n_glo,globalIndex) ; 
    16571657    scatteredElement.addFullView() ; 
    1658     CScattererConnector scattererConnector(localElement_->getView(CElementView::FULL), scatteredElement.getView(CElementView::FULL), context->getIntraComm()) ; 
     1658    CScattererConnector scattererConnector(localElement_->getView(CElementView::FULL), scatteredElement.getView(CElementView::FULL),  
     1659                                           context->getIntraComm(), client->getRemoteSize()) ; 
    16591660    scattererConnector.computeConnector() ; 
    16601661     
     
    16961697    message2<<serverAxisId<<2 ;  
    16971698    clientToServerElement.sendToServer(client, event2, message2) ;  
    1698     clientToServerConnector_[client] = new CScattererConnector(localElement_->getView(CElementView::WORKFLOW), 
    1699                                                               clientToServerElement.getView(CElementView::FULL), context->getIntraComm()) ; 
     1699    clientToServerConnector_[client] = new CScattererConnector(localElement_->getView(CElementView::WORKFLOW), clientToServerElement.getView(CElementView::FULL),  
     1700                                                              context->getIntraComm(), client->getRemoteSize()) ; 
    17001701    clientToServerConnector_[client]->computeConnector() ; 
    1701  
    1702  
    1703     CEventClient event3(getType(), EVENT_ID_AXIS_DISTRIBUTION); 
    1704     CMessage message3 ; 
    1705     message3<<serverAxisId<<3 ;  
    1706     clientToServerConnector_[client]->transfer(maskIn,client,event3,message3) ;  
    17071702 
    17081703    clientFromServerConnector_[client] = new CGathererConnector(clientToServerElement.getView(CElementView::FULL), localElement_->getView(CElementView::WORKFLOW)); 
     
    17631758      gathererConnector_ -> computeConnector() ; 
    17641759    } 
    1765     else if (phasis==3) 
    1766     { 
    1767       CArray<bool,1> localMask ; 
    1768       gathererConnector_->transfer(event,localMask,false) ; 
    1769       localElement_->addView(CElementView::WORKFLOW, localMask) ; 
    1770       mask.reference(localMask.copy()) ; 
     1760   
     1761  } 
     1762  CATCH 
     1763 
     1764  void CAxis::setServerMask(CArray<bool,1>& serverMask, CContextClient* client) 
     1765  TRY 
     1766  { 
     1767    CContext* context = CContext::getCurrent(); 
     1768    localElement_->addView(CElementView::WORKFLOW, serverMask) ; 
     1769    mask.reference(serverMask.copy()) ; 
    17711770  
    1772       serverFromClientConnector_ = new CGathererConnector(elementFrom_->getView(CElementView::FULL), localElement_->getView(CElementView::WORKFLOW)) ; 
    1773       serverFromClientConnector_->computeConnector() ; 
    1774  
    1775       serverToClientConnector_ = new CScattererConnector(localElement_->getView(CElementView::WORKFLOW), elementFrom_->getView(CElementView::FULL), 
    1776                                                          context->getIntraComm()) ; 
    1777       serverToClientConnector_->computeConnector() ; 
    1778  
    1779     } 
    1780   } 
    1781   CATCH 
     1771    serverFromClientConnector_ = new CGathererConnector(elementFrom_->getView(CElementView::FULL), localElement_->getView(CElementView::WORKFLOW)) ; 
     1772    serverFromClientConnector_->computeConnector() ; 
     1773       
     1774    serverToClientConnector_ = new CScattererConnector(localElement_->getView(CElementView::WORKFLOW), elementFrom_->getView(CElementView::FULL), 
     1775                                                         context->getIntraComm(), client->getRemoteSize()) ; 
     1776    serverToClientConnector_->computeConnector() ; 
     1777  } 
     1778  CATCH_DUMP_ATTR 
    17821779 
    17831780  void CAxis::sendDistributedAttributes(CContextClient* client, CScattererConnector& scattererConnector, const string& axisId) 
Note: See TracChangeset for help on using the changeset viewer.