Changeset 1919 for XIOS/trunk/src/node


Ignore:
Timestamp:
07/20/20 12:22:40 (4 years ago)
Author:
yushan
Message:

trunk : bug in routine checkValid in extract_domain_to_axis

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/node/extract_domain_to_axis.cpp

    r980 r1919  
    6666    { 
    6767      case direction_attr::jDir: 
    68         if (axis_n_glo != domain_ni_glo) 
     68        if (axis_n_glo != domain_nj_glo) 
    6969          ERROR("CExtractDomainToAxis::checkValid(CAxis* axisDst, CDomain* domainSrc)", 
    70             << "Extract domain along j, axis destination should have n_glo equal to ni_glo of domain source" 
    71             << "Domain source " <<domainSrc->getId() << " has nj_glo " << domain_ni_glo << std::endl 
     70            << "Extract domain along j, axis destination should have n_glo equal to nj_glo of domain source" 
     71            << "Domain source " <<domainSrc->getId() << " has nj_glo " << domain_nj_glo << std::endl 
    7272            << "Axis destination " << axisDst->getId() << " has n_glo " << axis_n_glo); 
    73         if ((position < 0) || (position > domain_ni_glo)) 
     73        if ((position < 0) || (position >= domain_ni_glo)) 
    7474        ERROR("CExtractDomainToAxis::checkValid(CAxis* axisDst, CDomain* domainSrc)", 
    75           << "Extract domain along j, position should be inside 0 and ni_glo of domain source" 
    76           << "Domain source " <<domainSrc->getId() << " has nj_glo " << domain_ni_glo << std::endl 
     75          << "Extract domain along j, position should be inside 0 and ni_glo-1 of domain source" 
     76          << "Domain source " <<domainSrc->getId() << " has ni_glo " << domain_ni_glo << std::endl 
    7777          << "Axis destination " << axisDst->getId() << std::endl 
    7878          << "Position " << position); 
     
    8080 
    8181      case direction_attr::iDir: 
    82         if (axis_n_glo != domain_nj_glo) 
     82        if (axis_n_glo != domain_ni_glo) 
    8383          ERROR("CExtractDomainToAxis::checkValid(CAxis* axisDst, CDomain* domainSrc)", 
    84             << "Extract domain along i, axis destination should have n_glo equal to nj_glo of domain source" 
    85             << "Domain source " <<domainSrc->getId() << " has nj_glo " << domain_nj_glo << std::endl 
     84            << "Extract domain along i, axis destination should have n_glo equal to ni_glo of domain source" 
     85            << "Domain source " <<domainSrc->getId() << " has ni_glo " << domain_ni_glo << std::endl 
    8686            << "Axis destination " << axisDst->getId() << " has n_glo " << axis_n_glo); 
    87         if ((position < 0) || (position > domain_nj_glo)) 
     87        if ((position < 0) || (position >= domain_nj_glo)) 
    8888        ERROR("CExtractDomainToAxis::checkValid(CAxis* axisDst, CDomain* domainSrc)", 
    89           << "Extract domain along i, position should be inside 0 and nj_glo of domain source" 
    90           << "Domain source " <<domainSrc->getId() << " has nj_glo " << domain_ni_glo << std::endl 
     89          << "Extract domain along i, position should be inside 0 and nj_glo-1 of domain source" 
     90          << "Domain source " <<domainSrc->getId() << " has nj_glo " << domain_nj_glo << std::endl 
    9191          << "Axis destination " << axisDst->getId() << std::endl 
    9292          << "Position " << position); 
Note: See TracChangeset for help on using the changeset viewer.