Changeset 628


Ignore:
Timestamp:
06/24/15 14:51:09 (6 years ago)
Author:
rlacroix
Message:

Fix: Do not use a hardcoded value for the "DOMAIN_dimensions_ids" attribute.

After the CF-compliance changes, the hardcoded value was sometimes wrong.

Location:
XIOS
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • XIOS/branchs/xios-1.0/src/output/nc4_data_output.cpp

    r618 r628  
    154154                                              appendDomid); 
    155155 
    156                    if (singleDomain) this->writeLocalAttributes_IOIPSL(domain->zoom_ibegin_srv, 
    157                                                  domain->zoom_ni_srv, 
    158                                                  domain->zoom_jbegin_srv, 
    159                                                  domain->zoom_nj_srv, 
    160                                                  domain->ni_glo,domain->nj_glo, 
    161                                                  server->intraCommRank,server->intraCommSize); 
     156                   if (singleDomain) 
     157                    this->writeLocalAttributes_IOIPSL(dimXid, dimYid, 
     158                                                      domain->zoom_ibegin_srv, 
     159                                                      domain->zoom_ni_srv, 
     160                                                      domain->zoom_jbegin_srv, 
     161                                                      domain->zoom_nj_srv, 
     162                                                      domain->ni_glo,domain->nj_glo, 
     163                                                      server->intraCommRank,server->intraCommSize); 
    162164                 } 
    163165 
     
    14301432      } 
    14311433 
    1432      void CNc4DataOutput::writeLocalAttributes_IOIPSL 
    1433          (int ibegin, int ni, int jbegin, int nj, int ni_glo, int nj_glo, int rank, int size) 
     1434      void CNc4DataOutput::writeLocalAttributes_IOIPSL(const StdString& dimXid, const StdString& dimYid, 
     1435                                                       int ibegin, int ni, int jbegin, int nj, int ni_glo, int nj_glo, int rank, int size) 
    14341436      { 
    14351437         CArray<int,1> array(2) ; 
     
    14391441           SuperClassWriter::addAttribute("DOMAIN_number_total",size ) ; 
    14401442           SuperClassWriter::addAttribute("DOMAIN_number", rank) ; 
    1441            array=1,2 ; 
     1443           array=SuperClassWriter::getDimension(dimXid),SuperClassWriter::getDimension(dimYid); 
    14421444           SuperClassWriter::addAttribute("DOMAIN_dimensions_ids",array) ; 
    14431445           array=ni_glo,nj_glo ; 
     
    14621464         catch (CNetCdfException& e) 
    14631465         { 
    1464            StdString msg("On writing Local Attributes IOI PSL \n"); 
     1466           StdString msg("On writing Local Attributes IOIPSL \n"); 
    14651467           msg.append("In the context : "); 
    14661468           CContext* context = CContext::getCurrent() ; 
  • XIOS/branchs/xios-1.0/src/output/nc4_data_output.hpp

    r613 r628  
    5656            void writeUnstructuredDomain (CDomain* domain); 
    5757            void writeLocalAttributes(int ibegin, int ni, int jbegin, int nj, StdString domid); 
    58             void writeLocalAttributes_IOIPSL(int ibegin, int ni, int jbegin, int nj, int ni_glo, int nj_glo, int rank, int size) ; 
     58            void writeLocalAttributes_IOIPSL(const StdString& dimXid, const StdString& dimYid, 
     59                                             int ibegin, int ni, int jbegin, int nj, int ni_glo, int nj_glo, int rank, int size); 
    5960            void writeTimeAxisAttributes(const StdString & axis_name, 
    6061                                         const StdString & calendar, 
  • XIOS/trunk/src/output/nc4_data_output.cpp

    r625 r628  
    155155                                              appendDomid); 
    156156 
    157                    if (singleDomain) this->writeLocalAttributes_IOIPSL(domain->zoom_ibegin_srv, 
    158                                               domain->zoom_ni_srv, 
    159                                               domain->zoom_jbegin_srv, 
    160                                               domain->zoom_nj_srv, 
    161                                               domain->ni_glo,domain->nj_glo, 
    162                                               server->intraCommRank,server->intraCommSize); 
     157                   if (singleDomain) 
     158                    this->writeLocalAttributes_IOIPSL(dimXid, dimYid, 
     159                                                      domain->zoom_ibegin_srv, 
     160                                                      domain->zoom_ni_srv, 
     161                                                      domain->zoom_jbegin_srv, 
     162                                                      domain->zoom_nj_srv, 
     163                                                      domain->ni_glo,domain->nj_glo, 
     164                                                      server->intraCommRank,server->intraCommSize); 
    163165                 } 
    164166 
     
    17931795      } 
    17941796 
    1795      void CNc4DataOutput::writeLocalAttributes_IOIPSL 
    1796          (int ibegin, int ni, int jbegin, int nj, int ni_glo, int nj_glo, int rank, int size) 
     1797      void CNc4DataOutput::writeLocalAttributes_IOIPSL(const StdString& dimXid, const StdString& dimYid, 
     1798                                                       int ibegin, int ni, int jbegin, int nj, int ni_glo, int nj_glo, int rank, int size) 
    17971799      { 
    17981800         CArray<int,1> array(2) ; 
     
    18021804           SuperClassWriter::addAttribute("DOMAIN_number_total",size ) ; 
    18031805           SuperClassWriter::addAttribute("DOMAIN_number", rank) ; 
    1804            array=1,2 ; 
     1806           array=SuperClassWriter::getDimension(dimXid),SuperClassWriter::getDimension(dimYid); 
    18051807           SuperClassWriter::addAttribute("DOMAIN_dimensions_ids",array) ; 
    18061808           array=ni_glo,nj_glo ; 
     
    18251827         catch (CNetCdfException& e) 
    18261828         { 
    1827            StdString msg("On writing Local Attributes IOI PSL \n"); 
     1829           StdString msg("On writing Local Attributes IOIPSL \n"); 
    18281830           msg.append("In the context : "); 
    18291831           CContext* context = CContext::getCurrent() ; 
  • XIOS/trunk/src/output/nc4_data_output.hpp

    r613 r628  
    5757            void writeUnstructuredDomain (CDomain* domain); 
    5858            void writeLocalAttributes(int ibegin, int ni, int jbegin, int nj, StdString domid); 
    59             void writeLocalAttributes_IOIPSL(int ibegin, int ni, int jbegin, int nj, int ni_glo, int nj_glo, int rank, int size) ; 
     59            void writeLocalAttributes_IOIPSL(const StdString& dimXid, const StdString& dimYid, 
     60                                             int ibegin, int ni, int jbegin, int nj, int ni_glo, int nj_glo, int rank, int size); 
    6061            void writeTimeAxisAttributes(const StdString & axis_name, 
    6162                                         const StdString & calendar, 
Note: See TracChangeset for help on using the changeset viewer.