Ignore:
Timestamp:
09/18/11 23:56:48 (13 years ago)
Author:
hozdoba
Message:

Corrections de bugs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XMLIO_V2/dev/dev_rv/src/xmlio/output/nc4_data_output.cpp

    r272 r276  
    88#include "file.hpp" 
    99#include "calendar.hpp" 
     10#include "xios_manager.hpp" 
     11#include "context.hpp" 
    1012 
    1113namespace xmlioserver 
     
    104106               SuperClassWriter::addDimension(lonid_loc, domain->zoom_ni_loc.getValue()); 
    105107               SuperClassWriter::addDimension(latid_loc, domain->zoom_nj_loc.getValue()); 
    106                this->writeLocalAttributes(domain->zoom_ibegin_loc.getValue(), 
    107                                           domain->zoom_ni_loc.getValue(), 
    108                                           domain->zoom_jbegin_loc.getValue(), 
    109                                           domain->zoom_nj_loc.getValue(), 
    110                                           domid); 
     108               if (comm::CMPIManager::GetCommSize(CXIOSManager::Comm_Server) > 1) 
     109               { 
     110                  this->writeLocalAttributes(domain->zoom_ibegin_loc.getValue(), 
     111                                             domain->zoom_ni_loc.getValue(), 
     112                                             domain->zoom_jbegin_loc.getValue(), 
     113                                             domain->zoom_nj_loc.getValue(), 
     114                                             domid); 
     115               } 
     116                
    111117               if (isCurvilinear) 
    112118               { 
     
    128134               dim0.push_back(lonid_loc); 
    129135 
    130                SuperClassWriter::addVariable(maskid, NC_INT, dim0); 
    131  
    132                this->writeMaskAttributes(maskid, 
    133                   domain->data_dim.getValue()/*, 
    134                   domain->data_ni.getValue(), 
    135                   domain->data_nj.getValue(), 
    136                   domain->data_ibegin.getValue(), 
    137                   domain->data_jbegin.getValue()*/); 
     136               if (comm::CMPIManager::GetCommSize(CXIOSManager::Comm_Server) > 1) 
     137               { 
     138                  SuperClassWriter::addVariable(maskid, NC_INT, dim0); 
     139 
     140                  this->writeMaskAttributes(maskid, 
     141                     domain->data_dim.getValue()/*, 
     142                     domain->data_ni.getValue(), 
     143                     domain->data_nj.getValue(), 
     144                     domain->data_ibegin.getValue(), 
     145                     domain->data_jbegin.getValue()*/); 
     146               } 
    138147                   
    139148               //SuperClassWriter::setDefaultValue(maskid, &dvm); 
     
    142151               SuperClassWriter::writeData(domain->latvalue.getValue(), latid, true, 0); 
    143152               SuperClassWriter::writeData(domain->lonvalue.getValue(), lonid, true, 0); 
    144                SuperClassWriter::writeData(mask, maskid); 
     153               if (comm::CMPIManager::GetCommSize(CXIOSManager::Comm_Server) > 1) 
     154                  SuperClassWriter::writeData(mask, maskid); 
    145155               SuperClassWriter::definition_start(); 
    146156 
     
    169179         switch (SuperClass::type) 
    170180         { 
     181            case (ONE_FILE) : 
    171182            case (MULTI_FILE) : 
    172183            { 
     
    376387                             ? field->name.getValue()  
    377388                             : field->getBaseFieldReference()->getId(); 
     389         boost::shared_ptr<xmlioserver::tree::CContext> context = 
     390            CObjectFactory::GetObject<xmlioserver::tree::CContext> 
     391               (CObjectFactory::GetCurrentContextId()); 
     392                              
     393         StdOStringStream oss; 
     394         oss << "time_" << field->operation.getValue() 
     395             << "_" << field->getRelFile()->output_freq.getValue(); 
     396              
    378397         ARRAY(double, 1) field_data = field->getData(); 
     398         ARRAY_CREATE(time_data, double, 1, [1]); 
     399         (*time_data)[0] = date::Time(*field->getLastWriteDate()); 
    379400          
    380401         if (grid->hasAxis()) // 3D 
     
    383404            grid->outputField(field_data, field_data3D); 
    384405            SuperClassWriter::writeData(field_data3D, fieldid, true, field->getNStep()-1); 
     406            SuperClassWriter::writeData(time_data, oss.str(), true, field->getNStep()-1); 
    385407             
    386408         } 
     
    390412            grid->outputField(field_data,  field_data2D); 
    391413            SuperClassWriter::writeData(field_data2D, fieldid, true, field->getNStep()-1); 
     414            SuperClassWriter::writeData(time_data, oss.str(), true, field->getNStep()-1); 
    392415         } 
    393416      } 
Note: See TracChangeset for help on using the changeset viewer.