anchor.diff:              enddo
            enddo
         enddo
  -
   
   c     # Add corrections from above to coarse grid.  Use transforms to get
   c     # correct location.
  
positive.code: 
        double precision qthis(1-mbc:mx+mbc,1-mbc:my+mbc,meqn)
  
        double precision qneighbor_dummy(1-mbc:mx+mbc,1-mbc:my+mbc,meqn)
        integer mask(1-mbc:mx+mbc,1-mbc:my+mbc)
  
        double precision area0(my), area1(my), area2(mx), area3(mx)
  
negative.code: 
        end
  
  
        subroutine build_transform_samesize(transform_ptr,a,f)
        implicit none
  
        integer a(2,2)
        integer*8 transform_ptr
        integer f(2)
        integer icn, jcn
        integer i1,j1
  
  c     # Assume index mapping fclaw2d_transform_face has the
  c     # the form
  c     #
  c     #       T(ic,jc) = A*(ic,jc) + F = (icn,jcn)
  c     #
  c     # where (ic,jc) is the coarse grid index, and (icn,jcn)
  c     # is the neighbor grid index.
  c     #
  c     # We can recover coefficients A(2,2) with the following
  c     # calls to T.
  
        i1 = 0
        j1 = 0
        call fclaw2d_transform_face(i1,j1,icn,jcn,
       &      transform_ptr)
        f(1) = icn
        f(2) = jcn
  
        i1 = 1
        j1 = 0
        call fclaw2d_transform_face(i1,j1,icn,jcn,
       &      transform_ptr)
        a(1,1) = icn - f(1)
        a(2,1) = jcn - f(2)
  
        i1 = 0
        j1 = 1
        call fclaw2d_transform_face(i1,j1,icn,jcn,
       &      transform_ptr)
        a(1,2) = icn - f(1)
        a(2,2) = jcn - f(2)
  
        end
  
  
  