anchor.diff:  
       end function
   
  -    subroutine spatial_winds(domain,reverse, vsmooth)
  +    subroutine spatial_winds(domain,reverse, vsmooth, winsz)
           ! compute a spatially variable linear wind perturbation
           ! based off of look uptables computed in via setup
           ! for each grid point, find the closest LUT data in U and V space
  
positive.code:         class(linearizable_type),intent(inout)::domain
          logical, intent(in) :: reverse
          integer, intent(in) :: vsmooth
          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, winsz, n
          real :: dweight, nweight, sweight, curspd, curdir, curnsq, wind_first, wind_second
  
          nx=size(domain%lat,1)
  
negative.code:             u_LUT=>hi_u_LUT
              v_LUT=>hi_v_LUT
          endif
          !$omp parallel firstprivate(nx,ny,nz, vsmooth, winsz), default(none), &
          !$omp private(i,j,k,step, uk, vi, east, west, north, south, top, bottom), &
          !$omp private(spos, dpos, npos, nexts,nextd, nextn,n, winsz, smoothz), &
          !$omp private(wind_first, wind_second, curspd, curdir, curnsq, sweight,dweight, nweight), &
          !$omp shared(domain, spd_values, dir_values, nsq_values, u_LUT, v_LUT), &
          !$omp shared(u_perturbation, v_perturbation, linear_update_fraction, nsq_calibration), &
          !$omp shared(min_stability, max_stability, n_dir_values, n_spd_values, n_nsq_values, smooth_nsq)
          !$omp do
          do k=1,ny
              do j=1,nz
  