INTERFACE
SUBROUTINE CPG(&
 & CDCONF,LDRETCFOU,LDWRTCFOU0,KGPCOMP,&
 & KBLKS,LDCPG_SPLIT,&
 & PGMV,PGMVS,&
 & PB1, PB2, PGMVT1,PGMVT1S,PGFLT1,PEXTRA) 
USE PARKIND1 ,ONLY : JPIM ,JPRB
USE YOMDIM , ONLY : NFLEVG ,NPROMA ,NPROMM ,NPROMNH ,NPROMVC ,&
 & NPROMDLW ,NPROMDLR ,NFGPPC ,NGPBLKS ,NDGENL ,NFLSA ,NFLEN 
USE YOMMP , ONLY : NSLCORE ,NFRSTLOFF,NASLB1
USE YOMSC2 , ONLY : NFLDSLB1 ,NFLDSLB2
USE YOM_YGFL , ONLY : YGFL ,YQ ,YL ,YI ,YCPF ,&
 & YSPF ,YS ,YR ,YG ,YH ,YA ,&
 & YSRC ,YTKE ,YEXT ,YCVGQ ,YQVA ,YSDSAT ,&
 & YCVV ,YFORC ,YEZDIAG ,YDAL ,YDOM ,YUEN ,&
 & YUAL ,YUOM ,YUNEBH 
USE YOMDPHY , ONLY : NVEXTRDYN,NVCLIS ,NTSSG
USE YOMGMV , ONLY : YT0 ,YT9 ,YT1 ,NDIMGMV ,NDIMGMVS
USE PAR_RDLR , ONLY : JP_DIMR9 ,JP_DIMR0
CHARACTER(LEN=1) ,INTENT(IN) :: CDCONF
LOGICAL ,INTENT(IN) :: LDRETCFOU
LOGICAL ,INTENT(IN) :: LDWRTCFOU0
INTEGER(KIND=JPIM),INTENT(IN) :: KGPCOMP
INTEGER(KIND=JPIM),INTENT(IN) :: KBLKS
LOGICAL ,INTENT(IN) :: LDCPG_SPLIT
REAL(KIND=JPRB) ,INTENT(INOUT) :: PGMV(NPROMA,NFLEVG,NDIMGMV,NGPBLKS)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PGMVS(NPROMA,NDIMGMVS,NGPBLKS)
REAL(KIND=JPRB) ,INTENT(OUT) :: PB1(NASLB1,NFLDSLB1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PB2(NPROMA,NFLDSLB2,NGPBLKS)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGMVT1(NPROMA,NFLEVG,YT1%NDIM,NGPBLKS)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGMVT1S(NPROMA,YT1%NDIMS,NGPBLKS)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGFLT1(NPROMA,NFLEVG,YGFL%NDIM1,NGPBLKS)
REAL(KIND=JPRB) ,INTENT(OUT) :: PEXTRA(NPROMA,NFLEVG,NVEXTRDYN,NGPBLKS)
END SUBROUTINE CPG
END INTERFACE
