Changeset 391 for XIOS/trunk/src/output/nc4_data_output.cpp
- Timestamp:
- 11/09/12 17:23:42 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/output/nc4_data_output.cpp
r384 r391 22 22 StdString timeid = StdString("time_counter"); 23 23 SuperClass::type = MULTI_FILE; 24 if (!exist)25 SuperClassWriter::addDimension(timeid);24 // if (!exist) 25 // SuperClassWriter::addDimension(timeid); 26 26 } 27 27 … … 38 38 SuperClass::type = (multifile) ? MULTI_FILE : ONE_FILE; 39 39 40 if (!exist)41 SuperClassWriter::addDimension(timeid);40 // if (!exist) 41 // SuperClassWriter::addDimension(timeid); 42 42 } 43 43 … … 71 71 StdString appendDomid = (singleDomain) ? "" : "_"+domid ; 72 72 73 StdString lonid = StdString("lon").append(appendDomid); 74 StdString latid = StdString("lat").append(appendDomid); 73 StdString dimXid = StdString("x").append(appendDomid); 74 StdString dimYid = StdString("y").append(appendDomid); 75 76 string lonid,latid ; 77 /* 75 78 StdString lonid_loc = (server->intraCommSize > 1) 76 79 ? StdString("lon").append(appendDomid).append("_local") … … 79 82 ? StdString("lat").append(appendDomid).append("_local") 80 83 : latid; 81 84 */ 82 85 bool isCurvilinear = domain->isCurvilinear ; 83 86 … … 90 93 if (server->intraCommSize > 1) 91 94 { 92 SuperClassWriter::addDimension(lonid, domain->zoom_ni.getValue());93 SuperClassWriter::addDimension(latid, domain->zoom_nj.getValue());95 // SuperClassWriter::addDimension(lonid, domain->zoom_ni.getValue()); 96 // SuperClassWriter::addDimension(latid, domain->zoom_nj.getValue()); 94 97 } 95 98 96 99 if (isCurvilinear) 97 100 { 98 dim0.push_back( latid_loc); dim0.push_back(lonid_loc);101 dim0.push_back(dimYid); dim0.push_back(dimXid); 99 102 lonid = StdString("nav_lon").append(appendDomid); 100 103 latid = StdString("nav_lat").append(appendDomid); … … 102 105 else 103 106 { 104 dim0.push_back(latid_loc); 105 dim1.push_back(lonid_loc); 106 } 107 108 SuperClassWriter::addDimension(lonid_loc, domain->zoom_ni_srv); 109 SuperClassWriter::addDimension(latid_loc, domain->zoom_nj_srv); 107 lonid = StdString("lon").append(appendDomid); 108 latid = StdString("lat").append(appendDomid); 109 dim0.push_back(dimYid); 110 dim1.push_back(dimXid); 111 } 112 113 SuperClassWriter::addDimension(dimXid, domain->zoom_ni_srv); 114 SuperClassWriter::addDimension(dimYid, domain->zoom_nj_srv); 110 115 if (server->intraCommSize > 1) 111 116 { … … 115 120 domain->zoom_nj_srv, 116 121 appendDomid); 122 123 if (singleDomain) this->writeLocalAttributes_IOIPSL(domain->zoom_ibegin_srv, 124 domain->zoom_ni_srv, 125 domain->zoom_jbegin_srv, 126 domain->zoom_nj_srv, 127 domain->ni_glo,domain->nj_glo, 128 server->intraCommRank,server->intraCommSize); 117 129 } 118 130 … … 133 145 134 146 dim0.clear(); 135 dim0.push_back( latid_loc);136 dim0.push_back( lonid_loc);147 dim0.push_back(dimYid); 148 dim0.push_back(dimXid); 137 149 138 150 … … 172 184 case (ONE_FILE) : 173 185 { 174 SuperClassWriter::addDimension( lonid, domain->zoom_ni.getValue());175 SuperClassWriter::addDimension( latid, domain->zoom_nj.getValue());186 SuperClassWriter::addDimension(dimXid, domain->zoom_ni.getValue()); 187 SuperClassWriter::addDimension(dimYid, domain->zoom_nj.getValue()); 176 188 177 189 178 190 if (isCurvilinear) 179 191 { 180 dim0.push_back( latid); dim0.push_back(lonid);192 dim0.push_back(dimYid); dim0.push_back(dimXid); 181 193 lonid = StdString("nav_lon").append(appendDomid); 182 194 latid = StdString("nav_lat").append(appendDomid); … … 186 198 else 187 199 { 188 dim0.push_back(latid); 189 dim1.push_back(lonid); 200 dim0.push_back(dimYid); 201 dim1.push_back(dimXid); 202 lonid = StdString("lon").append(appendDomid); 203 latid = StdString("lat").append(appendDomid); 190 204 SuperClassWriter::addVariable(latid, NC_FLOAT, dim0); 191 205 SuperClassWriter::addVariable(lonid, NC_FLOAT, dim1); … … 303 317 } 304 318 axis->addRelFile(this->filename); 305 } 306 319 } 320 321 void CNc4DataOutput::writeTimeDimension_(void) 322 { 323 SuperClassWriter::addDimension(string("time_counter")); 324 } 307 325 //-------------------------------------------------------------- 308 326 … … 324 342 StdString appendDomid = (singleDomain) ? "" : "_"+domid ; 325 343 326 StdString lonid = StdString("lon").append(appendDomid); 327 StdString latid = StdString("lat").append(appendDomid); 344 StdString dimXid = StdString("x").append(appendDomid); 345 StdString dimYid = StdString("y").append(appendDomid); 346 /* 328 347 StdString lonid_loc = (server->intraCommSize > 1) 329 348 ? StdString("lon").append(appendDomid).append("_local") … … 332 351 ? StdString("lat").append(appendDomid).append("_local") 333 352 : latid; 353 */ 334 354 StdString fieldid = (!field->name.isEmpty()) 335 355 ? field->name.getValue() : field->getBaseFieldReference()->getId(); … … 370 390 else 371 391 { 372 coodinates.push_back( latid);373 coodinates.push_back( lonid);392 coodinates.push_back(StdString("lat").append(appendDomid)); 393 coodinates.push_back(StdString("lon").append(appendDomid)); 374 394 } 375 395 … … 378 398 case (MULTI_FILE) : 379 399 { 380 dims.push_back( latid_loc);381 dims.push_back( lonid_loc);400 dims.push_back(dimYid); 401 dims.push_back(dimXid); 382 402 break ; 383 403 } 384 404 case (ONE_FILE) : 385 405 { 386 dims.push_back( latid);387 dims.push_back( lonid);406 dims.push_back(dimYid); 407 dims.push_back(dimXid); 388 408 break; 389 409 } … … 674 694 } 675 695 696 void CNc4DataOutput::writeLocalAttributes_IOIPSL 697 (int ibegin, int ni, int jbegin, int nj, int ni_glo, int nj_glo, int rank, int size) 698 { 699 CArray<int,1> array(2) ; 700 701 SuperClassWriter::addAttribute("DOMAIN_number_total",size ) ; 702 SuperClassWriter::addAttribute("DOMAIN_number", rank) ; 703 array=1,2 ; 704 SuperClassWriter::addAttribute("DOMAIN_dimensions_ids",array) ; 705 array=ni_glo,nj_glo ; 706 SuperClassWriter::addAttribute("DOMAIN_size_global", array) ; 707 array=ni,nj ; 708 SuperClassWriter::addAttribute("DOMAIN_size_local", array) ; 709 array=ibegin,jbegin ; 710 SuperClassWriter::addAttribute("DOMAIN_position_first", array) ; 711 array=ibegin+ni-1,jbegin+nj-1 ; 712 SuperClassWriter::addAttribute("DOMAIN_position_last",array) ; 713 array=0,0 ; 714 SuperClassWriter::addAttribute("DOMAIN_halo_size_start", array) ; 715 SuperClassWriter::addAttribute("DOMAIN_halo_size_end", array); 716 SuperClassWriter::addAttribute("DOMAIN_type",string("box")) ; 717 /* 718 SuperClassWriter::addAttribute("DOMAIN_DIM_N001",string("x")) ; 719 SuperClassWriter::addAttribute("DOMAIN_DIM_N002",string("y")) ; 720 SuperClassWriter::addAttribute("DOMAIN_DIM_N003",string("axis_A")) ; 721 SuperClassWriter::addAttribute("DOMAIN_DIM_N004",string("time_counter")) ; 722 */ 723 724 } 676 725 //--------------------------------------------------------------- 677 726
Note: See TracChangeset
for help on using the changeset viewer.