source: XIOS/trunk/src/data_output.cpp @ 501

Last change on this file since 501 was 501, checked in by ymipsl, 10 years ago

Add licence copyright to all file ond directory src using the command :
svn propset -R copyright -F header_licence src

XIOS is now officialy under CeCILL licence

YM

  • Property copyright set to
    Software name : XIOS (Xml I/O Server)
    http://forge.ipsl.jussieu.fr/ioserver
    Creation date : January 2009
    Licence : CeCCIL version2
    see license file in root directory : Licence_CeCILL_V2-en.txt
    or http://www.cecill.info/licences/Licence_CeCILL_V2-en.html
    Holder : CEA/LSCE (Laboratoire des Sciences du CLimat et de l'Environnement)
    CNRS/IPSL (Institut Pierre Simon Laplace)
    Project Manager : Yann Meurdesoif
    yann.meurdesoif@cea.fr
File size: 2.8 KB
Line 
1#include "data_output.hpp"
2
3#include "attribute_template.hpp"
4#include "group_template.hpp"
5#include "context.hpp"
6
7namespace xios
8{
9      /// ////////////////////// Définitions ////////////////////// ///
10
11      CDataOutput::~CDataOutput(void)
12      { /* Ne rien faire de plus */ }
13
14      //----------------------------------------------------------------
15
16      void CDataOutput::writeGrid(CGrid* grid)
17      {
18         if (grid->domain_ref.isEmpty())
19            ERROR("CDataOutput::writeGrid(grid)",
20                   << " domain is not defined !");
21
22         if (grid->axis_ref.isEmpty())
23         {
24            this->writeGrid(CDomain::get(grid->domain_ref.getValue()));
25         }
26         else
27         {
28            this->writeGrid(CDomain::get(grid->domain_ref.getValue()),
29                            CAxis::get(grid->axis_ref.getValue()));
30         }
31      }
32
33      //----------------------------------------------------------------
34
35      void CDataOutput::writeFile(CFile*  file)
36      {
37         this->writeFile_(file);
38      }
39
40      void CDataOutput::writeAttribute(CVariable*  var)
41      {
42         this->writeAttribute_(var) ;
43      }
44
45      void CDataOutput::syncFile(void)
46      {
47         this->syncFile_();
48      }
49
50      void CDataOutput::closeFile(void)
51      {
52         this->closeFile_();
53      }
54
55      //----------------------------------------------------------------
56
57      void CDataOutput::writeGrid(CDomain* domain,CAxis* axis)
58      {
59         this->writeDomain_(domain);
60         this->writeAxis_(axis);
61      }
62
63      //----------------------------------------------------------------
64
65      void CDataOutput::writeGrid(CDomain* domain)
66      {
67         this->writeDomain_(domain);
68      }
69
70      void CDataOutput::writeTimeDimension(void)
71      {
72         this->writeTimeDimension_();
73      }
74
75      //----------------------------------------------------------------
76
77      void CDataOutput::writeField(CField* field)
78      {
79         CContext* context = CContext::getCurrent() ;
80         boost::shared_ptr<CCalendar> calendar = context->getCalendar();
81         
82         this->writeField_(field);
83         this->writeTimeAxis_(field, calendar);
84      }
85
86      //----------------------------------------------------------------
87
88      void CDataOutput::writeFieldGrid(CField* field)
89      {
90         this->writeGrid(field->getRelGrid());
91      }
92     
93      //----------------------------------------------------------------
94     
95      void CDataOutput::writeFieldData(CField* field)
96      {
97         CGrid* grid = CGrid::get(field->grid_ref.getValue());
98         CDomain* domain = CDomain::get(grid->domain_ref.getValue());
99         this->writeFieldData_(field);
100      }
101     
102      ///----------------------------------------------------------------
103
104} // namespace xios
Note: See TracBrowser for help on using the repository browser.