7 SUBROUTINE ccetr_pair(KNIV, PABC, PABC_SUP, PIA, PXMUS, PB_DR, POMEGA_DR,&
8 pomega_df, pb_df, plai, palb_veg, palb_soil, &
9 pfd_sky, pfd_veg, ptr, pxia, plai_eff )
46 USE yomhook
,ONLY : lhook, dr_hook
47 USE parkind1
,ONLY : jprb
56 INTEGER,
INTENT(IN) :: kniv
57 REAL,
INTENT(IN) :: pabc
58 REAL,
INTENT(IN) :: pabc_sup
59 REAL,
INTENT(IN) :: pb_df
60 REAL,
DIMENSION(:),
INTENT(IN) :: pia
61 REAL,
DIMENSION(:),
INTENT(IN) :: pxmus
62 REAL,
DIMENSION(:),
INTENT(IN) :: pb_dr
63 REAL,
DIMENSION(:),
INTENT(IN) :: pomega_dr
64 REAL,
DIMENSION(:),
INTENT(IN) :: pomega_df
65 REAL,
DIMENSION(:),
INTENT(IN) :: plai
66 REAL,
DIMENSION(:),
INTENT(IN) :: palb_veg
67 REAL,
DIMENSION(:),
INTENT(IN) :: palb_soil
68 REAL,
DIMENSION(:),
INTENT(IN) :: pfd_sky
70 REAL,
DIMENSION(:),
INTENT(INOUT) :: pfd_veg
71 REAL,
DIMENSION(:),
INTENT(INOUT) :: ptr
73 REAL,
DIMENSION(:),
INTENT(OUT) :: pxia
74 REAL,
DIMENSION(:),
INTENT(OUT) :: plai_eff
79 REAL,
DIMENSION(SIZE(PLAI)) :: zslai_tru, zfd_veg, ztdf, zidr, &
80 zidf, zabc, zabc_sup, zb_df, zgt
84 REAL :: zgt_sup, zgt_inf
87 REAL(KIND=JPRB) :: zhook_handle
91 IF (lhook) CALL dr_hook(
'CCETR_PAIR',0,zhook_handle)
102 IF (pabc.GT.0.8)
THEN
109 zabc_sup(:) = pabc_sup
112 IF (pabc.GT.0.8)
THEN
116 zfd_veg(i) = exp(-(1.-zabc(i))*pomega_dr(i)*plai(i))
117 zfd_veg(i) = (1. - zfd_veg(i)) / (1. - (1.-pxmus(i))*zfd_veg(i))
118 pfd_veg(i) = min(zfd_veg(i) + pfd_sky(i),1.)
125 zslai_tru(i) = (zabc_sup(i)-zabc(i))*plai(i)
128 zidr(i) = exp(-zgt(i)*pb_dr(i)*pomega_dr(i)*zslai_tru(i)/pxmus(i))
130 zidf(i) = exp(-zb_df(i)*pomega_df(i)*zslai_tru(i))
131 plai_eff(i) = ((1.-pfd_veg(i))*pomega_dr(i)+pfd_veg(i)*pomega_df(i))*zslai_tru(i)
133 ptr(i) = ((1.-pfd_veg(i))*zidr(i) + pfd_veg(i)*zidf(i))*ptr(i)
141 WHERE (pia(:)>0.) pxia(:) = (1-palb_veg(:))*(1.-ptr(:))*pia(:)
143 IF (kniv .EQ. 1)
THEN
148 ztdf(i) = exp(-zb_df(i)*pomega_df(i)*(1.-zabc(i))*plai(i))
149 pxia(i)= pxia(i) + (1.-palb_veg(i))*(1.-palb_veg(i))*palb_soil(i)*(1.-ztdf(i))*ptr(i)*pia(i)
154 IF (lhook) CALL dr_hook(
'CCETR_PAIR',1,zhook_handle)
subroutine ccetr_pair(KNIV, PABC, PABC_SUP, PIA, PXMUS, PB_DR, POMEGA_DR, POMEGA_DF, PB_DF, PLAI, PALB_VEG, PALB_SOIL, PFD_SKY, PFD_VEG, PTR, PXIA, PLAI_EFF)