Changeset 1594 for XIOS/dev/dev_olga/src


Ignore:
Timestamp:
11/15/18 09:32:29 (5 years ago)
Author:
oabramkina
Message:

Bugfix on dev: NaNs? were not necessarily replaced upon writing by default_value in case of grid mask.

Location:
XIOS/dev/dev_olga/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_olga/src/filter/file_writer_filter.cpp

    r1474 r1594  
    1717  void CFileWriterFilter::onInputReady(std::vector<CDataPacketPtr> data) 
    1818  { 
    19     const bool detectMissingValue = (!field->detect_missing_value.isEmpty() 
    20                                       && !field->default_value.isEmpty() 
    21                                       && field->detect_missing_value == true); 
     19    const bool detectMissingValue = ( !field->default_value.isEmpty() && 
     20                               ( (!field->detect_missing_value.isEmpty() || field->detect_missing_value == true) 
     21                                 || field->hasGridMask()) ); 
    2222 
    2323    CArray<double, 1> dataArray = (detectMissingValue) ? data[0]->data.copy() : data[0]->data; 
  • XIOS/dev/dev_olga/src/node/field.cpp

    r1577 r1594  
    17271727   } 
    17281728 
     1729   bool CField::hasGridMask(void) const 
     1730   { 
     1731     return (this->grid->hasMask()); 
     1732   } 
    17291733 
    17301734   DEFINE_REF_FUNC(Field,field) 
  • XIOS/dev/dev_olga/src/node/field.hpp

    r1542 r1594  
    209209        bool hasExpression(void) const; 
    210210 
     211        bool hasGridMask(void) const; 
     212 
    211213      public: 
    212214         /// Propriétés privées /// 
  • XIOS/dev/dev_olga/src/node/grid.cpp

    r1589 r1594  
    338338     if (!(this->hasTransform() && (!this->isGenerated()))) 
    339339      this->isChecked = true; 
     340   } 
     341 
     342   bool CGrid::hasMask() const 
     343   { 
     344     return (!mask_1d.isEmpty() || !mask_2d.isEmpty() || !mask_3d.isEmpty() || 
     345             !mask_4d.isEmpty() || !mask_5d.isEmpty() || !mask_6d.isEmpty() || !mask_7d.isEmpty()); 
    340346   } 
    341347 
  • XIOS/dev/dev_olga/src/node/grid.hpp

    r1584 r1594  
    250250         CArray<size_t,1> indexFromClients; 
    251251 
     252         bool hasMask(void) const; 
    252253         void checkMask(void); 
    253254         void createMask(void); 
Note: See TracChangeset for help on using the changeset viewer.