anchor.diff:          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
  
positive.code:         integer, intent(in) :: vsmooth
          integer, intent(in) :: winsz
          
          integer :: nx,ny,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
  
negative.code:         !$omp end do
          !$omp barrier
          !$omp do
          do k=1, nyv
              do j=1, nz
                  do i=1, nxu
                      uk = min(k,ny)
                      vi = min(i,nx)
                      
  