source: XIOS/trunk/src/interface/c_attr/icgrid_attr.cpp @ 551

Last change on this file since 551 was 551, checked in by mhnguyen, 6 years ago

Redesigning grid structure

+) Add an intermediate class to calculate distribution on client and servers
+) Change all index of attributes to zero (0), instead of one(1)

Test
+) On Curie
+) Test new features passes but some data are still shifted

  • 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
  • Property svn:eol-style set to native
File size: 3.8 KB
Line 
1/* ************************************************************************** *
2 *               Interface auto generated - do not modify                   *
3 * ************************************************************************** */
4
5#include <boost/multi_array.hpp>
6#include <boost/shared_ptr.hpp>
7#include "xmlioserver.hpp"
8#include "attribute_template.hpp"
9#include "object_template.hpp"
10#include "group_template.hpp"
11#include "icutil.hpp"
12#include "icdate.hpp"
13#include "timer.hpp"
14#include "node_type.hpp"
15
16extern "C"
17{
18  typedef xios::CGrid*  grid_Ptr;
19
20  void cxios_set_grid_axisDomOrder(grid_Ptr grid_hdl, bool* axisDomainOrder, int extent1)
21  {
22    CTimer::get("XIOS").resume();
23    CArray<bool,1> tmp(axisDomainOrder,shape(extent1),neverDeleteData) ;
24    grid_hdl->axisDomainOrder.reference(tmp.copy());
25     CTimer::get("XIOS").suspend();
26  }
27
28  void cxios_get_grid_axisDomOrder(grid_Ptr grid_hdl, bool* axisDomainOrder, int extent1)
29  {
30    CTimer::get("XIOS").resume();
31    CArray<bool,1> tmp(axisDomainOrder,shape(extent1),neverDeleteData) ;
32    tmp=grid_hdl->axisDomainOrder.getInheritedValue() ;
33     CTimer::get("XIOS").suspend();
34  }
35
36  bool cxios_is_defined_grid_axisDomOrder(grid_Ptr grid_hdl )
37  {
38     CTimer::get("XIOS").resume();
39    return grid_hdl->axisDomainOrder.hasInheritedValue();
40     CTimer::get("XIOS").suspend();
41  }
42
43
44
45  void cxios_set_grid_description(grid_Ptr grid_hdl, const char * description, int description_size)
46  {
47    std::string description_str;
48    if(!cstr2string(description, description_size, description_str)) return;
49     CTimer::get("XIOS").resume();
50    grid_hdl->description.setValue(description_str);
51     CTimer::get("XIOS").suspend();
52  }
53
54  void cxios_get_grid_description(grid_Ptr grid_hdl, char * description, int description_size)
55  {
56     CTimer::get("XIOS").resume();
57    if(!string_copy(grid_hdl->description.getInheritedValue(),description , description_size))
58      ERROR("void cxios_get_grid_description(grid_Ptr grid_hdl, char * description, int description_size)", <<"Input string is to short");
59     CTimer::get("XIOS").suspend();
60  }
61
62  bool cxios_is_defined_grid_description(grid_Ptr grid_hdl )
63  {
64     CTimer::get("XIOS").resume();
65    return grid_hdl->description.hasInheritedValue();
66     CTimer::get("XIOS").suspend();
67  }
68
69
70
71  void cxios_set_grid_mask(grid_Ptr grid_hdl, bool* mask, int extent1, int extent2, int extent3)
72  {
73    CTimer::get("XIOS").resume();
74    CArray<bool,3> tmp(mask,shape(extent1,extent2,extent3),neverDeleteData) ;
75    grid_hdl->mask.reference(tmp.copy());
76     CTimer::get("XIOS").suspend();
77  }
78
79  void cxios_get_grid_mask(grid_Ptr grid_hdl, bool* mask, int extent1, int extent2, int extent3)
80  {
81    CTimer::get("XIOS").resume();
82    CArray<bool,3> tmp(mask,shape(extent1,extent2,extent3),neverDeleteData) ;
83    tmp=grid_hdl->mask.getInheritedValue() ;
84     CTimer::get("XIOS").suspend();
85  }
86
87  bool cxios_is_defined_grid_mask(grid_Ptr grid_hdl )
88  {
89     CTimer::get("XIOS").resume();
90    return grid_hdl->mask.hasInheritedValue();
91     CTimer::get("XIOS").suspend();
92  }
93
94
95
96  void cxios_set_grid_name(grid_Ptr grid_hdl, const char * name, int name_size)
97  {
98    std::string name_str;
99    if(!cstr2string(name, name_size, name_str)) return;
100     CTimer::get("XIOS").resume();
101    grid_hdl->name.setValue(name_str);
102     CTimer::get("XIOS").suspend();
103  }
104
105  void cxios_get_grid_name(grid_Ptr grid_hdl, char * name, int name_size)
106  {
107     CTimer::get("XIOS").resume();
108    if(!string_copy(grid_hdl->name.getInheritedValue(),name , name_size))
109      ERROR("void cxios_get_grid_name(grid_Ptr grid_hdl, char * name, int name_size)", <<"Input string is to short");
110     CTimer::get("XIOS").suspend();
111  }
112
113  bool cxios_is_defined_grid_name(grid_Ptr grid_hdl )
114  {
115     CTimer::get("XIOS").resume();
116    return grid_hdl->name.hasInheritedValue();
117     CTimer::get("XIOS").suspend();
118  }
119
120
121
122
123}
Note: See TracBrowser for help on using the repository browser.