anchor.diff:  
        integer i, j, k, n
        double precision :: vx, vy, vz
  +     double precision :: xx, yy
   
        do n = 1,NVAR
           call filcc(adv(adv_l1,adv_l2,adv_l3,n), &
  
positive.code:      if (adv_l3 < domlo(3)) then
          do k = adv_l3, domlo(3)-1
             do j = adv_l2, adv_h2
                do i = adv_l1, adv_h1
                   adv(i,j,k,URHO) = dens_ambient
                   adv(i,j,k,UTEMP) = temp_ambient
                   adv(i,j,k,UFS:UFS-1+nspec) = dens_ambient*xn_ambient(:)
  
                   vx = adv(i,j,domlo(3),UMX)/adv(i,j,domlo(3),URHO)
                   vy = adv(i,j,domlo(3),UMY)/adv(i,j,domlo(3),URHO)
                   vz = adv(i,j,domlo(3),UMZ)/adv(i,j,domlo(3),URHO)
                   adv(i,j,k,UMX) = dens_ambient*vx
                   adv(i,j,k,UMY) = dens_ambient*vy
                   adv(i,j,k,UMZ) = dens_ambient*vz
  
negative.code:      if (adv_l2 < domlo(2)) then
          do k = adv_l3, adv_h3
             do j = adv_l2, domlo(2)-1
                yy = xlo(2) + dble(j - domlo(2) + HALF)*delta(2) - center(2)
                do i = adv_l1, adv_h1
                   xx = xlo(1) + dble(i - domlo(1) + HALF)*delta(1) - center(1)
  
                   adv(i,j,k,URHO) = dens_ambient
                   adv(i,j,k,UTEMP) = temp_ambient
                   adv(i,j,k,UFS:UFS-1+nspec) = dens_ambient*xn_ambient(:)
  
                   if ( inertial ) then
  
                     vx = (-2.0d0 * M_PI / period) * yy
                     vy = ( 2.0d0 * M_PI / period) * xx
                     vz = ZERO
  
                   else
  
                     vx = adv(domlo(1),j,k,UMX)/adv(domlo(1),j,k,URHO)
                     vy = adv(domlo(1),j,k,UMY)/adv(domlo(1),j,k,URHO)
                     vz = adv(domlo(1),j,k,UMZ)/adv(domlo(1),j,k,URHO)
   
                   endif
  
                   adv(i,j,k,UMX) = dens_ambient*vx
                   adv(i,j,k,UMY) = dens_ambient*vy
                   adv(i,j,k,UMZ) = dens_ambient*vz
  