***********************************************************************
      SUBROUTINE CALSST        !" SST $B7W;;(B
     O         ( GSST  ,
     I           ALAT  , ALON  ,
     I           FT0   , FCT   , FAS   , FSS   ,
     I           TEQ   , ALAT0 , ALAT1 , ALPHA , BETA  , GAMMA ,
     I           ALACON,
     I           IDIM  , JDIM                                   )
*
*     SST = SST ( TEQ-ALAT0, ALAT1, ALPHA, BETA, GAMMA )
*         -> ALAT0 +/- ALACON $B$N4V(B, $BJ?C32=(B
*
*   [PARAM] 
      INTEGER    IDIM, JDIM
*
*   [OUTPUT] 
      REAL       GSST  ( IDIM, JDIM )
*
*   [INPUT] 
      REAL       ALON  ( IDIM )
      REAL       ALAT  ( JDIM )
      REAL       FT0
      REAL       FCT
      REAL       FAS
      REAL       FSS
      REAL       TEQ
      REAL       ALAT0
      REAL       ALAT1
      REAL       ALPHA
      REAL       BETA
      REAL       GAMMA
      REAL       ALACON
      REAL       deltats
*
*   [INTERNAL WORK]       
      REAL       PI, PHI1, AB4, PHI, GSSTP, ALATP, ALATM, GSSTMX
      real       ido,T0,T1,DELTAT
      INTEGER    I, J, JP, JM
*
*" << CRSST : SST$B$N7W;;:n@.(B >> 
*
      PI   = ATAN( 1. ) * 4.  
      PHI1 = ABS( ALAT1 * PI/180.   )
      AB4  = 2. *( PHI1**3 )*BETA/ALPHA
*
      DO 2100 J = 1, JDIM
*
         ido   = ALAT( J ) *180/PI

         if(abs(ido) .le. 80.0) then
            T0 = 31./2. * ( 1. + cos(pi*abs(ido)/80.0) )-2.0 
         else
            T0 = -2.0
         endif
*
         t1 = - 5.0 * exp(- 0.5 *(ido/6.0)**2 )
*
         if(abs(ido) .le. 20.0) then
c            deltat = 1.5 * sin(2.0 * pi * ido/20.0)
            deltat = 1.5 * sin(pi * ido/20.0)
            deltats = 1.5 * sin(pi * abs(ido)/20.0)
         else
            deltat=0.0
            deltats=0.0
         endif
*
         GSSTP =    ft0*T0     + fct*T1 + fas*deltat 
     &            + fss*deltats + 273.0
*
         DO 2110 I = 1, IDIM
            GSST( I,J ) = GSSTP
 2110    CONTINUE
*
 2100 CONTINUE
*
*" << FIXSST : $BCf?4(B+/-ALACON$B$rJ?C3$K(B >> 
*
c$$$      ALATP = ( ALAT0 + ALACON )*PI/180.  
c$$$      ALATM = ( ALAT0 - ALACON )*PI/180.  
c$$$*
c$$$      JP = 1
c$$$      JM = JDIM
c$$$      DO 2200 J = 1, JDIM
c$$$         IF ( ALAT( J ) .GT. ALATP ) THEN
c$$$            JP = J
c$$$         ENDIF
c$$$         IF ( ALAT( J ) .GE. ALATM ) THEN
c$$$            JM = J
c$$$         ENDIF
c$$$ 2200 CONTINUE
c$$$*
c$$$      GSSTMX = (     GSST(1,JP) * ( ALATP - ALAT(JP+1))
c$$$     &            +  GSST(1,JP+1) * ( ALAT(JP) - ALATP ))
c$$$     &        /( ALAT(JP) - ALAT(JP+1) )
c$$$*
c$$$      DO 2500 J = JP+1, JM
c$$$         DO 2510 I = 1, IDIM
c$$$            GSST( I,J ) = GSSTMX
c$$$ 2510    CONTINUE
c$$$ 2500 CONTINUE
*
      RETURN
      END


