SUBROUTINE SUCSLINT(LDSLHD,LDVSPLIP,LDHV,LDQM,LDQMH,&
  & CDSLINT)

!**** *SUCSLINT*   - Set kind of semi-Lagrangian interpolation
!                    of GFL fields.

!     Purpose.
!     --------
!           Set the kind of SL interpolation for a given
!           GFL field.

!**   Interface.
!     ----------
!        *CALL* *SUCSLINT(...)

!        Explicit arguments :
!        --------------------
!       Input:
!        LDSLHD    -  key to activate SLHD. 
!        LDVSPLIP  -  key to use vertical monotonic spline for the
!                     high order SL interpolation.
!        LDHV      -  key to use vertical hermite cubic interpolation
!                     for the high order SL interpolation.
!        LDQM      -  key to use quasi-monotonic interpolator for
!                     the high order SL interpolation.
!        LDQMH     -  key to use horizontally quasi-monotonic interpolator
!                     for the high order SL interpolation.
!       Output:
!        CDSLINT   -  the name of the resulting SL interpolation.

!        Implicit arguments :
!        --------------------

!     Method.
!     -------
!        See documentation

!     Externals.
!     ----------

!     Called by SUDYN

!     Reference.
!     ----------
!        Documentation about SL advection

!     Author.
!     -------
!        Filip VANA and Karim YESSAD
!        Meteo-France

! Modifications
! -------------
!   Original : NOVEMBER 2004
!   28-Aug-2007 F. Vana: removing LRSPLINE attribute
!   30-Jun-2008 J. Masek   New SLHD interpolators.
!------------------------------------------------------------------------------

USE PARKIND1  ,ONLY : JPRB
USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK

!     ------------------------------------------------------------------

IMPLICIT NONE

LOGICAL,INTENT(IN)            :: LDSLHD
LOGICAL,INTENT(IN)            :: LDVSPLIP
LOGICAL,INTENT(IN)            :: LDHV
LOGICAL,INTENT(IN)            :: LDQM
LOGICAL,INTENT(IN)            :: LDQMH
CHARACTER(LEN=12),INTENT(OUT) :: CDSLINT

!     ------------------------------------------------------------------

REAL(KIND=JPRB) :: ZHOOK_HANDLE

!     ------------------------------------------------------------------

IF (LHOOK) CALL DR_HOOK('SUCSLINT',0,ZHOOK_HANDLE)

!     ------------------------------------------------------------------

!*       1.   SET GFL KIND OF SL INTERPOLATION
!             --------------------------------

IF(LDSLHD) THEN

!* SLHD interpolations

  IF(LDQM) THEN
    CDSLINT='LAITQM(SLD) '
  ELSEIF(LDQMH) THEN
    CDSLINT='LAITQMH(SLD)'
  ELSE
    CDSLINT='LAITRI(SLD) '
  ENDIF

ELSE

!*  non SLHD interpolations

  IF(LDVSPLIP) THEN
      CDSLINT='LAITVSPCQM  '
  ELSEIF(LDHV) THEN
    IF(LDQM) THEN
      CDSLINT='LAIHVTQM    '
    ELSEIF(LDQMH) THEN
      CDSLINT='LAIHVTQMH   '
    ELSE
      CDSLINT='LAIHVT      '
    ENDIF
  ELSE
    IF(LDQM) THEN
      CDSLINT='LAITQM      '
    ELSEIF(LDQMH) THEN
      CDSLINT='LAITQMH     '
    ELSE
      CDSLINT='LAITRI      '
    ENDIF
  ENDIF

ENDIF

!     ------------------------------------------------------------------

IF (LHOOK) CALL DR_HOOK('SUCSLINT',1,ZHOOK_HANDLE)
END SUBROUTINE SUCSLINT
