diff --git a/src/atlas/interpolation/method/structured/StructuredInterpolation2D.tcc b/src/atlas/interpolation/method/structured/StructuredInterpolation2D.tcc index 6dc81cc40..f80d23bfa 100644 --- a/src/atlas/interpolation/method/structured/StructuredInterpolation2D.tcc +++ b/src/atlas/interpolation/method/structured/StructuredInterpolation2D.tcc @@ -433,9 +433,10 @@ void StructuredInterpolation2D::setup( const FunctionSpace& source ) { auto inp_npts_owned = src_fs.sizeOwned(); for (auto& t : triplets) { - ATLAS_ASSERT(t.col() < inp_npts && gidx_src(t.col()) >= 1); - t = {t.row(), eckit::linalg::Size(gidx_src(t.col()) - 1), t.value()}; - ATLAS_ASSERT(t.col() < inp_npts_owned); + auto& col = t.col(); + ATLAS_ASSERT(col < inp_npts && gidx_src(col) >= 1); + col = gidx_src(col) - 1; + ATLAS_ASSERT(col < inp_npts_owned); } inp_npts = inp_npts_owned;