source: XIOS/trunk/src/interface/c_attr/icgridgroup_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: 5.0 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::CGridGroup*  gridgroup_Ptr;
19
20  void cxios_set_gridgroup_axisDomOrder(gridgroup_Ptr gridgroup_hdl, bool* axisDomainOrder, int extent1)
21  {
22    CTimer::get("XIOS").resume();
23    CArray<bool,1> tmp(axisDomainOrder,shape(extent1),neverDeleteData) ;
24    gridgroup_hdl->axisDomainOrder.reference(tmp.copy());
25     CTimer::get("XIOS").suspend();
26  }
27
28  void cxios_get_gridgroup_axisDomOrder(gridgroup_Ptr gridgroup_hdl, bool* axisDomainOrder, int extent1)
29  {
30    CTimer::get("XIOS").resume();
31    CArray<bool,1> tmp(axisDomainOrder,shape(extent1),neverDeleteData) ;
32    tmp=gridgroup_hdl->axisDomainOrder.getInheritedValue() ;
33     CTimer::get("XIOS").suspend();
34  }
35
36  bool cxios_is_defined_gridgroup_axisDomOrder(gridgroup_Ptr gridgroup_hdl )
37  {
38     CTimer::get("XIOS").resume();
39    return gridgroup_hdl->axisDomainOrder.hasInheritedValue();
40     CTimer::get("XIOS").suspend();
41  }
42
43
44
45  void cxios_set_gridgroup_description(gridgroup_Ptr gridgroup_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    gridgroup_hdl->description.setValue(description_str);
51     CTimer::get("XIOS").suspend();
52  }
53
54  void cxios_get_gridgroup_description(gridgroup_Ptr gridgroup_hdl, char * description, int description_size)
55  {
56     CTimer::get("XIOS").resume();
57    if(!string_copy(gridgroup_hdl->description.getInheritedValue(),description , description_size))
58      ERROR("void cxios_get_gridgroup_description(gridgroup_Ptr gridgroup_hdl, char * description, int description_size)", <<"Input string is to short");
59     CTimer::get("XIOS").suspend();
60  }
61
62  bool cxios_is_defined_gridgroup_description(gridgroup_Ptr gridgroup_hdl )
63  {
64     CTimer::get("XIOS").resume();
65    return gridgroup_hdl->description.hasInheritedValue();
66     CTimer::get("XIOS").suspend();
67  }
68
69
70
71  void cxios_set_gridgroup_group_ref(gridgroup_Ptr gridgroup_hdl, const char * group_ref, int group_ref_size)
72  {
73    std::string group_ref_str;
74    if(!cstr2string(group_ref, group_ref_size, group_ref_str)) return;
75     CTimer::get("XIOS").resume();
76    gridgroup_hdl->group_ref.setValue(group_ref_str);
77     CTimer::get("XIOS").suspend();
78  }
79
80  void cxios_get_gridgroup_group_ref(gridgroup_Ptr gridgroup_hdl, char * group_ref, int group_ref_size)
81  {
82     CTimer::get("XIOS").resume();
83    if(!string_copy(gridgroup_hdl->group_ref.getInheritedValue(),group_ref , group_ref_size))
84      ERROR("void cxios_get_gridgroup_group_ref(gridgroup_Ptr gridgroup_hdl, char * group_ref, int group_ref_size)", <<"Input string is to short");
85     CTimer::get("XIOS").suspend();
86  }
87
88  bool cxios_is_defined_gridgroup_group_ref(gridgroup_Ptr gridgroup_hdl )
89  {
90     CTimer::get("XIOS").resume();
91    return gridgroup_hdl->group_ref.hasInheritedValue();
92     CTimer::get("XIOS").suspend();
93  }
94
95
96
97  void cxios_set_gridgroup_mask(gridgroup_Ptr gridgroup_hdl, bool* mask, int extent1, int extent2, int extent3)
98  {
99    CTimer::get("XIOS").resume();
100    CArray<bool,3> tmp(mask,shape(extent1,extent2,extent3),neverDeleteData) ;
101    gridgroup_hdl->mask.reference(tmp.copy());
102     CTimer::get("XIOS").suspend();
103  }
104
105  void cxios_get_gridgroup_mask(gridgroup_Ptr gridgroup_hdl, bool* mask, int extent1, int extent2, int extent3)
106  {
107    CTimer::get("XIOS").resume();
108    CArray<bool,3> tmp(mask,shape(extent1,extent2,extent3),neverDeleteData) ;
109    tmp=gridgroup_hdl->mask.getInheritedValue() ;
110     CTimer::get("XIOS").suspend();
111  }
112
113  bool cxios_is_defined_gridgroup_mask(gridgroup_Ptr gridgroup_hdl )
114  {
115     CTimer::get("XIOS").resume();
116    return gridgroup_hdl->mask.hasInheritedValue();
117     CTimer::get("XIOS").suspend();
118  }
119
120
121
122  void cxios_set_gridgroup_name(gridgroup_Ptr gridgroup_hdl, const char * name, int name_size)
123  {
124    std::string name_str;
125    if(!cstr2string(name, name_size, name_str)) return;
126     CTimer::get("XIOS").resume();
127    gridgroup_hdl->name.setValue(name_str);
128     CTimer::get("XIOS").suspend();
129  }
130
131  void cxios_get_gridgroup_name(gridgroup_Ptr gridgroup_hdl, char * name, int name_size)
132  {
133     CTimer::get("XIOS").resume();
134    if(!string_copy(gridgroup_hdl->name.getInheritedValue(),name , name_size))
135      ERROR("void cxios_get_gridgroup_name(gridgroup_Ptr gridgroup_hdl, char * name, int name_size)", <<"Input string is to short");
136     CTimer::get("XIOS").suspend();
137  }
138
139  bool cxios_is_defined_gridgroup_name(gridgroup_Ptr gridgroup_hdl )
140  {
141     CTimer::get("XIOS").resume();
142    return gridgroup_hdl->name.hasInheritedValue();
143     CTimer::get("XIOS").suspend();
144  }
145
146
147
148
149}
Note: See TracBrowser for help on using the repository browser.