source: XIOS/trunk/src/data_input.hpp @ 934

Last change on this file since 934 was 775, checked in by mhnguyen, 8 years ago

Implementing the reading of attributes of an axis from a file

+) 3d grid can be read directly from a file
+) Clean some redundant codes
+) Add new attribute declaration that allows to output only desired attributes

Test
+) On Curie
+) test_remap passes and result is correct

File size: 987 bytes
Line 
1#ifndef __XIOS_DATA_INPUT__
2#define __XIOS_DATA_INPUT__
3
4/// XIOS headers ///
5#include "xios_spl.hpp"
6#include "exception.hpp"
7#include "field.hpp"
8
9
10namespace xios
11{
12  class CDataInput
13  {
14    public:
15      /// Input type ///
16      typedef enum { ONE_FILE = 0, MULTI_GROUP, MULTI_FILE } EDataInputType;
17
18      /// Read methods ///
19      StdSize getFieldNbRecords(CField* field);
20      void readFieldData(CField* field);
21      void readFieldAttributesMetaData(CField* field);
22      void readFieldAttributesValues(CField* field);
23      void closeFile(void);
24
25      virtual ~CDataInput(void);
26
27    protected:
28      virtual StdSize getFieldNbRecords_(CField* field) = 0;
29      virtual void readFieldData_(CField* field) = 0;
30      virtual void readFieldAttributes_(CField* field, bool readAttributeValues) = 0;
31      virtual void closeFile_(void) = 0;
32
33      /// Protected properties ///
34      EDataInputType type;
35  }; // class CDataInput
36} // namespace xios
37
38#endif //__XIOS_DATA_INPUT__
Note: See TracBrowser for help on using the repository browser.