7 PCPL_EFLOOD,PCPL_PFLOOD,PCPL_IFLOOD,PCPL_ICEFLUX )
65 REAL,
INTENT(IN) :: PTSTEP
66 REAL,
DIMENSION(:,:),
INTENT(IN) :: PCPL_DRAIN
67 REAL,
DIMENSION(:,:),
INTENT(IN) :: PCPL_RUNOFF
68 REAL,
DIMENSION(:,:),
INTENT(IN) :: PCPL_EFLOOD
69 REAL,
DIMENSION(:,:),
INTENT(IN) :: PCPL_PFLOOD
70 REAL,
DIMENSION(:,:),
INTENT(IN) :: PCPL_IFLOOD
71 REAL,
DIMENSION(:,:),
INTENT(IN) :: PCPL_ICEFLUX
78 REAL,
DIMENSION(SIZE(PCPL_DRAIN,1),SIZE(PCPL_DRAIN,2)) :: ZCPL_DRAIN
80 REAL,
DIMENSION(SIZE(S%XPATCH,1)) :: ZSUMPATCH
81 REAL,
DIMENSION(SIZE(S%XPATCH,1)) :: ZBUDGET
83 INTEGER :: INJ, JP, IMASK
86 REAL(KIND=JPRB) :: ZHOOK_HANDLE
90 IF (
lhook)
CALL dr_hook(
'DIAG_CPL_ESM_ISBA',0,zhook_handle)
100 zsumpatch(ji) = zsumpatch(ji) + s%XPATCH(ji,jp)
104 IF(io%CISBA/=
'DIF')
THEN 106 zcpl_drain(:,:)=max(0.0,pcpl_drain(:,:))
108 zcpl_drain(:,:)=pcpl_drain(:,:)
118 IF(zsumpatch(ji)>0.0)
THEN 119 s%XCPL_DRAIN (ji) = s%XCPL_DRAIN (ji) + ptstep * zcpl_drain(ji,jp
123 IF(io%LGLACIER.AND.zsumpatch(ji)>0.0)
THEN 124 s%XCPL_ICEFLUX(ji) = s%XCPL_ICEFLUX(ji) + ptstep * pcpl_iceflux(ji
127 IF(
lcpl_flood.AND.io%LFLOOD.AND.zsumpatch(ji)>0.0)
THEN 128 s%XCPL_EFLOOD (ji) = s%XCPL_EFLOOD (ji) + ptstep * pcpl_eflood
158 IF (zbudget(imask)<=0.)
THEN 159 kk%XPIFLOOD(ji) = 0.0
160 kk%XFFLOOD (ji) = 0.0
166 IF (
lhook)
CALL dr_hook(
'DIAG_CPL_ESM_ISBA',1,zhook_handle)
subroutine diag_cpl_esm_isba(IO, S, NK, NP, PTSTEP, PCPL_DRAIN, P