      SUBROUTINE CMPAREA(AREA,ALAT,NLAT,IPOL,OK)
C 
C     JUN 19/90 - F.MAJAESS 
C     THIS ROUTINE RETURNS IN AREA(J) THE LATITUDINAL SECTOR AREA ASSOCIATED
C     WITH LATITUDE ALAT(J), FOR J=1,...,NLAT (>=3).
C     IPOL = 1; BOUNDARY LATITUDES ARE OFF THE POLES, 
C          =-1;                        ON  THE POLES. 
C 
      IMPLICIT REAL (A-H,O-Z),
     +INTEGER (I-N)
      LOGICAL OK
      INTEGER NLAT,IPOL 
      REAL ALAT(*),AREA(*)
C 
      OK=.FALSE.
C 
      IF((NLAT.LT.3).OR.(ABS(IPOL).NE.1)) RETURN 
C 
      API=4.0E0*ATAN(1.E0)
      APIO2=0.5E0*API 
C 
      IF(IPOL.NE.1) THEN
C 
C       * IPOL =-1; BOUNDARY LATITUDES ARE ON THE POLES.
C 
        ADPHI=API/FLOAT(NLAT-1) 
        ATERM=-APIO2
      ELSE
C 
C       * IPOL = 1; BOUNDARY LATITUDES ARE OFF THE POLES, 
C 
        ADPHI=API/FLOAT(NLAT) 
        ATERM=-APIO2+0.5E0*ADPHI
      ENDIF 
C 
C     * COMPUTE LATITUDINAL VALUES IN ALAT... 
C 
      DO 10 J=1,NLAT
         ALAT(J)=ATERM+FLOAT(J-1)*ADPHI 
  10  CONTINUE
C 
C     * COMPUTE ASSOCIATED SECTOR AREA WITH EACH LATITUDE...
C 
      AREA(1)=0.5E0*(SIN(0.5E0*(ALAT(2)+ALAT(1))) - SIN(-APIO2))
      DO 20 J=2,NLAT-1
        AREA(J)=0.5E0*(SIN(0.5E0*(ALAT(J)+ALAT(J+1))) - 
     1               SIN(0.5E0*(ALAT(J)+ALAT(J-1))))
  20  CONTINUE
      AREA(NLAT)=0.5E0*(SIN(APIO2) -
     &  SIN(0.5E0*(ALAT(NLAT)+ALAT(NLAT-1))))
C 
      OK=.TRUE. 
C 
      RETURN
      END 
