INTERFACE
SUBROUTINE CPG_GP(&
 & KST,KEND,KSTC,KENDC,KBL,KSTGLO,&
 & LDLFSTEP,LDLDIAB,LDLADNMI,&
 & PTE,&
 & PGM,PGNORDL,PGNORDM,PRCORI,PRCORIC,&
 & PGNORDLCL,PGNORDMCL,PGNORDMCM,&
 & PRATATX,PRATATH,POROG,&
 & POROGL_RE,POROGM_RE,POROGLL_RE,POROGMM_RE,POROGLM_RE,&
 & PGFL,&
 & PGMV,PGMVS,&
 & POROGL,POROGM,&
 & PRE0,PRE0L,PRE0M,PRE0F,PNHPRE0F,PNHPRE0H,&
 & PDELP0,PRDELP0,PLNPR0,PALPH0,&
 & PLHU0,PLHV0,&
 & PHI0,PHIF0,PHI0FL,PHI0FM,&
 & PCP0,PR0,PRTGR0,&
 & PKAP0,PRRED0,&
 & PEVEL0,PVVEL0,PGWFT0,PSDVBC0,PKENE0,&
 & PSGRTL,PSGRTM,PGPHL,PGPHM,&
 & PSDIV0,PDIVP0,PSDFI0,&
 & PRT0L,PRT0M,PWW0,&
 & PVCRSSA0F,PVCRSSA0FL,PVCRSSA0FM,&
 & PVCRSSA0H,PVCASRS0F,PVCASRS0H,&
 & PVCTS0F,PVCMUS0F,PVCW0F,PWDLW0F,PRDLR0,PRDLR9,&
 & PRE9,PRE9F,PNHPRE9F,PNHPRE9H,&
 & PDELP9,PRDELP9,PLNPR9,PALPH9,&
 & PHI9,PHIF9,PCP9,PR9,PGWFT9,&
 & PVCRSSA9F,&
 & PGPAR,PGPPC,&
 & PB2,&
 & PGMVT1,PGMVT1S,PGFLT1,&
 & PKOZO,&
 & PQS,PQICE,PQLI,&
 & PTNDPD,PTNDVD,PTNDGW,P3DIVG,PD3Y0,PD3Y9,PDBBC,PRDPHI,PGWT0,PGWT9,PGWS,&
 & PNHXT0,PNHXT9,PQCHA0L,PQCHA0M) 
USE PARKIND1 ,ONLY : JPIM ,JPRB
USE YOMDIM , ONLY : NFLEVG ,NPROMA ,NPROMNH ,NPROMVC ,NPROMDLW ,&
 & NPROMDLR ,NFGPPC 
USE YOMSC2 , ONLY : NFLDSLB2
USE YOM_YGFL , ONLY : YGFL, YQ, YL, YI,YR, YS, YG, YO3,YA, YFORC
USE YOMDPHY , ONLY : NVCLIS ,NTOZ1D ,NTOZ2D ,NTOZ3D
USE YOMGMV , ONLY : YT0,YT9,YT1,NDIMGMV,NDIMGMVS
USE YOMARAR , ONLY : NGPAR
USE PAR_RDLR , ONLY : JP_ASRF ,JP_ASRH ,JP_DIMR0 ,JP_DIMR9
INTEGER(KIND=JPIM),INTENT(IN) :: KST
INTEGER(KIND=JPIM),INTENT(IN) :: KEND
INTEGER(KIND=JPIM),INTENT(IN) :: KSTC
INTEGER(KIND=JPIM),INTENT(IN) :: KENDC
INTEGER(KIND=JPIM),INTENT(IN) :: KBL
INTEGER(KIND=JPIM),INTENT(IN) :: KSTGLO
LOGICAL ,INTENT(IN) :: LDLFSTEP
LOGICAL ,INTENT(IN) :: LDLDIAB
LOGICAL ,INTENT(IN) :: LDLADNMI
REAL(KIND=JPRB) ,INTENT(IN) :: PTE
REAL(KIND=JPRB) ,INTENT(IN) :: PGM(NPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PGNORDL(NPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PGNORDM(NPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PRCORI(NPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PRCORIC(NPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PGNORDLCL(NPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PGNORDMCL(NPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PGNORDMCM(NPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PRATATX(NPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PRATATH(NPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: POROG(NPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: POROGL_RE(NPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: POROGM_RE(NPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: POROGLL_RE(NPROMNH)
REAL(KIND=JPRB) ,INTENT(IN) :: POROGMM_RE(NPROMNH)
REAL(KIND=JPRB) ,INTENT(IN) :: POROGLM_RE(NPROMNH)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PGFL(NPROMA,NFLEVG,YGFL%NDIM)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PGMV(NPROMA,NFLEVG,NDIMGMV)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PGMVS(NPROMA,NDIMGMVS)
REAL(KIND=JPRB) ,INTENT(OUT) :: POROGL(NPROMA)
REAL(KIND=JPRB) ,INTENT(OUT) :: POROGM(NPROMA)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRE0(NPROMA,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRE0L(NPROMA)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRE0M(NPROMA)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRE0F(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PNHPRE0F(NPROMNH,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PNHPRE0H(NPROMNH,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDELP0(NPROMA,0:NFLEVG+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRDELP0(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PLNPR0(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PALPH0(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PLHU0(NPROMA,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PLHV0(NPROMA,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PHI0(NPROMA,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PHIF0(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PHI0FL(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PHI0FM(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PCP0(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PR0(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRTGR0(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PKAP0(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRRED0(NPROMNH,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PEVEL0(NPROMA,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PVVEL0(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGWFT0(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PSDVBC0(NPROMA,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PKENE0(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PSGRTL(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PSGRTM(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGPHL(NPROMA,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGPHM(NPROMA,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PSDIV0(NPROMA,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDIVP0(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PSDFI0(NPROMA,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRT0L(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRT0M(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PWW0(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PVCRSSA0F(NPROMVC,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PVCRSSA0FL(NPROMVC,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PVCRSSA0FM(NPROMVC,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PVCRSSA0H(NPROMVC,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PVCASRS0F(NPROMVC,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PVCASRS0H(NPROMVC,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PVCTS0F(NPROMVC,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PVCMUS0F(NPROMVC,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PVCW0F(NPROMVC,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PWDLW0F(NPROMDLW,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRDLR0(NPROMDLR,0:NFLEVG,JP_DIMR0)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRDLR9(NPROMDLR,0:NFLEVG,JP_DIMR9)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRE9(NPROMA,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRE9F(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PNHPRE9F(NPROMNH,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PNHPRE9H(NPROMNH,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDELP9(NPROMA,0:NFLEVG+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRDELP9(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PLNPR9(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PALPH9(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PHI9(NPROMA,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PHIF9(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PCP9(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PR9(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGWFT9(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PVCRSSA9F(NPROMVC,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGPAR(NPROMA,NGPAR+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGPPC(NPROMA,NFGPPC+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PB2(NPROMA,NFLDSLB2)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGMVT1(NPROMA,NFLEVG,YT1%NDIM)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGMVT1S(NPROMA,YT1%NDIMS)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGFLT1(NPROMA,NFLEVG,YGFL%NDIM1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PKOZO(NPROMA,NFLEVG*NVCLIS+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PQS(NPROMA)
REAL(KIND=JPRB) ,INTENT(OUT) :: PQICE(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PQLI(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PTNDPD(NPROMNH,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PTNDVD(NPROMNH,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PTNDGW(NPROMNH,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: P3DIVG(NPROMNH,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PD3Y0(NPROMNH,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PD3Y9(NPROMNH,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDBBC(NPROMNH)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRDPHI(NPROMNH,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGWT0(NPROMNH,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGWT9(NPROMNH,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGWS(NPROMNH)
REAL(KIND=JPRB) ,INTENT(OUT) :: PNHXT0(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PNHXT9(NPROMA,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PQCHA0L(NPROMNH,NFLEVG)
REAL(KIND=JPRB) ,INTENT(OUT) :: PQCHA0M(NPROMNH,NFLEVG)
REAL(KIND=JPRB) :: ZRTR0(NPROMNH,NFLEVG)
REAL(KIND=JPRB) :: ZLNNHPREF0L(NPROMNH,NFLEVG)
REAL(KIND=JPRB) :: ZLNNHPREF0M(NPROMNH,NFLEVG)
REAL(KIND=JPRB) :: ZSGRTSL(NPROMNH)
REAL(KIND=JPRB) :: ZSGRTSM(NPROMNH)
REAL(KIND=JPRB) :: ZOROGLL(NPROMNH)
REAL(KIND=JPRB) :: ZOROGMM(NPROMNH)
REAL(KIND=JPRB) :: ZOROGLM(NPROMNH)
END SUBROUTINE CPG_GP
END INTERFACE
