subroutine imysort(n, m, mm, x, y, z, z1, z2, z3, z4, z5, z6) implicit none integer n,m,mm integer x(m,mm,n),y(n),z(n),z1(2,n),z6(n),xmin,xtemp double precision z2(n),z3(n),z4(n),z5(n) double precision xxtemp integer i,j,k,imax do i=1,n xmin=x(1,1,i) imax=i do j=i+1,n if (x(1,1,j).lt.xmin) then imax=j xmin=x(1,1,j) endif enddo xxtemp=z2(imax) z2(imax)=z2(i) z2(i)=xxtemp xxtemp=z3(imax) z3(imax)=z3(i) z3(i)=xxtemp xxtemp=z4(imax) z4(imax)=z4(i) z4(i)=xxtemp xxtemp=z5(imax) z5(imax)=z5(i) z5(i)=xxtemp xtemp=y(imax) y(imax)=y(i) y(i)=xtemp xtemp=z(imax) z(imax)=z(i) z(i)=xtemp xtemp=z6(imax) z6(imax)=z6(i) z6(i)=xtemp do j=1,2 xtemp=z1(j,imax) z1(j,imax)=z1(j,i) z1(j,i)=xtemp enddo do j=1,m do k=1,mm xtemp=x(j,k,imax) x(j,k,imax)=x(j,k,i) x(j,k,i)=xtemp enddo enddo enddo return end