anchor.diff:                 if (.not. skip_this_grid) then
                     fineval = qfine_dummy(i2(1),j2(1),mq)
                     if (iface_coarse .eq. 2) then
  -                     deltac = fineval + gpcoarse2(ic,mq) + efc2(ic,mq)
  +                     deltac = fineval + gpcoarse2(ic,mq) + efc2(ic,mq,0)
                        areac = area2(ic)
                     else
  -                     deltac = fineval + gmcoarse3(ic,mq) + efc3(ic,mq)
  +                     deltac = fineval + gmcoarse3(ic,mq) + efc3(ic,mq,0)
                        areac = area3(ic)
                     endif
                     qcoarse(ic,jc,mq) = qcoarse(ic,jc,mq) + deltac/areac
  
positive.code:      &                                          qcoarse,
       &                                          fpcoarse0,fmcoarse1,
       &                                          gpcoarse2,gmcoarse3,
       &                                          fm0, fp1,gm0, gp1,
       &                                          efc0, efc1, efc2, efc3,
       &                                          eff0, eff1, eff2, eff3,
       &                                          maskfine, qfine_dummy,
  
negative.code:          do j = 1,my/2
              jj1 = 2*(j-1) + 1     !! indexing starts at 1
              jj2 = 2*(j-1) + 2
              deltam = fmfine0(jj1,mq) + fmfine0(jj2,mq) +
       &               eff0(jj1,mq,1) + eff0(jj2,mq,1)
              deltap = fpfine1(jj1,mq) + fpfine1(jj2,mq) +
       &               eff1(jj1,mq,1) + eff1(jj2,mq,1)
  
              do jj = jj1,jj2
                 do ii = 1,mbc
  