Changeset 1918 for XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.hpp
- Timestamp:
- 07/16/20 17:18:01 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.hpp
r1881 r1918 16 16 #include "utils.hpp" 17 17 #include "transformation_enum.hpp" 18 #include "grid_local_connector.hpp" 19 #include "grid_elements.hpp" 18 20 19 21 namespace xios { … … 255 257 void modifyMask(const CArray<int,1>& indexToModify, bool valueToModify = false); 256 258 void modifyMaskSize(const std::vector<int>& newDimensionSize, bool newValue = false); 259 260 /** get mask pointer stored in mask_1d, or mask_2d, or..., or mask_7d */ 261 CArray<bool,1> mask_ ; 262 CArray<bool,1>& getMask(void) ; 257 263 258 264 void computeGridGlobalDimension(const std::vector<CDomain*>& domains, … … 289 295 const CArray<int,1>& axisDomainOrder, 290 296 bool createMask = false); 297 291 298 template<int N> 292 299 void modifyGridMask(CArray<bool,N>& gridMask, const CArray<int,1>& indexToModify, bool valueToModify); … … 500 507 /** List order of axis and domain in a grid, if there is a domain, it will take value 2, axis 1, scalar 0 */ 501 508 std::vector<int> order_; 509 510 private: 511 CGridLocalElements* gridLocalElements_= nullptr ; 512 void computeGridLocalElements(void) ; 513 public: 514 CGridLocalElements* getGridLocalElements(void) { if (gridLocalElements_==nullptr) computeGridLocalElements() ; return gridLocalElements_ ;} 515 516 private: 517 CGridLocalConnector* modelToWorkflowConnector_ ; 518 public: 519 void computeModelToWorkflowConnector(void) ; 520 CGridLocalConnector* getModelToWorkflowConnector(void) { if (modelToWorkflowConnector_==nullptr) computeModelToWorkflowConnector() ; return modelToWorkflowConnector_;} 502 521 503 522 }; // class CGrid … … 521 540 CATCH 522 541 542 /* obsolete 523 543 template <int n> 524 544 void CGrid::maskField(const CArray<double,n>& field, CArray<double,1>& stored) … … 534 554 this->maskField_arr(field.dataFirst(), stored); 535 555 } 556 */ 557 template <int n> 558 void CGrid::maskField(const CArray<double,n>& field, CArray<double,1>& stored) 559 { 560 auto connector = getModelToWorkflowConnector() ; 561 562 if (connector->getSrcSize() != field.numElements()) 563 ERROR("void CGrid::inputField(const CArray<double,n>& field, CArray<double,1>& stored) const", 564 << "[ Awaiting data of size = " << this->getDataSize() << ", " 565 << "Received data size = " << field.numElements() << " ] " 566 << "The data array does not have the right size! " 567 << "Grid = " << this->getId()) 568 const double nanValue = std::numeric_limits<double>::quiet_NaN(); 569 connector->transfer(field, stored, nanValue) ; 570 } 571 572 536 573 537 574 template <int n>
Note: See TracChangeset
for help on using the changeset viewer.