Changeset 180
- Timestamp:
- 04/19/11 15:06:51 (14 years ago)
- Location:
- XMLIO_V2/dev/dev_rv/src/xmlio
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/dev_rv/src/xmlio/attribute.cpp
r172 r180 32 32 this->value = value; 33 33 } 34 35 void CAttribute::clear(void) 36 { 37 this->value = boost::any(); 38 } 34 39 35 40 //--------------------------------------------------------------- -
XMLIO_V2/dev/dev_rv/src/xmlio/attribute.hpp
r152 r180 33 33 template <typename T> inline void setValue(const T & value); 34 34 void setAnyValue(const boost::any & value); 35 void clear(void); 35 36 36 37 /// Test /// … … 63 64 template <typename T> 64 65 T CAttribute::getValue(void) const 65 { return (boost::any_cast<T>(this->value)); } 66 { 67 return (boost::any_cast<T>(this->value)); 68 } 66 69 67 70 template <typename T> 68 71 void CAttribute::setValue(const T & value) 69 { this->value = value; } 72 { 73 this->value = value; 74 } 70 75 71 76 template<typename T> 72 77 bool CAttribute::isType(void) 73 { return (this->value.type() == typeid(T)); } 78 { 79 return (this->value.type() == typeid(T)); 80 } 74 81 75 82 } // namespace tree -
XMLIO_V2/dev/dev_rv/src/xmlio/attribute_map.hpp
r171 r180 25 25 26 26 /// Accesseurs /// 27 inlineCAttribute * operator[](const StdString & key);27 CAttribute * operator[](const StdString & key); 28 28 29 29 /// Mutateurs /// -
XMLIO_V2/dev/dev_rv/src/xmlio/config/domain_attribute.conf
r170 r180 1 /* GLOBAL */ 1 2 DECLARE_ATTRIBUTE(StdString , name) 2 3 DECLARE_ATTRIBUTE(StdString , standard_name) 3 4 DECLARE_ATTRIBUTE(StdString , long_name) 4 5 6 /* Spécifique */ 7 DECLARE_ATTRIBUTE(StdString , domain_group_ref) 8 9 /* GLOBAL */ 5 10 DECLARE_ATTRIBUTE(int , ni_glo) 6 11 DECLARE_ATTRIBUTE(int , nj_glo) 7 12 13 /* LOCAL */ 8 14 DECLARE_ATTRIBUTE(int , ibegin) 9 15 DECLARE_ATTRIBUTE(int , iend) 10 16 DECLARE_ATTRIBUTE(int , ni) 11 17 18 /* LOCAL */ 12 19 DECLARE_ATTRIBUTE(int , jbegin) 13 20 DECLARE_ATTRIBUTE(int , jend) 14 21 DECLARE_ATTRIBUTE(int , nj) 15 22 23 /* LOCAL */ 16 24 DECLARE_ATTRIBUTE(ARRAY(bool, 2) , mask) 17 25 26 /* GLOBAL */ 18 27 DECLARE_ATTRIBUTE(int , data_dim) 28 29 /* LOCAL */ 19 30 DECLARE_ATTRIBUTE(int , data_ni) 20 31 DECLARE_ATTRIBUTE(int , data_nj) … … 22 33 DECLARE_ATTRIBUTE(int , data_jbegin) 23 34 35 /* GLOBAL */ 24 36 DECLARE_ATTRIBUTE(int , zoom_ni) 25 37 DECLARE_ATTRIBUTE(int , zoom_nj) … … 27 39 DECLARE_ATTRIBUTE(int , zoom_jbegin) 28 40 41 /* LOCAL */ 29 42 DECLARE_ATTRIBUTE(int , data_n_index) 30 43 DECLARE_ATTRIBUTE(ARRAY(int, 1) , data_i_index) 31 44 DECLARE_ATTRIBUTE(ARRAY(int, 1) , data_j_index) 32 45 46 /* LOCAL */ 33 47 DECLARE_ATTRIBUTE(ARRAY(double, 1), lonvalue) 34 48 DECLARE_ATTRIBUTE(ARRAY(double, 1), latvalue) -
XMLIO_V2/dev/dev_rv/src/xmlio/fake_client/fake_nemo.f90
r179 r180 21 21 REAL(kind = 8), DIMENSION(10000) :: real_array 22 22 INTEGER :: rankGrp, error 23 INTEGER :: ibegin, iend, jbegin, jend 23 INTEGER :: ibegin, iend, jbegin, jend, data_ni, data_ibegin 24 24 TYPE(XDate) :: init_date_nemo = XDate(1985, 03, 15, 17, 35, 00) 25 25 TYPE(XHandle) :: nemo_style_ctxt = NULLHANDLE … … 27 27 temp_mod_ = NULLHANDLE, & 28 28 temp_mod__ = NULLHANDLE 29 30 29 31 30 32 CALL MPI_COMM_RANK(comm_client, rankGrp, error) … … 197 199 IF (rankGrp .EQ. 0) THEN 198 200 ibegin = 1 199 iend = 5 0201 iend = 51 200 202 jbegin = 1 201 203 jend = 50 204 data_ni = 50 205 data_ibegin = 0 202 206 ELSE IF (rankGrp .EQ. 1) THEN 203 ibegin = 5 1207 ibegin = 50 204 208 iend = 100 205 209 jbegin = 1 206 210 jend = 50 211 data_ni = 50 212 data_ibegin = 1 207 213 END IF 208 214 … … 220 226 iend_ = iend, & 221 227 jbegin_ = jbegin, & 222 jend_ = jend) 228 jend_ = jend, & 229 data_ni_ = data_ni, & 230 data_ibegin_ = data_ibegin) 223 231 224 232 CALL xml_tree_add(parent_hdl = temp_mod_, & … … 232 240 iend = 90 233 241 jbegin = 1 234 jend = 10 242 jend = 10 235 243 ELSE IF (rankGrp .EQ. 1) THEN 236 244 ibegin = 1 … … 249 257 data_dim_ = 2, & 250 258 ni_glo_ = 90, & 251 nj_glo_ = 40, &259 nj_glo_ = 20, & 252 260 ibegin_ = ibegin, & 253 261 iend_ = iend, & -
XMLIO_V2/dev/dev_rv/src/xmlio/manager/tree_manager.cpp
r179 r180 178 178 const ENodeType genum = CContextGroup::GetType(); 179 179 const ENodeType denum = CDomain::GetType(); 180 const ENodeType ienum = CGrid::GetType(); 180 181 181 182 os.write (reinterpret_cast<const char*>(&genum) , sizeof(ENodeType)); … … 202 203 std::vector<boost::shared_ptr<CDomain> > & alldomain = 203 204 CDomain::GetAllVectobject(context->getId()); 205 std::vector<boost::shared_ptr<CGrid> > & allgrid = 206 CGrid::GetAllVectobject(context->getId()); 207 204 208 const StdSize alldomain_size = alldomain.size(); 209 const StdSize allgrid_size = allgrid.size(); 205 210 206 211 os.write (reinterpret_cast<const char*>(&alldomain_size), sizeof(StdSize)); 207 212 os.write (reinterpret_cast<const char*>(&allgrid_size), sizeof(StdSize)); 213 214 // Ãcriture successive des informations binaires de domaine. 208 215 for (StdSize j = 0; j < alldomain_size; j++) 209 216 { … … 222 229 os.write (id.data(), idsize * sizeof(char)); 223 230 } 224 domain->toBinary(os); 225 231 domain->toBinary(os); 232 } 233 234 // Ãcriture successive des informations binaires de grille. 235 for (StdSize j = 0; j < allgrid_size; j++) 236 { 237 boost::shared_ptr<CGrid> grid = allgrid[j]; 238 bool hid = grid->hasId(); 239 240 os.write (reinterpret_cast<const char*>(&ienum), sizeof(ENodeType)); 241 os.write (reinterpret_cast<const char*>(&hid), sizeof(bool)); 242 243 if (hid) 244 { 245 const StdString & id = grid->getId(); 246 const StdSize idsize = id.size(); 247 248 os.write (reinterpret_cast<const char*>(&idsize), sizeof(StdSize)); 249 os.write (id.data(), idsize * sizeof(char)); 250 } 251 grid->toBinary(os); 226 252 } 227 253 } … … 276 302 std::vector<boost::shared_ptr<CDomain> > & alldomain = 277 303 CDomain::GetAllVectobject(context->getId()); 304 std::vector<boost::shared_ptr<CGrid> > & allgrid = 305 CGrid::GetAllVectobject(context->getId()); 306 307 const StdSize allgrid_size = allgrid.size(); 278 308 const StdSize alldomain_size = alldomain.size(); 309 279 310 StdSize read_alldomain_size = 0; 311 StdSize read_allgrid_size = 0; 280 312 281 313 is.read (reinterpret_cast<char*>(&read_alldomain_size), sizeof(StdSize)); 314 is.read (reinterpret_cast<char*>(&read_allgrid_size), sizeof(StdSize)); 282 315 283 316 if (alldomain_size != read_alldomain_size) … … 286 319 << "] Bad domain group size !"); 287 320 321 if (alldomain_size != read_alldomain_size) 322 ERROR("CTreeManager::DomainsFromBinary(StdIStream & is)", 323 << "[ read_allgrid_size = " << read_allgrid_size 324 << "] Bad grid group size !"); 325 326 // Lecture successive des informations binaires de domaine. 288 327 for (StdSize j = 0; j < alldomain_size; j++) 289 328 { … … 312 351 domain->fromBinary(is); 313 352 } 353 354 // Lecture successive des informations binaires de grille. 355 for (StdSize j = 0; j < allgrid_size; j++) 356 { 357 boost::shared_ptr<CGrid> grid = allgrid[j]; 358 bool hid = grid->hasId(); 359 ENodeType rrenum = Unknown; 360 361 is.read (reinterpret_cast<char*>(&rrenum), sizeof(ENodeType)); 362 is.read (reinterpret_cast<char*>(&hid), sizeof(bool)); 363 364 if (rrenum != CGrid::GetType()) 365 ERROR("CTreeManager::DomainsFromBinary(StdIStream & is)", 366 << "[ rrenum = " << rrenum << "] Bad type !"); 367 368 if (hid) 369 { 370 StdSize size = 0; 371 is.read (reinterpret_cast<char*>(&size), sizeof(StdSize)); 372 StdString id(size, ' '); 373 is.read (const_cast<char *>(id.data()), size * sizeof(char)); 374 375 if (grid->getId().compare(id) != 0) 376 ERROR("CTreeManager::DomainsFromBinary(StdIStream & is)", 377 << "[ id = " << id << "] Bad id !"); 378 } 379 grid->fromBinary(is); 380 } 381 314 382 } 315 383 } -
XMLIO_V2/dev/dev_rv/src/xmlio/manager/xios_manager.cpp
r179 r180 2 2 3 3 #include "tree_manager.hpp" 4 #include "data_treatment.hpp" 4 5 5 6 namespace xmlioserver 6 7 { 7 8 /// ////////////////////// Définitions ////////////////////// /// 9 8 10 void CXIOSManager::Initialise(XIOSType type, int * argc, char *** argv) 9 11 { … … 33 35 std::vector<StdString> CXIOSManager::ExeOptions; 34 36 35 CXIOSManager::XIOSType CXIOSManager::Type = CLIENT; 37 CXIOSManager::XIOSType CXIOSManager::Type = CLIENT; 38 CXIOSManager::XIOSStatus CXIOSManager::Status = LOC_UNUSED; 36 39 37 40 StdString CXIOSManager::ClientName("unknown name"); … … 72 75 oss << StdString("data/def/def_server_end.") 73 76 << CMPIManager::GetCommRank(CMPIManager::GetCommWorld()); 74 CTreeManager::PrintTreeToFile(oss.str()); 77 CTreeManager::PrintTreeToFile(oss.str()); 78 79 //data::CDataTreatment dt; 75 80 } 76 81 … … 166 171 isIncl = true; 167 172 CXIOSManager::ClientName = clientName; 173 CXIOSManager::Status = LOC_CLIENT; 168 174 } 169 175 if (currentRank == start) … … 171 177 isClient = false; isIncl_ = true; 172 178 CXIOSManager::Comm_Client_Server = comm_; 179 CXIOSManager::Status = LOC_SERVER; 173 180 } 174 181 if (clieindex.size() == nbClient) … … 209 216 void CXIOSManager::RunClient(comm::MPIComm comm_client) 210 217 { 218 CXIOSManager::Status = LOC_CLIENT_SERVER; 211 219 (CXIOSManager::Clients.begin()->second.entry)(comm_client, comm_client, comm_client); 212 220 } … … 221 229 222 230 if (nbClient < nbClientPServer) 223 ERROR("CXIOSManager::AddClient( clientName, nbClient, nbClientPServer, entry_point)",231 ERROR("CXIOSManager::AddClient(...)", 224 232 << "nbClient < nbClientPServer"); 233 225 234 if ((nbClient % nbClientPServer) != 0) 226 ERROR("CXIOSManager::AddClient( clientName, nbClient, nbClientPServer, entry_point)",235 ERROR("CXIOSManager::AddClient(...)", 227 236 << " (nbClient % nbClientPServer) != 0 !"); 237 228 238 if ((nbprocess-nbprocess_used) < (nbClient + nbClient/nbClientPServer)) 229 ERROR("CXIOSManager::AddClient( clientName, nbClient, nbClientPServer, entry_point)",239 ERROR("CXIOSManager::AddClient(...)", 230 240 << " Pas assez de processus disponibles !"); 241 231 242 if (CXIOSManager::Clients.find(clientName) != CXIOSManager::Clients.end()) 232 ERROR("CXIOSManager::AddClient( clientName, nbClient, nbClientPServer, entry_point)",243 ERROR("CXIOSManager::AddClient(...)", 233 244 << " Un client portant le même nom existe déjà !"); 234 245 … … 332 343 } 333 344 } 345 346 //--------------------------------------------------------------- 347 348 CXIOSManager::XIOSType CXIOSManager::GetType(void) 349 { 350 return (CXIOSManager::Type); 351 } 352 353 //--------------------------------------------------------------- 354 355 CXIOSManager::XIOSStatus CXIOSManager::GetStatus(void) 356 { 357 return (CXIOSManager::Status); 358 } 359 360 //--------------------------------------------------------------- 361 362 StdString CXIOSManager::GetClientName(void) 363 { 364 return (CXIOSManager::ClientName); 365 } 334 366 335 367 ///-------------------------------------------------------------- -
XMLIO_V2/dev/dev_rv/src/xmlio/manager/xios_manager.hpp
r178 r180 17 17 typedef enum _xios_type 18 18 { CLIENT_SERVER = 0 , CLIENT, SERVER } XIOSType; 19 20 typedef enum _xios_status 21 { LOC_UNUSED = 0, LOC_CLIENT, LOC_SERVER, LOC_CLIENT_SERVER } XIOSStatus; 19 22 20 23 typedef struct … … 48 51 49 52 /// Accesseurs statiques /// 53 static XIOSType GetType(void); 54 static XIOSStatus GetStatus(void); 55 static StdString GetClientName(void); 56 50 57 static StdSize GetNbClient(void); 51 58 static StdSize GetNbLocClient(const StdString & clientName = CXIOSManager::ClientName); … … 53 60 static StdSize GetNbServer(void); 54 61 static StdSize GetNbLocServer(const StdString & clientName = CXIOSManager::ClientName); 55 62 56 63 private : 57 64 … … 59 66 static void ShowInformation_CS(comm::MPIComm comm_client_server); 60 67 61 /// variables privées ///68 /// Variables statiques privées /// 62 69 static StdString ExeName; 63 70 static std::vector<StdString> ExeOptions; 64 71 65 static XIOSType Type;66 static StdString ClientName;67 static comm::MPIComm Comm_Client_Server;68 static comm::MPIComm Comm_ Server;72 static XIOSType Type; 73 static XIOSStatus Status; 74 static StdString ClientName; 75 static comm::MPIComm Comm_Client_Server, Comm_Server; 69 76 static xios_map<StdString, XIOSClient> Clients; 70 77 -
XMLIO_V2/dev/dev_rv/src/xmlio/node/domain.cpp
r168 r180 4 4 #include "object_template_impl.hpp" 5 5 #include "group_template_impl.hpp" 6 7 #include <algorithm> 6 8 7 9 namespace xmlioserver { … … 13 15 : CObjectTemplate<CDomain>(), CDomainAttributes() 14 16 , isChecked(false), local_mask(new CMask()), relFiles() 17 , ibegin_sub(), iend_sub(), jbegin_sub(), jend_sub() 15 18 { /* Ne rien faire de plus */ } 16 19 … … 18 21 : CObjectTemplate<CDomain>(id), CDomainAttributes() 19 22 , isChecked(false), local_mask(new CMask()), relFiles() 23 , ibegin_sub(), iend_sub(), jbegin_sub(), jend_sub() 20 24 { /* Ne rien faire de plus */ } 21 25 … … 30 34 } 31 35 36 //---------------------------------------------------------------- 37 32 38 bool CDomain::IsWritten(const StdString & filename) const 33 39 { … … 35 41 } 36 42 43 //---------------------------------------------------------------- 44 37 45 void CDomain::addRelFile(const StdString & filename) 38 46 { 39 47 this->relFiles.insert(filename); 48 } 49 50 //---------------------------------------------------------------- 51 52 void CDomain::fromBinary(StdIStream & is) 53 { 54 SuperClass::fromBinary(is); 55 56 this->ibegin_sub.push_back(this->ibegin.getValue()); 57 this->jbegin_sub.push_back(this->jbegin.getValue()); 58 this->iend_sub.push_back(this->iend.getValue()); 59 this->jend_sub.push_back(this->jend.getValue()); 60 61 #define CLEAR_ATT(name_)\ 62 SuperClassAttribute::operator[](#name_)->clear() 63 64 CLEAR_ATT(mask); 65 CLEAR_ATT(data_n_index); 66 CLEAR_ATT(data_i_index); 67 CLEAR_ATT(data_j_index); 68 69 CLEAR_ATT(data_ni); 70 CLEAR_ATT(data_nj); 71 CLEAR_ATT(data_ibegin); 72 CLEAR_ATT(data_jbegin); 73 74 CLEAR_ATT(ni); 75 CLEAR_ATT(nj); 76 77 CLEAR_ATT(latvalue); 78 CLEAR_ATT(lonvalue); 79 #undef CLEAR_ATT 80 81 this->ibegin.setValue(*std::min_element(this->ibegin_sub.begin(),this->ibegin_sub.end())); 82 this->jbegin.setValue(*std::min_element(this->jbegin_sub.begin(),this->jbegin_sub.end())); 83 this->iend.setValue(*std::max_element(this->iend_sub.begin(),this->iend_sub.end())); 84 this->jend.setValue(*std::max_element(this->jend_sub.begin(),this->jend_sub.end())); 85 86 this->checkGlobalDomain(); 87 this->checkLocalIDomain(); 88 this->checkLocalJDomain(); 89 this->completeMask(); 90 91 this->isChecked = true; 40 92 } 41 93 … … 150 202 mask.setValue(__arr); 151 203 } 152 153 204 } 154 205 … … 157 208 158 209 void CDomain::checkDomainData(void) 159 { 210 { 160 211 if (!data_dim.isEmpty() && 161 212 !(data_dim.getValue() == 1 || data_dim.getValue() == 2)) … … 252 303 { 253 304 const int dni = data_ni.getValue() * data_nj.getValue(); 305 254 306 ARRAY_CREATE(__arri, int, 1, [dni]); 255 307 ARRAY_CREATE(__arrj, int, 1, [dni]); … … 289 341 void CDomain::completeMask(void) 290 342 { 291 this->local_mask->resize( data_ni.getValue(), data_nj.getValue());343 this->local_mask->resize(ni.getValue(), nj.getValue()); 292 344 /*this->local_mask->setDataPosition 293 345 (data_dim.getValue(), data_ni.getValue(), data_nj.getValue(), -
XMLIO_V2/dev/dev_rv/src/xmlio/node/domain.hpp
r173 r180 63 63 64 64 public : 65 66 /// Autres /// 67 virtual void fromBinary(StdIStream & is); 65 68 66 69 /// Accesseurs /// … … 90 93 std::set<StdString> relFiles; 91 94 95 std::vector<int> ibegin_sub, iend_sub, jbegin_sub, jend_sub; 96 92 97 }; // class CDomain 93 98 -
XMLIO_V2/dev/dev_rv/src/xmlio/node/grid.cpp
r168 r180 34 34 35 35 const ARRAY(int, 1) & CGrid::getStoreIndex(void) const 36 { return (this->storeIndex ); } 36 { 37 return (this->storeIndex ); 38 } 39 40 //--------------------------------------------------------------- 41 37 42 const ARRAY(int, 1) & CGrid::getOutIIndex(void) const 38 { return (this->out_i_index ); } 43 { 44 return (this->out_i_index ); 45 } 46 47 //--------------------------------------------------------------- 48 39 49 const ARRAY(int, 1) & CGrid::getOutJIndex(void) const 40 { return (this->out_j_index ); } 50 { 51 return (this->out_j_index ); 52 } 53 54 //--------------------------------------------------------------- 55 41 56 const ARRAY(int, 1) & CGrid::getOutLIndex(void) const 42 { return (this->out_l_index ); } 57 { 58 return (this->out_l_index ); 59 } 60 61 //--------------------------------------------------------------- 43 62 44 63 const boost::shared_ptr<CAxis> CGrid::getRelAxis (void) const 45 { return (this->axis ); } 64 { 65 return (this->axis ); 66 } 67 68 //--------------------------------------------------------------- 69 46 70 const boost::shared_ptr<CDomain> CGrid::getRelDomain(void) const 47 { return (this->domain ); } 48 49 bool CGrid::hasAxis(void) const { return (this->withAxis); } 71 { 72 return (this->domain ); 73 } 74 75 //--------------------------------------------------------------- 76 77 bool CGrid::hasAxis(void) const 78 { 79 return (this->withAxis); 80 } 50 81 51 82 //--------------------------------------------------------------- … … 59 90 this->isChecked = true; 60 91 } 92 93 //--------------------------------------------------------------- 61 94 62 95 void CGrid::solveDomainRef(void) … … 76 109 } 77 110 111 //--------------------------------------------------------------- 112 78 113 void CGrid::solveAxisRef(void) 79 114 { … … 95 130 96 131 void CGrid::computeIndex(void) 97 { 132 { 98 133 const int ni = domain->ni.getValue() , 99 134 nj = domain->nj.getValue() , … … 113 148 data_j_index = domain->data_j_index.getValue() ; 114 149 115 /*std::cout << data_n_index 116 << data_i_index .size()<< " : "117 << data_j_index .size() << std::endl;*/150 /*std::cout << data_n_index << " : " 151 << data_i_index << " : " 152 << data_j_index << std::endl; */ 118 153 119 154 ARRAY(bool, 2) mask = domain->mask.getValue() ; … … 204 239 } 205 240 241 //--------------------------------------------------------------- 242 206 243 template <> 207 244 void CGrid::outputField … … 211 248 (*field)[(*out_i_index)[n]][(*out_j_index)[n]] = (*stored)[n] ; 212 249 } 250 251 //--------------------------------------------------------------- 213 252 214 253 template <> … … 230 269 (*stored)[i] = data[(*storeIndex)[i]] ; 231 270 } 271 272 //--------------------------------------------------------------- 273 274 void CGrid::toBinary (StdOStream & os) const 275 { 276 SuperClass::toBinary(os); 277 this->storeIndex->toBinary(os); 278 this->out_i_index->toBinary(os); 279 this->out_j_index->toBinary(os); 280 this->out_l_index->toBinary(os); 281 } 282 283 //--------------------------------------------------------------- 284 285 void CGrid::fromBinary(StdIStream & is) 286 { 287 SuperClass::fromBinary(is); 288 289 ARRAY_CREATE(storeIndex_ , int, 1, [1]); 290 ARRAY_CREATE(out_l_index_, int, 1, [1]); 291 ARRAY_CREATE(out_i_index_, int, 1, [1]); 292 ARRAY_CREATE(out_j_index_, int, 1, [1]); 293 294 storeIndex_ ->fromBinary(is); 295 out_i_index_->fromBinary(is); 296 out_j_index_->fromBinary(is); 297 out_l_index_->fromBinary(is); 298 299 } 232 300 233 301 ///--------------------------------------------------------------- -
XMLIO_V2/dev/dev_rv/src/xmlio/node/grid.hpp
r173 r180 49 49 /// Traitements /// 50 50 void solveReference(void); 51 52 virtual void toBinary (StdOStream & os) const; 53 virtual void fromBinary(StdIStream & is); 51 54 52 55 /// Tests /// -
XMLIO_V2/dev/dev_rv/src/xmlio/output/nc4_data_output.cpp
r157 r180 124 124 125 125 this->writeMaskAttributes(maskid, 126 domain->data_dim.getValue() ,126 domain->data_dim.getValue()/*, 127 127 domain->data_ni.getValue(), 128 128 domain->data_nj.getValue(), 129 129 domain->data_ibegin.getValue(), 130 domain->data_jbegin.getValue() );130 domain->data_jbegin.getValue()*/); 131 131 132 132 SuperClassWriter::definition_end(); -
XMLIO_V2/dev/dev_rv/src/xmlio/output/nc4_data_output.hpp
r157 r180 58 58 void writeMaskAttributes(const StdString & mask_name, 59 59 int data_dim, 60 int data_ni ,61 int data_nj ,62 int data_ibegin ,63 int data_jbegin );60 int data_ni = 0, 61 int data_nj = 0, 62 int data_ibegin = 0, 63 int data_jbegin = 0); 64 64 65 65 void writeAxisAttributes(const StdString & axis_name,
Note: See TracChangeset
for help on using the changeset viewer.