anchor.diff:  
         double precision qcoarse(1-mbc:mx+mbc,1-mbc:my+mbc,meqn)
   
  -      double precision qfine_dummy(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 fpcoarse0(my,meqn)
  -      double precision fmcoarse1(my,meqn)
  -      double precision gpcoarse2(mx,meqn)
  -      double precision gmcoarse3(mx,meqn)
  +      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)
  
positive.code:      &                                          area0, area1,
       &                                          area2, area3,
       &                                          qcoarse,
       &                                          fpcoarse0,fmcoarse1,
       &                                          gpcoarse2,gmcoarse3,
       &                                          fmfine0, fpfine1,
       &                                          gmfine2, gpfine3,
       &                                          efc0, efc1, efc2, efc3,
       &                                          eff0, eff1, eff2, eff3,
       &                                          maskfine, qfine_dummy,
       &                                          transform_cptr)
  
negative.code:       double precision eff2(mx,meqn,0:1)
        double precision eff3(mx,meqn,0:1)
  
        double precision efthis0(my,meqn,0:1)
        double precision efthis1(my,meqn,0:1)
        double precision efthis2(mx,meqn,0:1)
        double precision efthis3(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 deltac, areac
        logical is_valid_correct
  
        double precision fm,fp,gm,gp,ef
  
  c     # This should be refratio*refratio.
        integer rr2
        parameter(rr2 = 4)
        integer i2(0:rr2-1),j2(0:rr2-1)
  
  
        integer a(2,2), f(2), sc
  
        logical is_valid_average, skip_this_grid
  
        call build_transform(transform_cptr,a,f)
  c      write(6,*) a(1,1), a(1,2), a(2,1), a(2,2)
  
  
  
        refratio = 2
  