Changeset 2285


Ignore:
Timestamp:
01/10/22 11:29:46 (3 years ago)
Author:
ymipsl
Message:

Fix for vertical interpolation :
fixed pressure level to dynamic pressure level (i.e. for sigma hybrid coordinate)

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/transformation/axis_algorithm_interpolate.cpp

    r2033 r2285  
    375375   
    376376   
    377   if (!has_src) 
     377  if (!has_src && !has_dst) 
    378378  { 
    379379    vecAxisValue.resize(1); 
     
    385385  else  
    386386  { 
    387     CField* field = CField::get(coordinate_); 
     387    CField* field ; 
     388    if (has_src) field = CField::get(coordinate_); 
     389    else field = CField::get(coordinateDST_); 
    388390    CGrid* grid = field->grid; 
    389391 
     
    453455          if (iteIndex != itIndex) 
    454456          { 
    455             vecAxisValue[indexMask](axisValueSize) = (*dataAuxInputs[0])(itIndex->second); 
     457            if (has_src) 
     458            { 
     459              vecAxisValue[indexMask](axisValueSize) = (*dataAuxInputs[0])(itIndex->second); 
     460            } 
     461            else 
     462            { 
     463              vecAxisValue[indexMask](axisValueSize) = axisSrc_-> value(axisValueSize) ; 
     464            } 
    456465            ++axisValueSize; 
    457466          } 
Note: See TracChangeset for help on using the changeset viewer.