Ignore:
Timestamp:
08/25/15 16:52:45 (9 years ago)
Author:
rlacroix
Message:

Add support for indexed output.

If the new field attribute "indexed_output" is set to true and a mask is defined (either at grid, domain or axis level), the indexed data will be outputed instead of the full data with missing values.

See http://cfconventions.org/Data/cf-conventions/cf-conventions-1.5/build/cf-conventions.html#compression-by-gathering for more information.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/data_output.hpp

    r591 r676  
    2020 
    2121            /// Ecriture /// 
    22             void writeFile     (CFile*  file); 
    23             void writeAttribute(CVariable*  var); 
    24             void syncFile     (void); 
     22            void writeFile     (CFile*     file); 
     23            void writeAttribute(CVariable* var); 
     24            void syncFile      (void); 
    2525            void closeFile     (void); 
    2626            void writeField    (CField* field); 
     
    4040 
    4141            /// Ecriture /// 
    42             void writeGrid(CGrid* grid); 
    43             void writeGrid(CDomain* domain, 
    44                            CAxis*   axis); 
     42            void writeGrid(CGrid* grid, bool allowCompressedOutput = false); 
     43            void writeGrid(CDomain* domain, CAxis* axis); 
    4544            void writeGrid(CDomain* domain); 
    4645            void writeGrid(std::vector<CDomain*> domain, std::vector<CAxis*> axis); 
    4746 
    48             virtual void writeFile_       (CFile*     file)   = 0; 
    49             virtual void writeAttribute_(CVariable*  var) = 0 ; 
    50             virtual void closeFile_       (void)                                            = 0; 
    51             virtual void syncFile_       (void)                                            = 0; 
    52             virtual void writeField_      (CField*    field)  = 0; 
    53             virtual void writeFieldData_  (CField*    field)  = 0; 
    54             virtual void writeDomain_     (CDomain*   domain) = 0; 
    55             virtual void writeTimeDimension_ (void) = 0; 
    56             virtual void writeAxis_       (CAxis*     axis)   = 0; 
    57             virtual void writeTimeAxis_   (CField*    field, 
    58                                            const shared_ptr<CCalendar> cal)    = 0; 
     47            virtual void writeFile_     (CFile*      file)   = 0; 
     48            virtual void writeAttribute_(CVariable*  var)    = 0; 
     49            virtual void closeFile_     (void)               = 0; 
     50            virtual void syncFile_      (void)               = 0; 
     51            virtual void writeField_    (CField*     field)  = 0; 
     52            virtual void writeFieldData_(CField*     field)  = 0; 
     53            virtual void writeDomain_   (CDomain*    domain) = 0; 
     54            virtual void writeAxis_     (CAxis*      axis)   = 0; 
     55            virtual void writeGridCompressed_(CGrid* grid)   = 0; 
     56            virtual void writeTimeDimension_(void)           = 0; 
     57            virtual void writeTimeAxis_ (CField*     field, 
     58                                         const shared_ptr<CCalendar> cal) = 0; 
    5959 
    6060            /// Propriétés protégées /// 
Note: See TracChangeset for help on using the changeset viewer.