anchor.diff:              ! initialization has to happen in each thread so each thread has its own copy
               ! lt_data_m is a threadprivate variable, within initialization, there are omp critical sections for fftw calls
               call initialize_linear_theory_data(lt_data_m, fftnx, fftny, domain%dx)
  -            allocate(temporary_u(fftnx - buffer*2, fftny - buffer*2, nz), source=0.0)
  -            allocate(temporary_v(fftnx - buffer*2, fftny - buffer*2, nz), source=0.0)
  +            allocate(temporary_u(fftnx - buffer*2+1, fftny - buffer*2,   nz), source=0.0)
  +            allocate(temporary_v(fftnx - buffer*2,   fftny - buffer*2+1, nz), source=0.0)
   
               ! $omp do
               do ijk = start_pos, stop_pos
  
positive.code:                       jme => grids(img)%jme  &
                  )
              !$omp critical
              if (this_image()==1) print*, "What does it mean that ime,jme are -1 here... this needs thought"
              LUT(k,i,j, 1:ime-ims, z, 1:jme-jms)[img] = wind(ims:ime-1,jms:jme-1,z)
              !$omp end critical
  
              end associate
          enddo
  
      end subroutine copy_data_remote_data
  
      !>----------------------------------------------------------
      !! Compute look up tables for all combinations of U, V, and Nsq
  
negative.code: 
      end subroutine setup_remote_grids
  
      subroutine copy_data_to_remote(wind, grids, LUT, i,j,k, z)
          implicit none
          real,           intent(in)  :: wind(:,:,:)
          type(grid_t),   intent(in)  :: grids(:)
  