anchor.diff:       &                                          area0, area1,
        &                                          area2, area3,
        &                                          qcoarse,
  -     &                                          fpcoarse0,fmcoarse1,
  -     &                                          gpcoarse2,gmcoarse3,
  +     &                                          fpthis0,fmthis1,
  +     &                                          gpthis2,gmthis3,
        &                                          fmfine0, fpfine1,
        &                                          gmfine2, gpfine3,
  -     &                                          efc0, efc1, efc2, efc3,
  +     &                                          efthis0, efthis1, 
  +     &                                          efthis2, efthis3,
        &                                          eff0, eff1, eff2, eff3,
        &                                          maskfine, qfine_dummy,
        &                                          transform_cptr)
  
positive.code:       double precision eff2(mx,meqn,0:1)
        double precision eff3(mx,meqn,0:1)
  
        double precision efc0(my,meqn,0:1)
        double precision efc1(my,meqn,0:1)
        double precision efc2(mx,meqn,0:1)
        double precision efc3(mx,meqn,0:1)
  
        integer*8 transform_cptr
  
        integer i,j,ii1,ii2,jj1,jj2,ii,jj, m, mq
        integer ic,jc, r2, refratio
        double precision deltam,deltap, deltac, sum,areac, fineval
        logical is_valid_correct
  
  c     # This should be refratio*refratio.
        integer rr2
        parameter(rr2 = 4)
        integer i2(0:rr2-1),j2(0:rr2-1)
  
        integer a(2,2), ainv(2,2), d, f(2), iff, jff
  
        logical is_valid_average, skip_this_grid
  
  
        refratio = 2
  
negative.code: 
        double precision qcoarse(1-mbc:mx+mbc,1-mbc:my+mbc,meqn)
  
  c     # Double number of ghost cells so they map to whole coarse
  c     # grid cells      
        double precision qfine_dummy(1-2*mbc:mx+2*mbc,
       &                              1-2*mbc:my+2*mbc,meqn)
        integer maskfine(1-mbc:mx+mbc,1-mbc:my+mbc)
  
        double precision area0(my), area1(my), area2(mx), area3(mx)
  
        double precision fpthis0(my,meqn)
        double precision fmthis1(my,meqn)
        double precision gpthis2(mx,meqn)
        double precision gmthis3(mx,meqn)
  
        double precision fmfine0(my,meqn)
        double precision fpfine1(my,meqn)
  