Ignore:
Timestamp:
05/24/11 08:21:57 (13 years ago)
Author:
hozdoba
Message:
 
Location:
XMLIO_V2/dev/dev_rv/src/xmlio/output
Files:
3 edited

Legend:

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

    r189 r201  
    6767         if (domain->isEmpty()) return; 
    6868 
     69         int dvm = 1; 
     70 
    6971         std::vector<StdString> dim0, dim1; 
    7072         StdString domid     = (!domain->name.isEmpty()) 
     
    101103               SuperClassWriter::addDimension(lonid_loc, domain->zoom_ni_loc.getValue()); 
    102104               SuperClassWriter::addDimension(latid_loc, domain->zoom_nj_loc.getValue()); 
    103                this->writeLocalAttributes(domain->ibegin.getValue(), domain->iend.getValue(), 
    104                                           domain->jbegin.getValue(), domain->jend.getValue(), 
     105               this->writeLocalAttributes(domain->zoom_ibegin_loc.getValue(), 
     106                                          domain->zoom_ni_loc.getValue(), 
     107                                          domain->zoom_jbegin_loc.getValue(), 
     108                                          domain->zoom_nj_loc.getValue(), 
    105109                                          domid); 
    106110               if (isCurvilinear) 
     
    131135                  domain->data_ibegin.getValue(), 
    132136                  domain->data_jbegin.getValue()*/); 
     137                   
     138               SuperClassWriter::setDefaultValue(maskid, &dvm); 
    133139 
    134140               SuperClassWriter::definition_end(); 
     
    224230         bool wtime   = !(!field->operation.isEmpty() && 
    225231                         ( field->operation.getValue().compare("once") == 0)); 
    226  
     232                          
    227233         if (wtime) dims.push_back(timeid); 
    228234 
     
    278284                        ("interval_write", field->getRelFile()->output_freq.getValue(), &fieldid); 
    279285               } 
     286                
     287               if (!field->default_value.isEmpty()) 
     288               { 
     289                  double default_value = field->default_value.getValue(); 
     290                  float fdefault_value = (float)default_value; 
     291                  if (type == NC_DOUBLE) 
     292                     SuperClassWriter::setDefaultValue(fieldid, &default_value); 
     293                  else 
     294                     SuperClassWriter::setDefaultValue(fieldid, &fdefault_value); 
     295               } 
     296               else 
     297               { 
     298                  double * default_value = NULL; 
     299                  SuperClassWriter::setDefaultValue(fieldid, default_value); 
     300               }              
    280301 
    281302               {  // Ecriture des coordonnées 
     
    381402       
    382403      void CNc4DataOutput::writeLocalAttributes 
    383          (int ibegin, int iend, int jbegin, int jend, StdString domid) 
     404         (int ibegin, int ni, int jbegin, int nj, StdString domid) 
    384405      { 
    385406         SuperClassWriter::addAttribute(StdString("ibegin_").append(domid), ibegin); 
    386          SuperClassWriter::addAttribute(StdString("iend_"  ).append(domid), iend); 
     407         SuperClassWriter::addAttribute(StdString("ni_"    ).append(domid), ni); 
    387408         SuperClassWriter::addAttribute(StdString("jbegin_").append(domid), jbegin); 
    388          SuperClassWriter::addAttribute(StdString("jend_"  ).append(domid), jend); 
     409         SuperClassWriter::addAttribute(StdString("nj_"    ).append(domid), nj); 
    389410      } 
    390411 
  • XMLIO_V2/dev/dev_rv/src/xmlio/output/nc4_data_output.hpp

    r189 r201  
    5252         protected : 
    5353          
    54             void writeLocalAttributes(int ibegin, int iend, int jbegin, int jend, StdString domid); 
     54            void writeLocalAttributes(int ibegin, int ni, int jbegin, int nj, StdString domid); 
    5555 
    5656            void writeFileAttributes(const StdString & name, 
  • XMLIO_V2/dev/dev_rv/src/xmlio/output/onetcdf4.hpp

    r189 r201  
    5353      //---------------------------------------------------------------- 
    5454         public : 
     55          
     56            template <class T> 
     57               void setDefaultValue(const StdString & varname, const T * value = NULL); 
    5558          
    5659            template <class T> 
     
    137140         this->writeData_(grpid, varid, sstart, scount, data->data()); 
    138141      } 
     142       
     143      //---------------------------------------------------------------- 
     144            
     145      template <class T> 
     146         void CONetCDF4::setDefaultValue(const StdString & varname, const T * value) 
     147      { 
     148         int grpid = this->getCurrentGroup(); 
     149         int varid = this->getVariable(varname); 
     150          
     151         if (value != NULL) 
     152         { 
     153            CheckError(nc_def_var_fill(grpid, varid, 0, value)); 
     154            this->addAttribute(StdString("missing_value"), *value, &varname); 
     155         } 
     156         else 
     157            CheckError(nc_def_var_fill(grpid, varid, 1, NULL));          
     158      } 
    139159      
    140160      ///--------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.