49 USE yomhook
,ONLY : lhook, dr_hook
50 USE parkind1
,ONLY : jprb
61 REAL,
INTENT(IN) :: ptstep
67 REAL(KIND=JPRB) :: zhook_handle
72 IF (lhook) CALL dr_hook(
'CUMUL_DIAG_TEB_N',0,zhook_handle)
77 DO ji=1,
SIZE(dgmt%CUR%XRUNOFF_ROOF,1)
79 IF (top%LSOLAR_PANEL)
THEN
80 IF (dgmt%CUR%XTHER_PROD_BLD(ji) .NE. xundef)
THEN
81 dgct%CUR%XTHER_PROD_BLDC(ji) = dgct%CUR%XTHER_PROD_BLDC(ji) + dgmt%CUR%XTHER_PROD_BLD(ji) * ptstep
84 IF (dgmt%CUR%XPHOT_PROD_BLD(ji) .NE. xundef)
THEN
85 dgct%CUR%XPHOT_PROD_BLDC(ji) = dgct%CUR%XPHOT_PROD_BLDC(ji) + dgmt%CUR%XPHOT_PROD_BLD(ji) * ptstep
89 IF (top%CBEM ==
'BEM')
THEN
90 IF (dgmt%CUR%XHVAC_COOL(ji) .NE. xundef)
THEN
91 dgct%CUR%XHVACC_COOL(ji) = dgct%CUR%XHVACC_COOL(ji) + dgmt%CUR%XHVAC_COOL(ji) * ptstep
94 IF (dgmt%CUR%XHVAC_HEAT(ji) .NE. xundef)
THEN
95 dgct%CUR%XHVACC_HEAT(ji) = dgct%CUR%XHVACC_HEAT(ji) + dgmt%CUR%XHVAC_HEAT(ji) * ptstep
99 IF (dgmt%CUR%XRUNOFF_TOWN(ji) .NE. xundef)
THEN
100 dgct%CUR%XRUNOFFC_TOWN(ji) = dgct%CUR%XRUNOFFC_TOWN(ji) + dgmt%CUR%XRUNOFF_TOWN(ji) * ptstep
103 IF (dgmt%CUR%XRUNOFF_GARDEN(ji) .NE. xundef)
THEN
104 dgct%CUR%XRUNOFFC_GARDEN(ji) = dgct%CUR%XRUNOFFC_GARDEN(ji) + dgmt%CUR%XRUNOFF_GARDEN(ji) * ptstep
107 IF (dgmt%CUR%XRUNOFF_ROAD(ji) .NE. xundef)
THEN
108 dgct%CUR%XRUNOFFC_ROAD(ji) = dgct%CUR%XRUNOFFC_ROAD(ji) + dgmt%CUR%XRUNOFF_ROAD(ji) * ptstep
111 IF (dgmt%CUR%XRUNOFF_ROOF(ji) .NE. xundef)
THEN
112 dgct%CUR%XRUNOFFC_ROOF(ji) = dgct%CUR%XRUNOFFC_ROOF(ji) + dgmt%CUR%XRUNOFF_ROOF(ji) * ptstep
115 IF (dgmt%CUR%XRUNOFF_STRLROOF(ji) .NE. xundef)
THEN
116 dgct%CUR%XRUNOFFC_STRLROOF(ji) = dgct%CUR%XRUNOFFC_STRLROOF(ji) + dgmt%CUR%XRUNOFF_STRLROOF(ji) * ptstep
119 IF (dgmt%CUR%XDRAIN_GARDEN(ji) .NE. xundef)
THEN
120 dgct%CUR%XDRAINC_GARDEN(ji) = dgct%CUR%XDRAINC_GARDEN(ji) + dgmt%CUR%XDRAIN_GARDEN(ji) * ptstep
123 IF (dgmt%CUR%XIRRIG_GARDEN(ji) .NE. xundef)
THEN
124 dgct%CUR%XIRRIGC_GARDEN(ji) = dgct%CUR%XIRRIGC_GARDEN(ji) + dgmt%CUR%XIRRIG_GARDEN(ji) * ptstep
127 IF (dgmt%CUR%XIRRIG_ROAD(ji) .NE. xundef)
THEN
128 dgct%CUR%XIRRIGC_ROAD(ji) = dgct%CUR%XIRRIGC_ROAD(ji) + dgmt%CUR%XIRRIG_ROAD(ji) * ptstep
131 IF (top%LGREENROOF)
THEN
132 IF (dgmt%CUR%XRUNOFF_GREENROOF(ji) .NE. xundef)
THEN
133 dgct%CUR%XRUNOFFC_GREENROOF(ji) = dgct%CUR%XRUNOFFC_GREENROOF(ji)+ dgmt%CUR%XRUNOFF_GREENROOF(ji) * ptstep
136 IF (dgmt%CUR%XDRAIN_GREENROOF(ji) .NE. xundef)
THEN
137 dgct%CUR%XDRAINC_GREENROOF(ji) = dgct%CUR%XDRAINC_GREENROOF(ji) + dgmt%CUR%XDRAIN_GREENROOF(ji) * ptstep
140 IF (dgmt%CUR%XIRRIG_GREENROOF(ji) .NE. xundef)
THEN
141 dgct%CUR%XIRRIGC_GREENROOF(ji) = dgct%CUR%XIRRIGC_GREENROOF(ji) + dgmt%CUR%XIRRIG_GREENROOF(ji) * ptstep
147 IF (lhook) CALL dr_hook(
'CUMUL_DIAG_TEB_N',1,zhook_handle)
subroutine cumul_diag_teb_n(DGCT, DGMT, TOP, PTSTEP)