      SUBROUTINE ALPN2(ALP,NLP,ILAT,SL,EPSI)
C 
C     * JUL 14/92 - E. CHAN (ADD REAL*8 DECLARATIONS)
C     * JUL 10/78 - J.D.HENDERSON
C     * COMPUTES LEGENDRE POLYNOMIALS.
C 
C     * ALP(NLP,ILAT) = LEGENDRE POLYNOMIALS (NLP VALUES AT ILAT LATS). 
C     * SL(ILAT) = SINE OF THE LATITUDES. 
C 
C     * LEVEL 2,ALP 
      IMPLICIT REAL*8 (A-H,O-Z),
     +INTEGER (I-N)
      REAL*8 ALP(NLP,ILAT),SL(ILAT),EPSI(NLP) 
C-------------------------------------------------------------------- 
      EPSI(1)=0.E0
      DO 110 N=2,NLP
      NS=N-1
  110 EPSI(N)=NS/SQRT(4.E0*NS*NS-1.E0)
C 
      DO 210 J=1,ILAT 
      SINLAT=SL(J)
      ALP(1,J)=1.E0/SQRT(2.E0)
      ALP(2,J)=SQRT(3.E0/2.E0)*SINLAT 
      DO 210 N=3,NLP
      ALP(N,J)=(SINLAT*ALP(N-1,J)-EPSI(N-1)*ALP(N-2,J))/EPSI(N) 
  210 CONTINUE
C 
      RETURN
      END 
