1 subroutine da_asslegpol (l, m, sinlat, coslat, alp)
3 !-----------------------------------------------------------------------
5 !-----------------------------------------------------------------------
9 integer, intent(in) :: l ! Legendre wavenumber.
10 integer, intent(in) :: m ! Fourier wavenumber.
11 real, intent(in) :: sinlat ! sin(latitude).
12 real, intent(in) :: coslat ! cos(latitude).
13 real, intent(out) :: alp ! Associated Legendre Polynomial.
19 half_co = 0.5 * coslat
28 alp = alp * real(i) * half_co
30 if (mod(m,2) /= 0) then
36 alp = real(2*m+1) * sinlat * alp1
41 alp = (real(2*loop-1) * sinlat * alp1 - real(loop-1+m) * alp2) &
48 end subroutine da_asslegpol