source:
vendors/XIOS/current/src/data_output.hpp
@
7318
Last change on this file since 7318 was 3428, checked in by rblod, 12 years ago | |
---|---|
File size: 2.0 KB |
Line | |
---|---|
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.