SUBROUTINE SUCPL0

!**** *SUCPL00 * - ROUTINE TO RESET TO 0 THE COUPLED FIELDS

!     PURPOSE.
!     --------
!        RESET YOMCPL ARRAY TO 0

!**   INTERFACE.
!     ----------
!        *CALL* *SUCPL0*

!     EXPLICIT ARGUMENTS :  NONE
!     --------------------

!     IMPLICIT ARGUMENTS :
!     --------------------
!        COMMON  YOMCPL

!     METHOD.
!     -------
!     EXTERNALS.
!     ----------

!     REFERENCE.
!     ----------
!        ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE
!     "IN CORE MODEL"

!     AUTHOR.
!     -------
!        /CNRM/GMGEC/EAC/JPh Piedelievre 2000-11-30
!        Modified : 01-12-07 P. Marquet - Modifications for Climat-V4
!        Modified : 05-10-07 A. Alias   - ajout de FCCHLL/FCCHLN/FCEVAP
!-----------------------------------------------------------------------

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

USE YOMLUN   , ONLY : NULOUT
USE YOMGEM   , ONLY : NGPTOT
USE YOMDIM   , ONLY : NDLON     ,NDGLG
USE YOMDPHY  , ONLY : NTSSG
USE YOMCT0   , ONLY : NPRINTLEV    ,LALLOPR
USE YOMCPL   , ONLY : FCSTSU       ,FCSTSV    ,FCCHAS    ,&
 & FCRSOS   ,FCHUMS       ,FCRUIS    ,FCCHSS    ,&
 & FCHUML   ,FCHUMN       ,FCTSUR2   ,FCTSTS    ,&
 & FCTSFL   ,FCCHLL       ,FCCHLN    ,FCEVAP

IMPLICIT NONE

INTEGER(KIND=JPIM) :: IU

LOGICAL :: LLP
REAL(KIND=JPRB) :: ZHOOK_HANDLE

!      ----------------------------------------------------------------
IF (LHOOK) CALL DR_HOOK('SUCPL0',0,ZHOOK_HANDLE)
LLP=NPRINTLEV >= 1.OR. LALLOPR
IU=NULOUT

IF (.NOT.ALLOCATED (FCSTSU) ) THEN
  ALLOCATE(FCSTSU(NGPTOT))
  IF(LLP)WRITE(IU,9) 'FCSTSU    ',SIZE(FCSTSU),SHAPE(FCSTSU)
ENDIF
IF (.NOT.ALLOCATED (FCSTSV) ) THEN
  ALLOCATE(FCSTSV(NGPTOT))
  IF(LLP)WRITE(IU,9) 'FCSTSV    ',SIZE(FCSTSV),SHAPE(FCSTSV)
ENDIF
IF (.NOT.ALLOCATED (FCCHAS) ) THEN
  ALLOCATE(FCCHAS(NGPTOT,NTSSG+1))
  IF(LLP)WRITE(IU,9) 'FCCHAS    ',SIZE(FCCHAS),SHAPE(FCCHAS)
ENDIF
IF (.NOT.ALLOCATED (FCRSOS) ) THEN
  ALLOCATE(FCRSOS(NGPTOT,NTSSG+1))
  IF(LLP)WRITE(IU,9) 'FCRSOS    ',SIZE(FCRSOS),SHAPE(FCRSOS)
ENDIF
IF (.NOT.ALLOCATED (FCHUMS) ) THEN
  ALLOCATE(FCHUMS(NGPTOT,NTSSG+1))
  IF(LLP)WRITE(IU,9) 'FCHUMS    ',SIZE(FCHUMS),SHAPE(FCHUMS)
ENDIF
IF (.NOT.ALLOCATED (FCRUIS) ) THEN
  ALLOCATE(FCRUIS(NGPTOT))
  IF(LLP)WRITE(IU,9) 'FCRUIS    ',SIZE(FCRUIS),SHAPE(FCRUIS)
ENDIF
IF (.NOT.ALLOCATED (FCCHSS) ) THEN
  ALLOCATE(FCCHSS(NGPTOT,NTSSG+1))
  IF(LLP)WRITE(IU,9) 'FCCHSS    ',SIZE(FCCHSS),SHAPE(FCCHSS)
ENDIF
IF (.NOT.ALLOCATED (FCHUML) ) THEN
  ALLOCATE(FCHUML(NGPTOT))
  IF(LLP)WRITE(IU,9) 'FCHUML    ',SIZE(FCHUML),SHAPE(FCHUML)
ENDIF
IF (.NOT.ALLOCATED (FCHUMN) ) THEN
  ALLOCATE(FCHUMN(NGPTOT))
  IF(LLP)WRITE(IU,9) 'FCHUMN    ',SIZE(FCHUMN),SHAPE(FCHUMN)
ENDIF
IF (.NOT.ALLOCATED (FCTSUR2) ) THEN
  ALLOCATE(FCTSUR2(NGPTOT))
  IF(LLP)WRITE(IU,9) 'FCTSUR2    ',SIZE(FCTSUR2),SHAPE(FCTSUR2)
ENDIF
IF (.NOT.ALLOCATED (FCTSTS) ) THEN
  ALLOCATE(FCTSTS(NGPTOT))
  IF(LLP)WRITE(IU,9) 'FCTSTS     ',SIZE(FCTSTS),SHAPE(FCTSTS)
ENDIF
IF (.NOT.ALLOCATED (FCTSFL) ) THEN
  ALLOCATE(FCTSFL(NGPTOT))
  IF(LLP)WRITE(IU,9) 'FCTSFL     ',SIZE(FCTSFL),SHAPE(FCTSFL)
ENDIF
IF (.NOT.ALLOCATED (FCCHLL) ) THEN
  ALLOCATE(FCCHLL(NDLON,NDGLG))
  IF(LLP)WRITE(IU,9) 'FCCHLL     ',SIZE(FCCHLL),SHAPE(FCCHLL)
ENDIF
IF (.NOT.ALLOCATED (FCCHLN) ) THEN
  ALLOCATE(FCCHLN(NDLON,NDGLG))
  IF(LLP)WRITE(IU,9) 'FCCHLN     ',SIZE(FCCHLN),SHAPE(FCCHLN)
ENDIF
IF (.NOT.ALLOCATED (FCEVAP) ) THEN
  ALLOCATE(FCEVAP(NDLON,NDGLG))
  IF(LLP)WRITE(IU,9) 'FCEVAP     ',SIZE(FCEVAP),SHAPE(FCEVAP)
ENDIF

9 FORMAT(1X,'ARRAY ',A10,' ALLOCATED ',8I8)

!*       1.    SET YOMCPL TO 0.
!              ---------------

FCCHAS=0.0_JPRB
FCRSOS=0.0_JPRB
FCHUMS=0.0_JPRB
FCCHSS=0.0_JPRB

FCSTSU=0.0_JPRB
FCSTSV=0.0_JPRB
FCRUIS=0.0_JPRB
FCHUML=0.0_JPRB
FCHUMN=0.0_JPRB
FCTSUR2=0.0_JPRB
FCTSTS =0.0_JPRB
FCTSFL =0.0_JPRB

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