subroutine xspacece(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(kz,mz,nz),ax(nzz,mz*kz) real scale,work(4*kz*mz*nzz) integer isign,nwork,ntablex nwork=4*kz*mz*nzz ntablex=100+2*nzz scale=1. isign=1 c do n=1,nddp do m=1,md do l=1,kd imode=l+(m-1)*kd ax(n,imode)=akx(l,m,n) enddo enddo enddo c do n=nadd+nddp+1,nalias do m=1,md do l=1,kd imode=l+(m-1)*kd 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,kd imode=l+(m-1)*kd ax(n,imode)=0.0 enddo enddo enddo call xmcfft(isign,nalias,md*kd,scale,ax,1,nzz,ax,1,nzz, & tablex,ntablex,work,nwork) return end