c
c     file: /export/software/puddle0/dems/hypso.f
c     Last Modified: 11/19/96
c
c     Written by: Glenn E. Moglen
c
      program hypso
      character*80 areafile, elevfile, trash
      integer*4 area(1450, 1450), nx, ny, amax, actr
      integer*2 elev(1450, 1450), emin, emax
      igridy = 1450
      open (15, file = 'branch.in', form = 'formatted', status = 'old')
      read (15, 100) trash
      read (15, 100) trash
      read (15, 100) areafile
      read (15, 100) elevfile
      close (15, status = 'keep')
      call demread (area, areafile, nx, ny, igridy, dx, dy)
      call demread (elev, elevfile, nx, ny, igridy, dx, dy)
      emin = 32000
      emax = 0
      amax = 0
      actr = 0
      nz = 100
      do j = 1, ny
         do i = 1, nx
            if (area(j, i) .gt. 0 .and. elev(j, i) .gt. emax) emax = elev(j, i)
            if (area(j, i) .gt. 0 .and. elev(j, i) .lt. emin) emin = elev(j, i)
            if (area(j, i) .gt. amax) amax = area(j, i)
            if (area(j, i) .gt. 0) actr = actr + 1
         end do
      end do
      deltaz = float (emax - emin) / float(nz)
c     print *, amax, actr
      print *, 0.0, 1.0
      do k = 1, nz
         ictr = 0
         ztest = float(emin) + deltaz * float(k)
         do j = 1, ny
            do i = 1, nx
               if (area(j, i) .gt. 0 .and. elev(j, i) .gt. ztest) ictr = ictr + 1
            end do
         end do
         print *, (ztest - float(emin)) / float(emax - emin), 
     +            float(ictr) / float(amax)
      end do
 100  format (a80)
      end

