Ignore:
Timestamp:
09/25/17 10:59:29 (7 years ago)
Author:
ymipsl
Message:

implement diurnal cycle transformation taken as a grid tranformation : scalar -> axis

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/XIOS_DEV_CMIP6/src/filter/spatial_transform_filter.hpp

    r1158 r1275  
    4949      double outputDefaultValue; 
    5050  }; // class CSpatialTransformFilter 
     51 
     52 
     53 /*! 
     54   * A specific spatial filter for the temporal_splitting transformation scalar -> axis. An incoming flux will be stored in an aditional dimension given by the destination axis. 
     55   * At each flux received, the storing index (record) is increased. When it reach the size of the axis (nrecords) a new flux is generated and the record is reset to 0 
     56   */ 
     57 
     58 class CSpatialTemporalFilter : public CSpatialTransformFilter 
     59  { 
     60    public: 
     61      /*! 
     62       * Constructs a filter wrapping the specified spatial transformation. 
     63       * 
     64       * \param gc the associated garbage collector 
     65       * \param engine the engine defining the spatial transformation 
     66       * \param [in] gridTransformation the associated transformations 
     67       * \param outputValue default value of output pin 
     68       * \param [in] inputSlotsCount number of input, by default there is only one for field src 
     69       */ 
     70      CSpatialTemporalFilter(CGarbageCollector& gc, CSpatialTransformFilterEngine* engine, CGridTransformation* gridTransformation, double outputValue, size_t inputSlotsCount = 1); 
     71 
     72 
     73    protected: 
     74      /*! 
     75        Overriding this function to process transformations with auxillary inputs 
     76      */ 
     77      void virtual onInputReady(std::vector<CDataPacketPtr> data); 
     78      //! Current record in the filter 
     79      int record ; 
     80      //! Maximum number of records 
     81      int nrecords; 
     82      //! Temporary storage for output flux 
     83      CArray<double, 1> tmpData;  
     84 
     85 
     86  }; // class CSpatialTemporalFilter 
     87 
    5188 
    5289  /*! 
Note: See TracChangeset for help on using the changeset viewer.