! Author: Aime' Fournier
! E-mail: fournier@ucar.edu

 SUBROUTINE dwta_partition(iv,iw,ia,lm,lh,lg)
!
! create indexes for dwtai()
!
 IMPLICIT NONE
 INTEGER j,lg,lh,lm			! lg,lh=filter lengths
 INTEGER, DIMENSION(0:lm) :: iv		! in iv[0]: data length/out iv[1:lm]: v-space length
 INTEGER, DIMENSION(0:lm) :: iw		! out iw[0:lm]: w-space lengths
 INTEGER, DIMENSION(0:lm) :: ia		! out: ia[0] transform length; ia[1:lm] w starts
!
 DO j=1,lm				! loop to maximum level:
    iv(j)=FLOOR(.5*(iv(j-1)+lh))
    iw(j)=FLOOR(.5*(iv(j-1)+lg))
 ENDDO
 iw(0)=0				! no w space at level 0
 ia(lm)=iv(lm)				! start of largest-scale w
 DO j=lm,1,-1
    ia(j-1)=ia(j)+iw(j)
 ENDDO
 END SUBROUTINE dwta_partition