Ignore:
Timestamp:
03/24/21 09:22:46 (3 years ago)
Author:
jderouillat
Message:

Backport fix 1919 about checkValid in extract_domain_to_axis

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/node/extract_domain_to_axis.cpp

    r2011 r2116  
    6767    { 
    6868      case direction_attr::jDir: 
    69         if (axis_n_glo != domain_ni_glo) 
     69        if (axis_n_glo != domain_nj_glo) 
    7070          ERROR("CExtractDomainToAxis::checkValid(CAxis* axisDst, CDomain* domainSrc)", 
    71             << "Extract domain along j, axis destination should have n_glo equal to ni_glo of domain source" 
    72             << "Domain source " <<domainSrc->getId() << " has nj_glo " << domain_ni_glo << std::endl 
     71            << "Extract domain along j, axis destination should have n_glo equal to nj_glo of domain source" 
     72            << "Domain source " <<domainSrc->getId() << " has nj_glo " << domain_nj_glo << std::endl 
    7373            << "Axis destination " << axisDst->getId() << " has n_glo " << axis_n_glo); 
    74         if ((position < 0) || (position > domain_ni_glo)) 
     74        if ((position < 0) || (position >= domain_ni_glo)) 
    7575        ERROR("CExtractDomainToAxis::checkValid(CAxis* axisDst, CDomain* domainSrc)", 
    76           << "Extract domain along j, position should be inside 0 and ni_glo of domain source" 
    77           << "Domain source " <<domainSrc->getId() << " has nj_glo " << domain_ni_glo << std::endl 
     76          << "Extract domain along j, position should be inside 0 and ni_glo-1 of domain source" 
     77          << "Domain source " <<domainSrc->getId() << " has ni_glo " << domain_ni_glo << std::endl 
    7878          << "Axis destination " << axisDst->getId() << std::endl 
    7979          << "Position " << position); 
     
    8181 
    8282      case direction_attr::iDir: 
    83         if (axis_n_glo != domain_nj_glo) 
     83        if (axis_n_glo != domain_ni_glo) 
    8484          ERROR("CExtractDomainToAxis::checkValid(CAxis* axisDst, CDomain* domainSrc)", 
    85             << "Extract domain along i, axis destination should have n_glo equal to nj_glo of domain source" 
    86             << "Domain source " <<domainSrc->getId() << " has nj_glo " << domain_nj_glo << std::endl 
     85            << "Extract domain along i, axis destination should have n_glo equal to ni_glo of domain source" 
     86            << "Domain source " <<domainSrc->getId() << " has ni_glo " << domain_ni_glo << std::endl 
    8787            << "Axis destination " << axisDst->getId() << " has n_glo " << axis_n_glo); 
    88         if ((position < 0) || (position > domain_nj_glo)) 
     88        if ((position < 0) || (position >= domain_nj_glo)) 
    8989        ERROR("CExtractDomainToAxis::checkValid(CAxis* axisDst, CDomain* domainSrc)", 
    90           << "Extract domain along i, position should be inside 0 and nj_glo of domain source" 
    91           << "Domain source " <<domainSrc->getId() << " has nj_glo " << domain_ni_glo << std::endl 
     90          << "Extract domain along i, position should be inside 0 and nj_glo-1 of domain source" 
     91          << "Domain source " <<domainSrc->getId() << " has nj_glo " << domain_nj_glo << std::endl 
    9292          << "Axis destination " << axisDst->getId() << std::endl 
    9393          << "Position " << position); 
Note: See TracChangeset for help on using the changeset viewer.