subroutine xspacec(akx,ax) c c Transform a variable from kx space into x space and dealias. c implicit none include 'itg.par' include 'itg.cmn' integer l,m,n,index,imode complex akx(lz,mz,nz),ax(nzz,mz*lz) real scale,work(4*lz*mz*nzz) integer isign,nwork,ntablex nwork=4*lz*mz*nzz ntablex=100+2*nzz scale=1. isign=1 c do n=1,nddp do m=1,md do l=1,ldb imode=l+(m-1)*ldb ax(n,imode)=akx(l,m,n) enddo enddo enddo c do n=nadd+nddp+1,nalias do m=1,md do l=1,ldb imode=l+(m-1)*ldb ax(n,imode)=akx(l,m,n-nadd) enddo enddo enddo c c de-alias c do n=nddp+1,nadd+nddp do m=1,md c for some reason, CRAY tries to vectorize n loop by default: cfpp$ select (vector) do l=1,ldb imode=l+(m-1)*ldb ax(n,imode)=0.0 enddo enddo enddo call xmcfft(isign,nalias,md*ldb,scale,ax,1,nzz,ax,1,nzz, & tablex,ntablex,work,nwork) return end