anchor.diff:          integer, intent(in) :: vsmooth
           integer, intent(in) :: winsz
           
  -        integer :: nx,ny,nz,i,j,k, smoothz
  +        integer :: nx,nxu, ny,nyv, nz, i,j,k, smoothz
           integer :: uk, vi !store a separate value of i for v and of k for u to we can handle nx+1, ny+1
           integer :: step, dpos, npos, spos, nexts, nextd, nextn
           integer :: north, south, east, west, top, bottom, n
  
positive.code:         !$omp end do
          !$omp barrier
          !$omp do
          do k=1, ny+1
              do j=1, nz
                  do i=1, nx+1
                      uk = min(k,ny)
                      vi = min(i,nx)
                      
  
negative.code:         nx=size(domain%lat,1)
          ny=size(domain%lat,2)
          nz=size(domain%u,2)
          nxu=size(domain%u,1)
          nyv=size(domain%v,3)
  
          if (reverse) then
              u_LUT=>rev_u_LUT
  