source:
vendors/XIOS/current/src/data_output.hpp
@
4508
Last change on this file since 4508 was 3428, checked in by rblod, 12 years ago | |
---|---|
File size: 2.0 KB |
Rev | Line | |
---|---|---|
[3428] | 1 | #ifndef __XMLIO_DATA_OUTPUT__ |
2 | #define __XMLIO_DATA_OUTPUT__ | |
3 | ||
4 | /// xios headers /// | |
5 | #include "xmlioserver_spl.hpp" | |
6 | #include "exception.hpp" | |
7 | #include "grid.hpp" | |
8 | #include "field.hpp" | |
9 | ||
10 | #include <mpi.h> | |
11 | #define MPI_INCLUDED | |
12 | #include <netcdf.h> | |
13 | ||
14 | namespace xios | |
15 | { | |
16 | /// ////////////////////// Déclarations ////////////////////// /// | |
17 | class CDataOutput | |
18 | { | |
19 | public : | |
20 | ||
21 | /// Définition de type /// | |
22 | typedef enum { ONE_FILE = 0, MULTI_GROUP, MULTI_FILE } EDataOutputType; | |
23 | ||
24 | /// Ecriture /// | |
25 | void writeFile (CFile* file); | |
26 | void syncFile (void); | |
27 | void closeFile (void); | |
28 | void writeField (CField* field); | |
29 | void writeFieldGrid(CField* field); | |
30 | void writeFieldData(CField* field); | |
31 | ||
32 | virtual void definition_start(void) = 0; | |
33 | virtual void definition_end(void) = 0; | |
34 | ||
35 | virtual ~CDataOutput(void); | |
36 | ||
37 | protected: | |
38 | ||
39 | /// Ecriture /// | |
40 | void writeGrid(CGrid* grid); | |
41 | void writeGrid(CDomain* domain, | |
42 | CAxis* axis); | |
43 | void writeGrid(CDomain* domain); | |
44 | ||
45 | virtual void writeFile_ (CFile* file) = 0; | |
46 | virtual void closeFile_ (void) = 0; | |
47 | virtual void syncFile_ (void) = 0; | |
48 | virtual void writeField_ (CField* field) = 0; | |
49 | virtual void writeFieldData_ (CField* field) = 0; | |
50 | virtual void writeDomain_ (CDomain* domain) = 0; | |
51 | virtual void writeAxis_ (CAxis* axis) = 0; | |
52 | virtual void writeTimeAxis_ (CField* field, | |
53 | const shared_ptr<CCalendar> cal) = 0; | |
54 | ||
55 | /// Propriétés protégées /// | |
56 | EDataOutputType type; | |
57 | ||
58 | }; // class CDataOutput | |
59 | ||
60 | } // namespace xios | |
61 | ||
62 | #endif //__XMLIO_DATA_OUTPUT__ |
Note: See TracBrowser
for help on using the repository browser.