Ignore:
Timestamp:
05/12/20 11:52:13 (4 years ago)
Author:
ymipsl
Message:

XIOS coupling branch
Some updates.

First coupling test is beginning to work...

YM

File:
1 edited

Legend:

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

    r1870 r1875  
    124124         bool isEqual(CAxis* axis); 
    125125 
    126          bool checkIfCompleted(void) ; 
    127          void setCompleted(void) ; 
    128          void setUncompleted(void) ; 
    129  
    130126      public:  
    131127        bool hasValue;         
     
    150146         std::set<CContextClient*> sendAxisToFileServer_done_ ; 
    151147       
     148      public: 
     149         void sendAxisToCouplerOut(CContextClient* client, const std::vector<int>& globalDim, int orderPositionInGrid, const string& fieldId, int posInGrid) ; 
     150      private: 
     151         std::set<CContextClient*> sendAxisToCouplerOut_done_ ; 
     152     
     153      public: 
     154         void makeAliasForCoupling(const string& fieldId, int posInGrid) ; 
     155 
    152156      private: 
    153157         void sendAttributes(CContextClient* client, const std::vector<int>& globalDim, int orderPositionInGrid, 
    154                              CServerDistributionDescription::ServerDistributionType distType); 
     158                             CServerDistributionDescription::ServerDistributionType distType, const string& axisId=""); 
    155159         void sendDistributionAttribute(CContextClient* client, const std::vector<int>& globalDim, int orderPositionInGrid, 
    156                                         CServerDistributionDescription::ServerDistributionType distType); 
    157           
    158  
    159          void sendNonDistributedAttributes(CContextClient* client); 
    160          void sendDistributedAttributes(CContextClient* client); 
     160                                        CServerDistributionDescription::ServerDistributionType distType, const string& axisId=""); 
     161          
     162 
     163         void sendNonDistributedAttributes(CContextClient* client, const string& axisId=""); 
     164         void sendDistributedAttributes(CContextClient* client, const string& axisId=""); 
    161165 
    162166         static void recvNonDistributedAttributes(CEventServer& event); 
     
    171175      private: 
    172176 
    173 /** Clients that have to send a domain. There can be multiple clients in case of secondary server, otherwise only one client. */ 
     177/** Clients that have to send a axis. There can be multiple clients in case of secondary server, otherwise only one client. */ 
    174178         std::list<CContextClient*> clients; 
    175179         std::set<CContextClient*> clientsSet; 
    176180 
     181      private: 
    177182         /** define if the axis is completed or not ie all attributes have been received before in case  
    178183             of grid reading from file or coupling */  
    179184         bool isCompleted_=true ;   
    180  
     185      public:      
     186         /*! 
     187           \brief Check if a axis is completed 
     188           Before make any axis processing, we must be sure that all axis informations have 
     189           been sent, for exemple when reading a grid in a file or when grid elements are sent by an 
     190           other context (coupling). So all direct reference of the axis (axis_ref) must be also completed 
     191           \return true if axis and axis reference are completed 
     192          */ 
     193         bool isCompleted(void) 
     194         { 
     195           if (hasDirectAxisReference()) if (!getDirectAxisReference()->isCompleted()) return false; 
     196           else return isCompleted_ ; 
     197         } 
     198         void setCompleted(void) { isCompleted_=true ; } 
     199         void unsetCompleted(void) { isCompleted_=false ; } 
     200       
     201      private: 
    181202         bool isChecked; 
    182203         bool areClientAttributesChecked_; 
Note: See TracChangeset for help on using the changeset viewer.