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:         
  	! 		finally compute the kl combination array
  	        kl = k**2+l**2
  	        WHERE (kl==0.0) kl=1e-20
  		endif
  
  		
  
negative.code: 	public::linear_perturb
  	
      real,allocatable,dimension(:,:)::k,l,kl,sig
      complex(C_DOUBLE_COMPLEX),allocatable,dimension(:,:)::denom,uhat,u_hat,vhat,v_hat,m,ineta,msq
  	integer,parameter::buffer=50
  	
  contains
  