Ignore:
Timestamp:
06/27/12 18:25:24 (12 years ago)
Author:
ymipsl
Message:

Add zoom functionnality on vertical axis

YM

File:
1 edited

Legend:

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

    r347 r351  
    225225         if (axis->IsWritten(this->filename)) return; 
    226226         axis->checkAttributes(); 
     227         StdSize zoom_size=axis->zoom_size.getValue() ; 
     228         StdSize zoom_begin=axis->zoom_begin.getValue()-1 ; 
     229          
    227230         std::vector<StdString> dims; 
    228231         StdString axisid = (!axis->name.isEmpty()) 
    229232                           ? axis->name.getValue() : axis->getId(); 
    230          SuperClassWriter::addDimension(axisid, axis->size.getValue()); 
     233         SuperClassWriter::addDimension(axisid, zoom_size); 
    231234         dims.push_back(axisid); 
    232235          
     
    254257 
    255258               SuperClassWriter::definition_end(); 
    256                SuperClassWriter::writeData(axis->value.getValue(), axisid, isCollective, 0); 
     259                
     260               ARRAY(double,1) axis_value=axis->value.getValue() ; 
     261               ARRAY_CREATE(value,double,1,[zoom_size]) ; 
     262               for(StdSize i = 0 ; i < zoom_size ; i++) (*value)[i]=(*axis_value)[i+zoom_begin] ; 
     263               SuperClassWriter::writeData(value, axisid, isCollective, 0); 
     264                
    257265               SuperClassWriter::definition_start(); 
    258266 
     
    490498         { 
    491499            CAxis* axis = grid->axis ; 
    492             ARRAY_CREATE(field_data3D,double,3,[domain->zoom_ni_srv][domain->zoom_nj_srv][axis->size.getValue()]) ; 
     500            ARRAY_CREATE(field_data3D,double,3,[domain->zoom_ni_srv][domain->zoom_nj_srv][axis->zoom_size.getValue()]) ; 
    493501            field->outputField(field_data3D); 
    494502            switch (SuperClass::type) 
     
    513521//                 start[2]=domain->zoom_ibegin_loc.getValue()-domain->zoom_ibegin.getValue() ; start [1]=domain->zoom_jbegin_loc.getValue()-domain->zoom_jbegin.getValue() ; start[0]=0 ; 
    514522                   start[2]=domain->zoom_ibegin_srv-domain->zoom_ibegin.getValue() ; start [1]=domain->zoom_jbegin_srv-domain->zoom_jbegin.getValue() ; start[0]=0 ; 
    515                    count[2]=domain->zoom_ni_srv ; count[1]=domain->zoom_nj_srv ; count[0] = axis->size.getValue(); 
     523                   count[2]=domain->zoom_ni_srv ; count[1]=domain->zoom_nj_srv ; count[0] = axis->zoom_size.getValue(); 
    516524                 } 
    517525                 SuperClassWriter::writeData(field_data3D, fieldid, isCollective, field->getNStep()-1,&start,&count ); 
Note: See TracChangeset for help on using the changeset viewer.