54 USE yomhook
,ONLY : lhook, dr_hook
55 USE parkind1
,ONLY : jprb
63 TYPE(isba_t
),
INTENT(INOUT) :: i
65 REAL,
INTENT(IN) :: ptstep
66 REAL,
DIMENSION(:),
INTENT(IN) :: prain
67 REAL,
DIMENSION(:),
INTENT(IN) :: psnow
74 INTEGER :: isize_lmeb_patch
75 REAL,
DIMENSION(SIZE(I%XPATCH,1)) :: zsumpatch
76 REAL(KIND=JPRB) :: zhook_handle
83 IF (lhook) CALL dr_hook(
'AVERAGE_DIAG_EVAP_ISBA_N',0,zhook_handle)
85 isize_lmeb_patch=count(i%LMEB_PATCH(:))
88 DO jpatch=1,
SIZE(i%XPATCH,2)
89 DO jj=1,
SIZE(i%XPATCH,1)
90 zsumpatch(jj) = zsumpatch(jj) + i%XPATCH(jj,jpatch)
97 IF (dgei%LSURF_EVAP_BUDGET)
THEN
99 dgei%XAVG_LEG (:) = 0.
100 dgei%XAVG_LEGI (:) = 0.
101 dgei%XAVG_LEV (:) = 0.
102 dgei%XAVG_LES (:) = 0.
103 dgei%XAVG_LESL (:) = 0.
104 dgei%XAVG_LER (:) = 0.
105 dgei%XAVG_LETR (:) = 0.
106 dgei%XAVG_EVAP (:) = 0.
107 dgei%XAVG_SUBL (:) = 0.
108 dgei%XAVG_SNDRIFT (:) = 0.
109 dgei%XAVG_DRAIN (:) = 0.
110 dgei%XAVG_QSB (:) = 0.
111 dgei%XAVG_RUNOFF (:) = 0.
112 dgei%XAVG_HORT (:) = 0.
113 dgei%XAVG_DRIP (:) = 0.
114 dgei%XAVG_RRVEG (:) = 0.
115 dgei%XAVG_MELT (:) = 0.
116 dgei%XAVG_IFLOOD (:) = 0.
117 dgei%XAVG_PFLOOD (:) = 0.
118 dgei%XAVG_LE_FLOOD (:) = 0.
119 dgei%XAVG_LEI_FLOOD (:) = 0.
120 dgei%XAVG_IRRIG_FLUX (:) = 0.
121 dgei%XAVG_GPP (:) = 0.
122 dgei%XAVG_RESP_AUTO (:) = 0.
123 dgei%XAVG_RESP_ECO (:) = 0.
125 IF (isize_lmeb_patch>0)
THEN
126 dgei%XAVG_LEVCV (:) = 0.
127 dgei%XAVG_LESC (:) = 0.
128 dgei%XAVG_LETRGV (:) = 0.
129 dgei%XAVG_LETRCV (:) = 0.
130 dgei%XAVG_LERGV (:) = 0.
131 dgei%XAVG_LELITTER (:) = 0.
132 dgei%XAVG_LELITTERI (:) = 0.
133 dgei%XAVG_DRIPLIT (:) = 0.
134 dgei%XAVG_RRLIT (:) = 0.
135 dgei%XAVG_LERCV (:) = 0.
136 dgei%XAVG_LE_C_A (:) = 0.
137 dgei%XAVG_LE_V_C (:) = 0.
138 dgei%XAVG_LE_G_C (:) = 0.
139 dgei%XAVG_LE_N_C (:) = 0.
141 dgei%XAVG_SWNET_V (:) = 0.
142 dgei%XAVG_SWNET_G (:) = 0.
143 dgei%XAVG_SWNET_N (:) = 0.
144 dgei%XAVG_SWNET_NS (:) = 0.
145 dgei%XAVG_LWNET_V (:) = 0.
146 dgei%XAVG_LWNET_G (:) = 0.
147 dgei%XAVG_LWNET_N (:) = 0.
148 dgei%XAVG_SWDOWN_GN (:) = 0.
149 dgei%XAVG_LWDOWN_GN (:) = 0.
150 dgei%XAVG_H_V_C (:) = 0.
151 dgei%XAVG_H_G_C (:) = 0.
152 dgei%XAVG_H_C_A (:) = 0.
153 dgei%XAVG_H_N_C (:) = 0.
154 dgei%XAVG_SR_GN (:) = 0.
155 dgei%XAVG_MELTCV (:) = 0.
156 dgei%XAVG_FRZCV (:) = 0.
159 DO jpatch=1,
SIZE(i%XPATCH,2)
161 DO jj=1,
SIZE(zsumpatch)
162 IF (zsumpatch(jj) > 0.)
THEN
166 dgei%XAVG_LEG(jj) = dgei%XAVG_LEG(jj) + i%XPATCH(jj,jpatch) * dgei%XLEG(jj,jpatch)
170 dgei%XAVG_LEGI(jj) = dgei%XAVG_LEGI(jj) + i%XPATCH(jj,jpatch) * dgei%XLEGI(jj,jpatch)
174 dgei%XAVG_LEV(jj) = dgei%XAVG_LEV(jj) + i%XPATCH(jj,jpatch) * dgei%XLEV(jj,jpatch)
178 dgei%XAVG_LES(jj) = dgei%XAVG_LES(jj) + i%XPATCH(jj,jpatch) * dgei%XLES(jj,jpatch)
182 dgei%XAVG_LESL(jj) = dgei%XAVG_LESL(jj) + i%XPATCH(jj,jpatch) * dgei%XLESL(jj,jpatch)
186 dgei%XAVG_LER(jj) = dgei%XAVG_LER(jj) + i%XPATCH(jj,jpatch) * dgei%XLER(jj,jpatch)
190 dgei%XAVG_LETR(jj) = dgei%XAVG_LETR(jj) + i%XPATCH(jj,jpatch) * dgei%XLETR(jj,jpatch)
194 dgei%XAVG_EVAP(jj) = dgei%XAVG_EVAP(jj) + i%XPATCH(jj,jpatch) * dgei%XEVAP(jj,jpatch)
198 dgei%XAVG_SUBL(jj) = dgei%XAVG_SUBL(jj) + i%XPATCH(jj,jpatch) * dgei%XSUBL(jj,jpatch)
202 dgei%XAVG_SNDRIFT(jj) = dgei%XAVG_SNDRIFT(jj) + i%XPATCH(jj,jpatch) * dgei%XSNDRIFT(jj,jpatch)
206 dgei%XAVG_DRAIN(jj) = dgei%XAVG_DRAIN(jj) + i%XPATCH(jj,jpatch) * dgei%XDRAIN(jj,jpatch)
210 dgei%XAVG_QSB(jj) = dgei%XAVG_QSB(jj) + i%XPATCH(jj,jpatch) * dgei%XQSB(jj,jpatch)
214 dgei%XAVG_RUNOFF(jj) = dgei%XAVG_RUNOFF(jj) + i%XPATCH(jj,jpatch) * dgei%XRUNOFF(jj,jpatch)
218 dgei%XAVG_HORT(jj) = dgei%XAVG_HORT(jj) + i%XPATCH(jj,jpatch) * dgei%XHORT(jj,jpatch)
222 dgei%XAVG_DRIP(jj) = dgei%XAVG_DRIP(jj) + i%XPATCH(jj,jpatch) * dgei%XDRIP(jj,jpatch)
226 dgei%XAVG_RRVEG(jj) = dgei%XAVG_RRVEG(jj) + i%XPATCH(jj,jpatch) * dgei%XRRVEG(jj,jpatch)
230 dgei%XAVG_MELT(jj) = dgei%XAVG_MELT(jj) + i%XPATCH(jj,jpatch) * dgei%XMELT(jj,jpatch)
234 dgei%XAVG_IFLOOD(jj) = dgei%XAVG_IFLOOD(jj) + i%XPATCH(jj,jpatch) * dgei%XIFLOOD(jj,jpatch)
238 dgei%XAVG_PFLOOD(jj) = dgei%XAVG_PFLOOD(jj) + i%XPATCH(jj,jpatch) * dgei%XPFLOOD(jj,jpatch)
242 dgei%XAVG_LE_FLOOD (jj) = dgei%XAVG_LE_FLOOD (jj) + i%XPATCH(jj,jpatch) * dgei%XLE_FLOOD (jj,jpatch)
243 dgei%XAVG_LEI_FLOOD(jj) = dgei%XAVG_LEI_FLOOD(jj) + i%XPATCH(jj,jpatch) * dgei%XLEI_FLOOD(jj,jpatch)
247 dgei%XAVG_IRRIG_FLUX(jj) = dgei%XAVG_IRRIG_FLUX(jj) + i%XPATCH(jj,jpatch) * dgei%XIRRIG_FLUX(jj,jpatch)
251 dgei%XAVG_GPP(jj) = dgei%XAVG_GPP(jj) + i%XPATCH(jj,jpatch) * dgei%XGPP(jj,jpatch)
255 dgei%XAVG_RESP_AUTO(jj) = dgei%XAVG_RESP_AUTO(jj) + i%XPATCH(jj,jpatch) * dgei%XRESP_AUTO(jj,jpatch)
259 dgei%XAVG_RESP_ECO(jj) = dgei%XAVG_RESP_ECO(jj) + i%XPATCH(jj,jpatch) * dgei%XRESP_ECO(jj,jpatch)
261 IF (isize_lmeb_patch>0)
THEN
262 dgei%XAVG_LEVCV(jj) = dgei%XAVG_LEVCV(jj) + i%XPATCH(jj,jpatch) * dgei%XLEVCV(jj,jpatch)
263 dgei%XAVG_LESC(jj) = dgei%XAVG_LESC(jj) + i%XPATCH(jj,jpatch) * dgei%XLESC(jj,jpatch)
264 dgei%XAVG_LETRCV(jj) = dgei%XAVG_LETRCV(jj) + i%XPATCH(jj,jpatch) * dgei%XLETRCV(jj,jpatch)
265 dgei%XAVG_LELITTER(jj) = dgei%XAVG_LELITTER(jj) + i%XPATCH(jj,jpatch) * dgei%XLELITTER(jj,jpatch)
266 dgei%XAVG_LELITTERI(jj) = dgei%XAVG_LELITTERI(jj) + i%XPATCH(jj,jpatch) * dgei%XLELITTERI(jj,jpatch)
267 dgei%XAVG_DRIPLIT(jj) = dgei%XAVG_DRIPLIT(jj) + i%XPATCH(jj,jpatch) * dgei%XDRIPLIT(jj,jpatch)
268 dgei%XAVG_RRLIT(jj) = dgei%XAVG_RRLIT(jj) + i%XPATCH(jj,jpatch) * dgei%XRRLIT(jj,jpatch)
269 dgei%XAVG_LERCV(jj) = dgei%XAVG_LERCV(jj) + i%XPATCH(jj,jpatch) * dgei%XLERCV(jj,jpatch)
270 dgei%XAVG_LE_C_A(jj) = dgei%XAVG_LE_C_A(jj) + i%XPATCH(jj,jpatch) * dgei%XLE_C_A(jj,jpatch)
271 dgei%XAVG_LE_V_C(jj) = dgei%XAVG_LE_V_C(jj) + i%XPATCH(jj,jpatch) * dgei%XLE_V_C(jj,jpatch)
272 dgei%XAVG_LE_G_C(jj) = dgei%XAVG_LE_G_C(jj) + i%XPATCH(jj,jpatch) * dgei%XLE_G_C(jj,jpatch)
273 dgei%XAVG_LE_N_C(jj) = dgei%XAVG_LE_N_C(jj) + i%XPATCH(jj,jpatch) * dgei%XLE_N_C(jj,jpatch)
274 dgei%XAVG_SWNET_V(jj) = dgei%XAVG_SWNET_V(jj) + i%XPATCH(jj,jpatch) * dgei%XSWNET_V(jj,jpatch)
275 dgei%XAVG_SWNET_G(jj) = dgei%XAVG_SWNET_G(jj) + i%XPATCH(jj,jpatch) * dgei%XSWNET_G(jj,jpatch)
276 dgei%XAVG_SWNET_N(jj) = dgei%XAVG_SWNET_N(jj) + i%XPATCH(jj,jpatch) * dgei%XSWNET_N(jj,jpatch)
277 dgei%XAVG_SWNET_NS(jj) = dgei%XAVG_SWNET_NS(jj) + i%XPATCH(jj,jpatch) * dgei%XSWNET_NS(jj,jpatch)
278 dgei%XAVG_LWNET_V(jj) = dgei%XAVG_LWNET_V(jj) + i%XPATCH(jj,jpatch) * dgei%XLWNET_V(jj,jpatch)
279 dgei%XAVG_LWNET_G(jj) = dgei%XAVG_LWNET_G(jj) + i%XPATCH(jj,jpatch) * dgei%XLWNET_G(jj,jpatch)
280 dgei%XAVG_LWNET_N(jj) = dgei%XAVG_LWNET_N(jj) + i%XPATCH(jj,jpatch) * dgei%XLWNET_N(jj,jpatch)
281 dgei%XAVG_SWDOWN_GN(jj) = dgei%XAVG_SWDOWN_GN(jj) + i%XPATCH(jj,jpatch) * dgei%XSWDOWN_GN(jj,jpatch)
282 dgei%XAVG_LWDOWN_GN(jj) = dgei%XAVG_LWDOWN_GN(jj) + i%XPATCH(jj,jpatch) * dgei%XLWDOWN_GN(jj,jpatch)
283 dgei%XAVG_H_V_C(jj) = dgei%XAVG_H_V_C(jj) + i%XPATCH(jj,jpatch) * dgei%XH_V_C(jj,jpatch)
284 dgei%XAVG_H_G_C(jj) = dgei%XAVG_H_G_C(jj) + i%XPATCH(jj,jpatch) * dgei%XH_G_C(jj,jpatch)
285 dgei%XAVG_H_C_A(jj) = dgei%XAVG_H_C_A(jj) + i%XPATCH(jj,jpatch) * dgei%XH_C_A(jj,jpatch)
286 dgei%XAVG_H_N_C(jj) = dgei%XAVG_H_N_C(jj) + i%XPATCH(jj,jpatch) * dgei%XH_N_C(jj,jpatch)
287 dgei%XAVG_SR_GN(jj) = dgei%XAVG_SR_GN(jj) + i%XPATCH(jj,jpatch) * dgei%XSR_GN(jj,jpatch)
288 dgei%XAVG_MELTCV(jj) = dgei%XAVG_MELTCV(jj) + i%XPATCH(jj,jpatch) * dgei%XMELTCV(jj,jpatch)
289 dgei%XAVG_FRZCV(jj) = dgei%XAVG_FRZCV(jj) + i%XPATCH(jj,jpatch) * dgei%XFRZCV(jj,jpatch)
298 IF(dgei%LWATER_BUDGET)
THEN
300 dgei%XRAINFALL (:) = prain(:) * ptstep
301 dgei%XSNOWFALL (:) = psnow(:) * ptstep
302 dgei%XAVG_DWG (:) = 0.0
303 dgei%XAVG_DWGI (:) = 0.0
304 dgei%XAVG_DWR (:) = 0.0
305 dgei%XAVG_DSWE (:) = 0.0
306 dgei%XAVG_WATBUD(:) = 0.0
308 DO jpatch=1,
SIZE(i%XPATCH,2)
310 DO jj=1,
SIZE(zsumpatch)
311 IF (zsumpatch(jj) > 0.)
THEN
313 dgei%XAVG_DWG (jj) = dgei%XAVG_DWG (jj) + i%XPATCH(jj,jpatch) * dgei%XDWG (jj,jpatch)
314 dgei%XAVG_DWGI (jj) = dgei%XAVG_DWGI (jj) + i%XPATCH(jj,jpatch) * dgei%XDWGI (jj,jpatch)
315 dgei%XAVG_DWR (jj) = dgei%XAVG_DWR (jj) + i%XPATCH(jj,jpatch) * dgei%XDWR (jj,jpatch)
316 dgei%XAVG_DSWE (jj) = dgei%XAVG_DSWE (jj) + i%XPATCH(jj,jpatch) * dgei%XDSWE (jj,jpatch)
317 dgei%XAVG_WATBUD(jj) = dgei%XAVG_WATBUD(jj) + i%XPATCH(jj,jpatch) * dgei%XWATBUD(jj,jpatch)
331 IF (dgei%LSURF_BUDGETC)
THEN
332 dgei%XAVG_RNC (:) = 0.
333 dgei%XAVG_HC (:) = 0.
334 dgei%XAVG_LEC (:) = 0.
335 dgei%XAVG_GFLUXC (:) = 0.
336 dgei%XAVG_LEIC (:) = 0.
337 dgei%XAVG_LEGC (:) = 0.
338 dgei%XAVG_LEGIC (:) = 0.
339 dgei%XAVG_LEVC (:) = 0.
340 dgei%XAVG_LESAC (:) = 0.
341 dgei%XAVG_LESLC (:) = 0.
342 dgei%XAVG_LERC (:) = 0.
343 dgei%XAVG_LETRC (:) = 0.
344 dgei%XAVG_EVAPC (:) = 0.
345 dgei%XAVG_SUBLC (:) = 0.
346 dgei%XAVG_SNDRIFTC (:) = 0.
347 dgei%XAVG_DRAINC (:) = 0.
348 dgei%XAVG_QSBC (:) = 0.
349 dgei%XAVG_RUNOFFC (:) = 0.
350 dgei%XAVG_HORTC (:) = 0.
351 dgei%XAVG_DRIPC (:) = 0.
352 dgei%XAVG_RRVEGC (:) = 0.
353 dgei%XAVG_MELTC (:) = 0.
354 dgei%XAVG_IFLOODC (:) = 0.
355 dgei%XAVG_PFLOODC (:) = 0.
356 dgei%XAVG_LE_FLOODC (:) = 0.
357 dgei%XAVG_LEI_FLOODC (:) = 0.
358 dgei%XAVG_IRRIG_FLUXC(:) = 0.
359 dgei%XAVG_GPPC (:) = 0.
360 dgei%XAVG_RESPC_AUTO (:) = 0.
361 dgei%XAVG_RESPC_ECO (:) = 0.
363 IF (isize_lmeb_patch>0)
THEN
364 dgei%XAVG_LEVCVC (:) = 0.
365 dgei%XAVG_LESCC (:) = 0.
366 dgei%XAVG_LETRGVC (:) = 0.
367 dgei%XAVG_LETRCVC (:) = 0.
368 dgei%XAVG_LERGVC (:) = 0.
369 dgei%XAVG_LERCVC (:) = 0.
370 dgei%XAVG_LE_C_AC (:) = 0.
371 dgei%XAVG_LE_V_CC (:) = 0.
372 dgei%XAVG_LE_G_CC (:) = 0.
373 dgei%XAVG_LE_N_CC (:) = 0.
374 dgei%XAVG_SWNET_VC (:) = 0.
375 dgei%XAVG_SWNET_GC (:) = 0.
376 dgei%XAVG_SWNET_NC (:) = 0.
377 dgei%XAVG_SWNET_NSC (:) = 0.
378 dgei%XAVG_LWNET_VC (:) = 0.
379 dgei%XAVG_LWNET_GC (:) = 0.
380 dgei%XAVG_LWNET_NC (:) = 0.
381 dgei%XAVG_SWDOWN_GNC (:) = 0.
382 dgei%XAVG_LWDOWN_GNC (:) = 0.
383 dgei%XAVG_H_V_CC (:) = 0.
384 dgei%XAVG_H_G_CC (:) = 0.
385 dgei%XAVG_H_C_AC (:) = 0.
386 dgei%XAVG_H_N_CC (:) = 0.
387 dgei%XAVG_SR_GNC (:) = 0.
388 dgei%XAVG_MELTCVC (:) = 0.
389 dgei%XAVG_FRZCVC (:) = 0.
392 DO jpatch=1,
SIZE(i%XPATCH,2)
394 DO jj=1,
SIZE(zsumpatch)
395 IF (zsumpatch(jj) > 0.)
THEN
399 dgei%XAVG_RNC(jj) = dgei%XAVG_RNC(jj) + i%XPATCH(jj,jpatch) * dgei%XRNC(jj,jpatch)
403 dgei%XAVG_HC(jj) = dgei%XAVG_HC(jj) + i%XPATCH(jj,jpatch) * dgei%XHC(jj,jpatch)
407 dgei%XAVG_LEC(jj) = dgei%XAVG_LEC(jj) + i%XPATCH(jj,jpatch) * dgei%XLEC(jj,jpatch)
411 dgei%XAVG_GFLUXC(jj) = dgei%XAVG_GFLUXC(jj) + i%XPATCH(jj,jpatch) * dgei%XGFLUXC(jj,jpatch)
415 dgei%XAVG_LEIC(jj) = dgei%XAVG_LEIC(jj) + i%XPATCH(jj,jpatch) * dgei%XLEIC(jj,jpatch)
419 dgei%XAVG_LEGC(jj) = dgei%XAVG_LEGC(jj) + i%XPATCH(jj,jpatch) * dgei%XLEGC(jj,jpatch)
423 dgei%XAVG_LEGIC(jj) = dgei%XAVG_LEGIC(jj) + i%XPATCH(jj,jpatch) * dgei%XLEGIC(jj,jpatch)
427 dgei%XAVG_LEVC(jj) = dgei%XAVG_LEVC(jj) + i%XPATCH(jj,jpatch) * dgei%XLEVC(jj,jpatch)
431 dgei%XAVG_LESAC(jj) = dgei%XAVG_LESAC(jj) + i%XPATCH(jj,jpatch) * dgei%XLESAC(jj,jpatch)
435 dgei%XAVG_LESLC(jj) = dgei%XAVG_LESLC(jj) + i%XPATCH(jj,jpatch) * dgei%XLESLC(jj,jpatch)
439 dgei%XAVG_LERC(jj) = dgei%XAVG_LERC(jj) + i%XPATCH(jj,jpatch) * dgei%XLERC(jj,jpatch)
443 dgei%XAVG_LETRC(jj) = dgei%XAVG_LETRC(jj) + i%XPATCH(jj,jpatch) * dgei%XLETRC(jj,jpatch)
447 dgei%XAVG_EVAPC(jj) = dgei%XAVG_EVAPC(jj) + i%XPATCH(jj,jpatch) * dgei%XEVAPC(jj,jpatch)
451 dgei%XAVG_SUBLC(jj) = dgei%XAVG_SUBLC(jj) + i%XPATCH(jj,jpatch) * dgei%XSUBLC(jj,jpatch)
455 dgei%XAVG_SNDRIFTC(jj) = dgei%XAVG_SNDRIFTC(jj) + i%XPATCH(jj,jpatch) * dgei%XSNDRIFTC(jj,jpatch)
459 dgei%XAVG_DRAINC(jj) = dgei%XAVG_DRAINC(jj) + i%XPATCH(jj,jpatch) * dgei%XDRAINC(jj,jpatch)
463 dgei%XAVG_QSBC(jj) = dgei%XAVG_QSBC(jj) + i%XPATCH(jj,jpatch) * dgei%XQSBC(jj,jpatch)
467 dgei%XAVG_RUNOFFC(jj) = dgei%XAVG_RUNOFFC(jj) + i%XPATCH(jj,jpatch) * dgei%XRUNOFFC(jj,jpatch)
471 dgei%XAVG_HORTC(jj) = dgei%XAVG_HORTC(jj) + i%XPATCH(jj,jpatch) * dgei%XHORTC(jj,jpatch)
475 dgei%XAVG_DRIPC(jj) = dgei%XAVG_DRIPC(jj) + i%XPATCH(jj,jpatch) * dgei%XDRIPC(jj,jpatch)
479 dgei%XAVG_RRVEGC(jj) = dgei%XAVG_RRVEGC(jj) + i%XPATCH(jj,jpatch) * dgei%XRRVEGC(jj,jpatch)
483 dgei%XAVG_MELTC(jj) = dgei%XAVG_MELTC(jj) + i%XPATCH(jj,jpatch) * dgei%XMELTC(jj,jpatch)
487 dgei%XAVG_IFLOODC(jj) = dgei%XAVG_IFLOODC(jj) + i%XPATCH(jj,jpatch) * dgei%XIFLOODC(jj,jpatch)
491 dgei%XAVG_PFLOODC(jj) = dgei%XAVG_PFLOODC(jj) + i%XPATCH(jj,jpatch) * dgei%XPFLOODC(jj,jpatch)
495 dgei%XAVG_LE_FLOODC (jj) = dgei%XAVG_LE_FLOODC (jj) + i%XPATCH(jj,jpatch) * dgei%XLE_FLOODC (jj,jpatch)
496 dgei%XAVG_LEI_FLOODC(jj) = dgei%XAVG_LEI_FLOODC(jj) + i%XPATCH(jj,jpatch) * dgei%XLEI_FLOODC(jj,jpatch)
500 dgei%XAVG_IRRIG_FLUXC(jj) = dgei%XAVG_IRRIG_FLUXC(jj) + i%XPATCH(jj,jpatch) * dgei%XIRRIG_FLUXC(jj,jpatch)
504 dgei%XAVG_GPPC(jj) = dgei%XAVG_GPPC(jj) + i%XPATCH(jj,jpatch) * dgei%XGPPC(jj,jpatch)
508 dgei%XAVG_RESPC_AUTO(jj) = dgei%XAVG_RESPC_AUTO(jj) + i%XPATCH(jj,jpatch) * dgei%XRESPC_AUTO(jj,jpatch)
512 dgei%XAVG_RESPC_ECO(jj) = dgei%XAVG_RESPC_ECO(jj) + i%XPATCH(jj,jpatch) * dgei%XRESPC_ECO(jj,jpatch)
514 IF (isize_lmeb_patch>0)
THEN
515 dgei%XAVG_LEVCVC(jj) = dgei%XAVG_LEVCVC(jj) + i%XPATCH(jj,jpatch) * dgei%XLEVCVC(jj,jpatch)
516 dgei%XAVG_LESCC(jj) = dgei%XAVG_LESCC(jj) + i%XPATCH(jj,jpatch) * dgei%XLESCC(jj,jpatch)
518 dgei%XAVG_LETRCVC(jj) = dgei%XAVG_LETRCVC(jj) + i%XPATCH(jj,jpatch) * dgei%XLETRCVC(jj,jpatch)
520 dgei%XAVG_LERCVC(jj) = dgei%XAVG_LERCVC(jj) + i%XPATCH(jj,jpatch) * dgei%XLERCVC(jj,jpatch)
521 dgei%XAVG_LE_C_AC(jj) = dgei%XAVG_LE_C_AC(jj) + i%XPATCH(jj,jpatch) * dgei%XLE_C_AC(jj,jpatch)
522 dgei%XAVG_LE_V_CC(jj) = dgei%XAVG_LE_V_CC(jj) + i%XPATCH(jj,jpatch) * dgei%XLE_V_CC(jj,jpatch)
523 dgei%XAVG_LE_G_CC(jj) = dgei%XAVG_LE_G_CC(jj) + i%XPATCH(jj,jpatch) * dgei%XLE_G_CC(jj,jpatch)
524 dgei%XAVG_LE_N_CC(jj) = dgei%XAVG_LE_N_CC(jj) + i%XPATCH(jj,jpatch) * dgei%XLE_N_CC(jj,jpatch)
525 dgei%XAVG_SWNET_VC(jj) = dgei%XAVG_SWNET_VC(jj) + i%XPATCH(jj,jpatch) * dgei%XSWNET_VC(jj,jpatch)
526 dgei%XAVG_SWNET_GC(jj) = dgei%XAVG_SWNET_GC(jj) + i%XPATCH(jj,jpatch) * dgei%XSWNET_GC(jj,jpatch)
527 dgei%XAVG_SWNET_NC(jj) = dgei%XAVG_SWNET_NC(jj) + i%XPATCH(jj,jpatch) * dgei%XSWNET_NC(jj,jpatch)
528 dgei%XAVG_SWNET_NSC(jj) = dgei%XAVG_SWNET_NSC(jj) + i%XPATCH(jj,jpatch) * dgei%XSWNET_NSC(jj,jpatch)
529 dgei%XAVG_LWNET_VC(jj) = dgei%XAVG_LWNET_VC(jj) + i%XPATCH(jj,jpatch) * dgei%XLWNET_VC(jj,jpatch)
530 dgei%XAVG_LWNET_GC(jj) = dgei%XAVG_LWNET_GC(jj) + i%XPATCH(jj,jpatch) * dgei%XLWNET_GC(jj,jpatch)
531 dgei%XAVG_LWNET_NC(jj) = dgei%XAVG_LWNET_NC(jj) + i%XPATCH(jj,jpatch) * dgei%XLWNET_NC(jj,jpatch)
532 dgei%XAVG_SWDOWN_GNC(jj) = dgei%XAVG_SWDOWN_GNC(jj) + i%XPATCH(jj,jpatch) * dgei%XSWDOWN_GNC(jj,jpatch)
533 dgei%XAVG_LWDOWN_GNC(jj) = dgei%XAVG_LWDOWN_GNC(jj) + i%XPATCH(jj,jpatch) * dgei%XLWDOWN_GNC(jj,jpatch)
534 dgei%XAVG_H_V_CC(jj) = dgei%XAVG_H_V_CC(jj) + i%XPATCH(jj,jpatch) * dgei%XH_V_CC(jj,jpatch)
535 dgei%XAVG_H_G_CC(jj) = dgei%XAVG_H_G_CC(jj) + i%XPATCH(jj,jpatch) * dgei%XH_G_CC(jj,jpatch)
536 dgei%XAVG_H_C_AC(jj) = dgei%XAVG_H_C_AC(jj) + i%XPATCH(jj,jpatch) * dgei%XH_C_AC(jj,jpatch)
537 dgei%XAVG_H_N_CC(jj) = dgei%XAVG_H_N_CC(jj) + i%XPATCH(jj,jpatch) * dgei%XH_N_CC(jj,jpatch)
538 dgei%XAVG_SR_GNC(jj) = dgei%XAVG_SR_GNC(jj) + i%XPATCH(jj,jpatch) * dgei%XSR_GNC(jj,jpatch)
539 dgei%XAVG_MELTCVC(jj) = dgei%XAVG_MELTCVC(jj) + i%XPATCH(jj,jpatch) * dgei%XMELTCVC(jj,jpatch)
540 dgei%XAVG_FRZCVC(jj) = dgei%XAVG_FRZCVC(jj) + i%XPATCH(jj,jpatch) * dgei%XFRZCVC(jj,jpatch)
549 IF(dgei%LWATER_BUDGET)
THEN
551 dgei%XRAINFALLC (:) = dgei%XRAINFALLC (:) + prain(:) * ptstep
552 dgei%XSNOWFALLC (:) = dgei%XSNOWFALLC (:) + psnow(:) * ptstep
553 dgei%XAVG_DWGC (:) = 0.0
554 dgei%XAVG_DWGIC (:) = 0.0
555 dgei%XAVG_DWRC (:) = 0.0
556 dgei%XAVG_DSWEC (:) = 0.0
557 dgei%XAVG_WATBUDC(:) = 0.0
559 DO jpatch=1,
SIZE(i%XPATCH,2)
561 DO jj=1,
SIZE(zsumpatch)
562 IF (zsumpatch(jj) > 0.)
THEN
564 dgei%XAVG_DWGC (jj) = dgei%XAVG_DWGC (jj) + i%XPATCH(jj,jpatch) * dgei%XDWGC (jj,jpatch)
565 dgei%XAVG_DWGIC (jj) = dgei%XAVG_DWGIC (jj) + i%XPATCH(jj,jpatch) * dgei%XDWGIC (jj,jpatch)
566 dgei%XAVG_DWRC (jj) = dgei%XAVG_DWRC (jj) + i%XPATCH(jj,jpatch) * dgei%XDWRC (jj,jpatch)
567 dgei%XAVG_DSWEC (jj) = dgei%XAVG_DSWEC (jj) + i%XPATCH(jj,jpatch) * dgei%XDSWEC (jj,jpatch)
568 dgei%XAVG_WATBUDC(jj) = dgei%XAVG_WATBUDC(jj) + i%XPATCH(jj,jpatch) * dgei%XWATBUDC(jj,jpatch)
579 dgei%XAVG_ICEFLUXC(:)= 0.
580 DO jpatch=1,
SIZE(i%XPATCH,2)
582 DO jj=1,
SIZE(zsumpatch)
583 IF(zsumpatch(jj) > 0.)
THEN
584 dgei%XAVG_ICEFLUXC(jj) = dgei%XAVG_ICEFLUXC(jj) + i%XPATCH(jj,jpatch) * dgei%XICEFLUXC(jj,jpatch)
592 IF (lhook) CALL dr_hook(
'AVERAGE_DIAG_EVAP_ISBA_N',1,zhook_handle)
subroutine average_diag_evap_isba_n(DGEI, I, PTSTEP, PRAIN, PSNOW)