      subroutine time_resolution(npoints,sampletime,
     &    avetimeresolution,avetimesampled)
      implicit none
      integer npoints
      double precision sampletime(npoints),
     &   avetimeresolution,avetimesampled
     
! sampletime: hour fraction
! avetimeresolution: minutes
! avetimesampled: hour fraction
     
      integer i,j,nactual
      double precision term,copy(npoints),temp,sum
      
      nactual=0
      do i=1,npoints
        if(sampletime(i).gt.-9000.0d0)then        
          nactual=nactual+1
          copy(nactual)=sampletime(i)
        endif
      enddo
      if(nactual.eq.0)then
        avetimeresolution=-9999.0d0
        avetimesampled=-9999.0d0
        return
      endif
      do i=1,nactual
        do j=i,nactual
          if(copy(j).lt.copy(i))then
            temp=copy(i)
            copy(i)=copy(j)
            copy(j)=temp
          endif
        enddo
      enddo
      
      sum=copy(1)
      avetimeresolution=0.0d0
      do i=2,nactual
        sum=sum+copy(i)
        avetimeresolution=avetimeresolution+copy(i)-copy(i-1)
      enddo
      avetimesampled=sum/dble(nactual)
      if(nactual.eq.1)then
        avetimeresolution=-9999.0d0
      else
        avetimeresolution=60.0d0*
     &     avetimeresolution/dble(nactual-1)
      endif
      return
      end
