anchor.diff:  	        allocate(vhat(nx,ny))
   	        allocate(v_hat(nx,ny))
   	        allocate(m(nx,ny))
  +	        allocate(msq(nx,ny))
   	        allocate(ineta(nx,ny))
           
   	!         # % Compute 2D k and l wavenumber fields (could be stored in options or domain or something)
  
positive.code: 		logical, intent(in), optional :: reverse
          complex,parameter :: j= (0,1)
          real::gain,offset !used in setting up k and l arrays
          integer::nx,ny,nz,i,midpoint,z,realnx,realny
          real::U,V
  		real,parameter::pi=3.1415927
          type(C_PTR) :: plan
  
negative.code:         
  	! 		finally compute the kl combination array
  	        kl = k**2+l**2
  	        WHERE (kl==0.0) kl=1e-15
  		endif
  
  		
  