Changeset 444


Ignore:
Timestamp:
06/19/13 10:04:28 (11 years ago)
Author:
ymipsl
Message:

suppress time axis writing for "once" operation

YM

File:
1 edited

Legend:

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

    r437 r444  
    571571              
    572572         CArray<double,1> time_data(1) ; 
    573           
    574          if (field->operation.getValue()=="instant") time_data(0) = Time(*field->last_Write_srv) 
     573         
     574        bool wtime   = !(!field->operation.isEmpty() && 
     575                         ( field->operation.getValue().compare("once") == 0)); 
     576                                  
     577        if (wtime) 
     578        { 
     579          if (field->operation.getValue()=="instant") time_data(0) = Time(*field->last_Write_srv) 
    575580                                                                      -Time(context->calendar->getTimeOrigin()); 
    576          else time_data(0) = (Time(*field->last_Write_srv)+Time(*field->lastlast_Write_srv))/2 
    577                                -Time(context->calendar->getTimeOrigin()); 
     581          else time_data(0) = (Time(*field->last_Write_srv)+Time(*field->lastlast_Write_srv))/2 
     582                                -Time(context->calendar->getTimeOrigin()); 
     583         } 
    578584          
    579585          
     
    593599              { 
    594600                 SuperClassWriter::writeData(field_data3D, fieldid, isCollective, field->getNStep()-1); 
    595                  SuperClassWriter::writeData(time_data, oss.str(), isCollective, field->getNStep()-1); 
     601                 if (wtime) SuperClassWriter::writeData(time_data, oss.str(), isCollective, field->getNStep()-1); 
    596602                 break ; 
    597603              } 
     
    612618                 } 
    613619                 SuperClassWriter::writeData(field_data3D, fieldid, isCollective, field->getNStep()-1,&start,&count ); 
    614                  SuperClassWriter::writeTimeAxisData(time_data, oss.str(), isCollective, field->getNStep()-1,isRoot ); 
     620                 if (wtime) SuperClassWriter::writeTimeAxisData(time_data, oss.str(), isCollective, field->getNStep()-1,isRoot ); 
    615621                 break; 
    616622              } 
     
    628634              { 
    629635                SuperClassWriter::writeData(field_data2D, fieldid, isCollective, field->getNStep()-1); 
    630                 SuperClassWriter::writeData(time_data, oss.str(), isCollective, field->getNStep()-1); 
     636                if (wtime) SuperClassWriter::writeData(time_data, oss.str(), isCollective, field->getNStep()-1); 
    631637                break; 
    632638              } 
     
    647653 
    648654                 SuperClassWriter::writeData(field_data2D, fieldid, isCollective, field->getNStep()-1,&start,&count); 
    649                  SuperClassWriter::writeTimeAxisData(time_data, oss.str(), isCollective, field->getNStep()-1,isRoot); 
     655                 if (wtime) SuperClassWriter::writeTimeAxisData(time_data, oss.str(), isCollective, field->getNStep()-1,isRoot); 
    650656                 break;  
    651657               
     
    662668      { 
    663669         StdOStringStream oss; 
     670          
     671         if (field->operation.getValue().compare("once") == 0) return ; 
     672                          
    664673         oss << "time_" << field->operation.getValue() 
    665674             << "_" << field->getRelFile()->output_freq.getValue(); 
Note: See TracChangeset for help on using the changeset viewer.