Ignore:
Timestamp:
02/21/12 15:34:27 (12 years ago)
Author:
ymipsl
Message:
  • Adding new file attribut : sync_freq : flush file for a given frequency
  • Now, when a file has a single domain, domain id is not anymore appended to the coordinate name.

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/output/nc4_data_output.cpp

    r316 r318  
    7070         StdString domid     = (!domain->name.isEmpty()) 
    7171                             ? domain->name.getValue() : domain->getId(); 
    72          StdString lonid     = StdString("lon_").append(domid); 
    73          StdString latid     = StdString("lat_").append(domid); 
     72         StdString appendDomid  = (singleDomain) ? "" : "_"+domid ; 
     73 
     74         StdString lonid     = StdString("lon").append(appendDomid); 
     75         StdString latid     = StdString("lat").append(appendDomid); 
    7476         StdString lonid_loc = (server->intraCommSize > 1) 
    75                              ? StdString("lon_").append(domid).append("_local") 
     77                             ? StdString("lon").append(appendDomid).append("_local") 
    7678                             : lonid; 
    7779         StdString latid_loc = (server->intraCommSize > 1) 
    78                              ? StdString("lat_").append(domid).append("_local") 
     80                             ? StdString("lat").append(appendDomid).append("_local") 
    7981                             : latid; 
    8082// supress mask         StdString maskid    = StdString("mask_").append(domid).append("_local"); 
     
    101103               { 
    102104                 dim0.push_back(latid_loc); dim0.push_back(lonid_loc); 
    103                  lonid = StdString("nav_lon_").append(domid); 
    104                  latid = StdString("nav_lat_").append(domid); 
     105                 lonid = StdString("nav_lon").append(appendDomid); 
     106                 latid = StdString("nav_lat").append(appendDomid); 
    105107               } 
    106108               else 
     
    118120                                             domain->zoom_jbegin_srv, 
    119121                                             domain->zoom_nj_srv, 
    120                                              domid); 
     122                                             appendDomid); 
    121123               } 
    122124                
     
    172174               { 
    173175                  dim0.push_back(latid); dim0.push_back(lonid); 
    174                   lonid = StdString("nav_lon_").append(domid); 
    175                   latid = StdString("nav_lat_").append(domid); 
     176                  lonid = StdString("nav_lon").append(appendDomid); 
     177                  latid = StdString("nav_lat").append(appendDomid); 
    176178                  SuperClassWriter::addVariable(latid, NC_FLOAT, dim0); 
    177179                  SuperClassWriter::addVariable(lonid, NC_FLOAT, dim0); 
     
    283285         StdString domid     = (!domain->name.isEmpty()) 
    284286                             ? domain->name.getValue() : domain->getId(); 
    285          StdString lonid     = StdString("lon_").append(domid); 
    286          StdString latid     = StdString("lat_").append(domid); 
     287         StdString appendDomid  = (singleDomain) ? "" : "_"+domid ; 
     288 
     289         StdString lonid     = StdString("lon").append(appendDomid); 
     290         StdString latid     = StdString("lat").append(appendDomid); 
    287291         StdString lonid_loc = (server->intraCommSize > 1) 
    288                              ? StdString("lon_").append(domid).append("_local") 
     292                             ? StdString("lon").append(appendDomid).append("_local") 
    289293                             : lonid; 
    290294         StdString latid_loc = (server->intraCommSize > 1) 
    291                              ? StdString("lat_").append(domid).append("_local") 
     295                             ? StdString("lat").append(appendDomid).append("_local") 
    292296                             : latid; 
    293297         StdString fieldid   = (!field->name.isEmpty()) 
     
    324328         if (isCurvilinear) 
    325329         { 
    326             coodinates.push_back(StdString("nav_lat_").append(domid)); 
    327             coodinates.push_back(StdString("nav_lon_").append(domid)); 
     330            coodinates.push_back(StdString("nav_lat").append(appendDomid)); 
     331            coodinates.push_back(StdString("nav_lon").append(appendDomid)); 
    328332         } 
    329333         else 
     
    426430                                   StdString("An IPSL model"), 
    427431                                   this->getTimeStamp()); 
     432         if (file->nbDomain==1) singleDomain=true ; 
     433         else singleDomain=false ; 
    428434      } 
    429435 
     
    454460      { 
    455461         shared_ptr<CContext> context=CObjectFactory::GetObject<CContext>(CObjectFactory::GetCurrentContextId()) ; 
     462          if (field->getRelFile()->isSyncTime()) SuperClassWriter::sync() ; 
    456463 
    457464         boost::shared_ptr<CGrid> grid = field->grid ; 
     
    615622         (int ibegin, int ni, int jbegin, int nj, StdString domid) 
    616623      { 
    617          SuperClassWriter::addAttribute(StdString("ibegin_").append(domid), ibegin); 
    618          SuperClassWriter::addAttribute(StdString("ni_"    ).append(domid), ni); 
    619          SuperClassWriter::addAttribute(StdString("jbegin_").append(domid), jbegin); 
    620          SuperClassWriter::addAttribute(StdString("nj_"    ).append(domid), nj); 
     624         SuperClassWriter::addAttribute(StdString("ibegin").append(domid), ibegin); 
     625         SuperClassWriter::addAttribute(StdString("ni"    ).append(domid), ni); 
     626         SuperClassWriter::addAttribute(StdString("jbegin").append(domid), jbegin); 
     627         SuperClassWriter::addAttribute(StdString("nj"    ).append(domid), nj); 
    621628      } 
    622629 
Note: See TracChangeset for help on using the changeset viewer.