anchor.diff:  c     #   (1-ibc, j)   for ibc = 1,mbc,  j = 1-mbc, my+mbc
   c     #   (mx+ibc, j)  for ibc = 1,mbc,  j = 1-mbc, my+mbc
   c
  -      implicit double precision (a-h,o-z)
  -      dimension q(1-mbc:maxmx+mbc, 1-mbc:maxmy+mbc, meqn)
  -      dimension aux(1-mbc:maxmx+mbc, 1-mbc:maxmy+mbc, *)
  -      dimension mthbc(4)
  -
  +      implicit none
  +
  +      integer maxmx, maxmy, meqn, mbc, mx,my,maux
  +      double precision xlower, ylower, dx, dy, t, dt
  +      double precision q(1-mbc:maxmx+mbc, 1-mbc:maxmy+mbc, meqn)
  +      double precision aux(1-mbc:maxmx+mbc, 1-mbc:maxmy+mbc, *)
  +      integer mthbc(4)
  +
  +      double precision rinf, vinf, einf
         common /cominf/ rinf,vinf,einf
   
  +      integer ibc, jbc, i, j, m
  +
   c
   c
   c-------------------------------------------------------
  
positive.code: 
    410 continue
  c     # zero-order extrapolation:
        do 415 m=1,meqn
           do 415 jbc=1,mbc
              do 415 i = 1-mbc, mx+mbc
                 q(i,my+jbc,m) = q(i,my,m)
    415       continue
        go to 499
  
    420 continue
  c     # periodic:
        do 425 m=1,meqn
           do 425 jbc=1,mbc
              do 425 i = 1-mbc, mx+mbc
                 q(i,my+jbc,m) = q(i,jbc,m)
    425       continue
        go to 499
  
    430 continue
  c     # solid wall (assumes 3'rd component is velocity or momentum in y):
        do 435 m=1,meqn
           do 435 jbc=1,mbc
              do 435 i = 1-mbc, mx+mbc
                 q(i,my+jbc,m) = q(i,my+1-jbc,m)
    435       continue
  c     # negate the normal velocity:
        do 436 jbc=1,mbc
           do 436 i = 1-mbc, mx+mbc
              q(i,my+jbc,3) = -q(i,my+1-jbc,3)
    436    continue
        go to 499
  
    499 continue
  
negative.code: 
    210 continue
  c     # zero-order extrapolation:
        do m=1,meqn
           do ibc=1,mbc
              do j = 1-mbc, my+mbc
                 q(mx+ibc,j,m) = q(mx,j,m)
              end do
           end do
        end do
        go to 299
  
    220 continue
  c     # periodic:
        do m=1,meqn
           do ibc=1,mbc
              do j = 1-mbc, my+mbc
                 q(mx+ibc,j,m) = q(ibc,j,m)
              end do
           end do
        end do
        go to 299
  
    230 continue
  c     # solid wall (assumes 2'nd component is velocity or momentum in x):
        do m=1,meqn
           do ibc=1,mbc
              do j = 1-mbc, my+mbc
                 q(mx+ibc,j,m) = q(mx+1-ibc,j,m)
              end do
           end do
        end do
  c     # negate the normal velocity:
        do ibc=1,mbc
           do j = 1-mbc, my+mbc
              q(mx+ibc,j,2) = -q(mx+1-ibc,j,2)
           end do
        end do
        go to 299
  
    299 continue
  