Changeset 611 for XIOS/branchs/xios-1.0/src/output/nc4_data_output.cpp
- Timestamp:
- 06/10/15 10:39:11 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/branchs/xios-1.0/src/output/nc4_data_output.cpp
r609 r611 98 98 99 99 string lonid,latid,bounds_lonid,bounds_latid ; 100 string areaId = "area" + appendDomid; 100 101 /* 101 102 StdString lonid_loc = (server->intraCommSize > 1) … … 209 210 //SuperClassWriter::setDefaultValue(maskid, &dvm); 210 211 212 if (domain->hasArea) 213 { 214 SuperClassWriter::addVariable(areaId, NC_FLOAT, dim0); 215 SuperClassWriter::addAttribute("units", StdString("m2"), &areaId); 216 } 217 211 218 SuperClassWriter::definition_end(); 212 219 … … 224 231 break; 225 232 } 233 234 if (domain->hasArea) 235 SuperClassWriter::writeData(domain->area_srv, areaId, isCollective, 0); 236 226 237 SuperClassWriter::definition_start(); 227 238 … … 232 243 SuperClassWriter::addDimension(dimXid, domain->zoom_ni.getValue()); 233 244 SuperClassWriter::addDimension(dimYid, domain->zoom_nj.getValue()); 234 235 245 236 246 switch (domain->type) … … 253 263 break; 254 264 } 265 266 if (domain->hasArea) 267 { 268 dim0.clear(); 269 dim0.push_back(dimYid); dim0.push_back(dimXid); 270 SuperClassWriter::addVariable(areaId, NC_FLOAT, dim0); 271 SuperClassWriter::addAttribute("units", StdString("m2"), &areaId); 272 dim0.clear(); 273 } 274 255 275 this->writeAxisAttributes 256 276 (lonid, "X", "longitude", "Longitude", "degrees_east", domid); … … 258 278 (latid, "Y", "latitude", "Latitude", "degrees_north", domid); 259 279 260 261 280 SuperClassWriter::definition_end(); 281 262 282 switch (domain->type) 263 283 { … … 268 288 if (domain->isEmpty()) 269 289 { 270 start[0]=0 ; start 290 start[0]=0 ; start[1]=0 ; 271 291 count[0]=0 ; count[1]=0 ; 272 292 } … … 306 326 } 307 327 } 328 329 if (domain->hasArea) 330 { 331 std::vector<StdSize> start(2); 332 std::vector<StdSize> count(2); 333 334 if (domain->isEmpty()) 335 { 336 start[0] = 0; start[1] = 0; 337 count[0] = 0; count[1] = 0; 338 } 339 else 340 { 341 start[1] = domain->zoom_ibegin_srv - domain->zoom_ibegin.getValue(); 342 start[0] = domain->zoom_jbegin_srv - domain->zoom_jbegin.getValue(); 343 count[1] = domain->zoom_ni_srv; 344 count[0] = domain->zoom_nj_srv; 345 } 346 347 SuperClassWriter::writeData(domain->area_srv, areaId, isCollective, 0, &start, &count); 348 } 349 308 350 SuperClassWriter::definition_start(); 351 309 352 break; 310 353 } … … 349 392 350 393 string lonid,latid,bounds_lonid,bounds_latid ; 394 string areaId = "area" + appendDomid; 351 395 352 396 try … … 385 429 dim0.push_back(dimXid); 386 430 431 if (domain->hasArea) 432 { 433 SuperClassWriter::addVariable(areaId, NC_FLOAT, dim0); 434 SuperClassWriter::addAttribute("units", StdString("m2"), &areaId); 435 } 436 387 437 SuperClassWriter::definition_end(); 388 438 … … 395 445 SuperClassWriter::writeData(domain->bounds_lat_srv, bounds_latid, isCollective, 0); 396 446 } 447 448 if (domain->hasArea) 449 SuperClassWriter::writeData(domain->area_srv, areaId, isCollective, 0); 450 397 451 SuperClassWriter::definition_start(); 398 452 break ; … … 424 478 } 425 479 480 if (domain->hasArea) 481 { 482 dim0.clear(); 483 dim0.push_back(dimXid); 484 SuperClassWriter::addVariable(areaId, NC_FLOAT, dim0); 485 SuperClassWriter::addAttribute("units", StdString("m2"), &areaId); 486 } 487 426 488 SuperClassWriter::definition_end(); 427 489 … … 454 516 } 455 517 518 if (domain->hasArea) 519 SuperClassWriter::writeData(domain->area_srv, areaId, isCollective, 0, &start, &count); 456 520 457 521 SuperClassWriter::definition_start(); … … 740 804 SuperClassWriter::addAttribute("interval_write", duration.toString(), &fieldid); 741 805 } 806 807 if (domain->hasArea) 808 SuperClassWriter::addAttribute("cell_measures", "area: area" + appendDomid, &fieldid); 742 809 743 810 if (!field->default_value.isEmpty())
Note: See TracChangeset
for help on using the changeset viewer.