--- /dev/null
+ 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