SUBROUTINE CAD1

!**** *CAD1*  - Controls the job to test adjoint at level 1.

!     Purpose.
!     --------
!           Controls the job at level 1.
!           Test of the adjoint

!**   Interface.
!     ----------
!        *CALL* *CAD1

!        Explicit arguments :
!        --------------------
!        None

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

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

!     Externals.     TESADJ - level 2 control routine for test of adjoint
!     ----------     SU1YOM - initialize level 1 commons

!     Reference.
!     ----------
!        ECMWF Research Department documentation of the IFS

!     Author.
!     -------
!        Mats Hamrud and Philippe Courtier  *ECMWF*

!     Modifications.
!     --------------
!        Original : 87-10-15
!        M.Hamrud      01-Oct-2003 CY28 Cleaning
!        M.Hamrud      01-Dec-2003 CY28R1 Cleaning
!     ------------------------------------------------------------------

USE PARKIND1  ,ONLY : JPRB
USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
USE YOMCT1   , ONLY : N1POS    ,N1GDI    ,N1SDI

IMPLICIT NONE

REAL(KIND=JPRB) :: ZHOOK_HANDLE

#include "su1yom.intfb.h"
#include "tesadj.intfb.h"
!     ------------------------------------------------------------------

!*       1.    Initialize YOMCT1.
!              ------------------

IF (LHOOK) CALL DR_HOOK('CAD1',0,ZHOOK_HANDLE)
CALL SU1YOM
N1POS=0
N1GDI=0
N1SDI=1
!      ------------------------------------------------------------------

!*       2.    Call level 2 control routine.
!              -----------------------------

CALL TESADJ
!      ------------------------------------------------------------------

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