anchor.diff:              allocate(pre_smooth(size(forcing%geo_u%geolut%x,2), size(input_data%data_3d,2), size(forcing%geo_u%geolut%x,3) ))
   
               windowsize = (size(forcing%geo_u%geolut%x,2) - size(var_data,1)) / 2
  -            print*, "windowsize=",windowsize
               nx = size(forcing%geo_u%geolut%x,2)
               ny = size(forcing%geo_u%geolut%x,3)
   
  
positive.code: 
          allocate(forcing%geo_u%z(nx+1+this%nsmooth*2, nz, ny+this%nsmooth*2))
          call geo_interp(forcing%geo_u%z, forcing%z, forcing%geo_u%geolut)
          print*, shape(forcing%geo_u%z)
          print*, shape(this%geo_u%z)
          call vLUT(this%geo_u, forcing%geo_u)
  
          allocate(forcing%geo_v%z(nx+this%nsmooth*2, nz, ny+1+this%nsmooth*2))
          call geo_interp(forcing%geo_v%z, forcing%z, forcing%geo_v%geolut)
          print*, shape(forcing%geo_v%z)
          print*, shape(this%geo_v%z)
          call vLUT(this%geo_v, forcing%geo_v)
  
      end subroutine
  
negative.code:         integer :: nx_global, ny_global, nz_global, nsmooth
  
          nsmooth = nint(options%parameters%smooth_wind_distance / options%parameters%dx)
          this%nsmooth = nsmooth
  
          ! This doesn't need to read in this variable, it could just request the dimensions
  