subroutine fndval (jrpa, nvals, irpa, ndif) c c----------------------------------------------------------------------- c c Routine finds how many differnent values (ndif) exist in the c array jrpa(nvals) and puts all unique values, in the order found, c into irpa(nvals) c c----------------------------------------------------------------------- c integer*4 irpa(nvals), jrpa(nvals), ndif, nvals c c----------------------------------------------------------------------- c----------------------------------------------------------------------- c if (nvals .le. 1) then ndif = nvals return end if c c----------------------------------------------------------------------- c----------------------------------------------------------------------- c do i = 1, nvals irpa(i) = -1 end do c ndif = 0 do i = 1, nvals if (jrpa(i) .ne. -1) then if (ndif .gt. 0) then do j = 1, ndif if (jrpa(i) .eq. irpa(j)) go to 20 end do ndif = ndif + 1 irpa(ndif) = jrpa(i) else irpa(1) = jrpa(i) ndif = 1 end if end if 20 end do c c----------------------------------------------------------------------- c----------------------------------------------------------------------- c return end