7 chi, dgei, dgi, dgmi, dgu, gb, i, &
89 USE yomhook
,ONLY : lhook, dr_hook
90 USE parkind1
,ONLY : jprb
106 TYPE(isba_t
),
INTENT(INOUT) :: i
108 INTEGER,
INTENT(IN) :: klu
109 INTEGER,
INTENT(IN) :: ksw
110 CHARACTER(LEN=6),
INTENT(IN):: hprogram
115 INTEGER :: iversion, ibug
117 INTEGER :: isize_lmeb_patch
118 CHARACTER(LEN=12) :: yrec
119 CHARACTER(LEN=4) :: yrec2
120 REAL(KIND=JPRB) :: zhook_handle
126 IF (lhook) CALL dr_hook(
'DIAG_ISBA_INIT_N',0,zhook_handle)
128 isize_lmeb_patch=count(i%LMEB_PATCH(:))
130 IF (dgi%LSURF_BUDGET)
THEN
131 ALLOCATE(dgi%XAVG_RN (klu))
132 ALLOCATE(dgi%XAVG_H (klu))
133 ALLOCATE(dgi%XAVG_LE (klu))
134 ALLOCATE(dgi%XAVG_LEI (klu))
135 ALLOCATE(dgi%XAVG_GFLUX (klu))
136 ALLOCATE(dgi%XAVG_SWD (klu))
137 ALLOCATE(dgi%XAVG_SWU (klu))
138 ALLOCATE(dgi%XAVG_SWBD (klu,ksw))
139 ALLOCATE(dgi%XAVG_SWBU (klu,ksw))
140 ALLOCATE(dgi%XAVG_LWD (klu))
141 ALLOCATE(dgi%XAVG_LWU (klu))
142 ALLOCATE(dgi%XAVG_FMU (klu))
143 ALLOCATE(dgi%XAVG_FMV (klu))
148 dgi%XAVG_LEI = xundef
149 dgi%XAVG_GFLUX = xundef
150 dgi%XAVG_SWD = xundef
151 dgi%XAVG_SWU = xundef
152 dgi%XAVG_SWBD = xundef
153 dgi%XAVG_SWBU = xundef
154 dgi%XAVG_LWD = xundef
155 dgi%XAVG_LWU = xundef
156 dgi%XAVG_FMU = xundef
157 dgi%XAVG_FMV = xundef
159 ALLOCATE(dgi%XRN (klu,i%NPATCH))
160 ALLOCATE(dgi%XH (klu,i%NPATCH))
161 ALLOCATE(dgi%XGFLUX (klu,i%NPATCH))
162 ALLOCATE(dgi%XLEI (klu,i%NPATCH))
163 ALLOCATE(dgi%XSWD (klu,i%NPATCH))
164 ALLOCATE(dgi%XSWU (klu,i%NPATCH))
165 ALLOCATE(dgi%XSWBD (klu,ksw,i%NPATCH))
166 ALLOCATE(dgi%XSWBU (klu,ksw,i%NPATCH))
167 ALLOCATE(dgi%XLWD (klu,i%NPATCH))
168 ALLOCATE(dgi%XLWU (klu,i%NPATCH))
169 ALLOCATE(dgi%XFMU (klu,i%NPATCH))
170 ALLOCATE(dgi%XFMV (klu,i%NPATCH))
186 ALLOCATE(dgi%XAVG_RN (0))
187 ALLOCATE(dgi%XAVG_H (0))
188 ALLOCATE(dgi%XAVG_LE (0))
189 ALLOCATE(dgi%XAVG_LEI (0))
190 ALLOCATE(dgi%XAVG_GFLUX (0))
191 ALLOCATE(dgi%XAVG_SWD (0))
192 ALLOCATE(dgi%XAVG_SWU (0))
193 ALLOCATE(dgi%XAVG_SWBD (0,0))
194 ALLOCATE(dgi%XAVG_SWBU (0,0))
195 ALLOCATE(dgi%XAVG_LWD (0))
196 ALLOCATE(dgi%XAVG_LWU (0))
197 ALLOCATE(dgi%XAVG_FMU (0))
198 ALLOCATE(dgi%XAVG_FMV (0))
200 ALLOCATE(dgi%XRN (0,0))
201 ALLOCATE(dgi%XH (0,0))
202 ALLOCATE(dgi%XGFLUX (0,0))
203 ALLOCATE(dgi%XLEI (0,0))
204 ALLOCATE(dgi%XSWD (0,0))
205 ALLOCATE(dgi%XSWU (0,0))
206 ALLOCATE(dgi%XSWBD (0,0,0))
207 ALLOCATE(dgi%XSWBU (0,0,0))
208 ALLOCATE(dgi%XLWD (0,0))
209 ALLOCATE(dgi%XLWU (0,0))
210 ALLOCATE(dgi%XFMU (0,0))
211 ALLOCATE(dgi%XFMV (0,0))
216 IF (dgei%LSURF_EVAP_BUDGET)
THEN
217 ALLOCATE(dgei%XAVG_LEG (klu))
218 ALLOCATE(dgei%XAVG_LEGI (klu))
219 ALLOCATE(dgei%XAVG_LEV (klu))
220 ALLOCATE(dgei%XAVG_LES (klu))
221 ALLOCATE(dgei%XAVG_LESL (klu))
222 ALLOCATE(dgei%XAVG_LER (klu))
223 ALLOCATE(dgei%XAVG_LETR (klu))
224 ALLOCATE(dgei%XAVG_EVAP (klu))
225 ALLOCATE(dgei%XAVG_SUBL (klu))
226 ALLOCATE(dgei%XAVG_SNDRIFT (klu))
227 ALLOCATE(dgei%XAVG_DRAIN (klu))
228 ALLOCATE(dgei%XAVG_QSB (klu))
229 ALLOCATE(dgei%XAVG_RUNOFF (klu))
230 ALLOCATE(dgei%XAVG_HORT (klu))
231 ALLOCATE(dgei%XAVG_DRIP (klu))
232 ALLOCATE(dgei%XAVG_RRVEG (klu))
233 ALLOCATE(dgei%XAVG_MELT (klu))
234 ALLOCATE(dgei%XAVG_IRRIG_FLUX(klu))
235 ALLOCATE(dgei%XAVG_GPP (klu))
236 ALLOCATE(dgei%XAVG_RESP_AUTO (klu))
237 ALLOCATE(dgei%XAVG_RESP_ECO (klu))
239 dgei%XAVG_LEG = xundef
240 dgei%XAVG_LEGI = xundef
241 dgei%XAVG_LEV = xundef
242 dgei%XAVG_LES = xundef
243 dgei%XAVG_LESL = xundef
244 dgei%XAVG_LER = xundef
245 dgei%XAVG_LETR = xundef
246 dgei%XAVG_EVAP = xundef
247 dgei%XAVG_SUBL = xundef
248 dgei%XAVG_SNDRIFT = xundef
249 dgei%XAVG_DRAIN = xundef
250 dgei%XAVG_QSB = xundef
251 dgei%XAVG_RUNOFF = xundef
252 dgei%XAVG_HORT = xundef
253 dgei%XAVG_DRIP = xundef
254 dgei%XAVG_RRVEG = xundef
255 dgei%XAVG_MELT = xundef
256 dgei%XAVG_IRRIG_FLUX = xundef
257 dgei%XAVG_GPP = xundef
258 dgei%XAVG_RESP_AUTO = xundef
259 dgei%XAVG_RESP_ECO = xundef
261 ALLOCATE(dgei%XAVG_IFLOOD (klu))
262 ALLOCATE(dgei%XAVG_PFLOOD (klu))
263 ALLOCATE(dgei%XAVG_LE_FLOOD (klu))
264 ALLOCATE(dgei%XAVG_LEI_FLOOD(klu))
265 dgei%XAVG_IFLOOD = xundef
266 dgei%XAVG_PFLOOD = xundef
267 dgei%XAVG_LE_FLOOD = xundef
268 dgei%XAVG_LEI_FLOOD = xundef
270 ALLOCATE(dgei%XLEG (klu,i%NPATCH))
271 ALLOCATE(dgei%XLEGI (klu,i%NPATCH))
272 ALLOCATE(dgei%XLEV (klu,i%NPATCH))
273 ALLOCATE(dgei%XLES (klu,i%NPATCH))
274 ALLOCATE(dgei%XLESL (klu,i%NPATCH))
275 ALLOCATE(dgei%XLER (klu,i%NPATCH))
276 ALLOCATE(dgei%XLETR (klu,i%NPATCH))
277 ALLOCATE(dgei%XEVAP (klu,i%NPATCH))
278 ALLOCATE(dgei%XSUBL (klu,i%NPATCH))
279 ALLOCATE(dgei%XSNDRIFT (klu,i%NPATCH))
280 ALLOCATE(dgei%XDRAIN (klu,i%NPATCH))
281 ALLOCATE(dgei%XQSB (klu,i%NPATCH))
282 ALLOCATE(dgei%XRUNOFF (klu,i%NPATCH))
283 ALLOCATE(dgei%XHORT (klu,i%NPATCH))
284 ALLOCATE(dgei%XDRIP (klu,i%NPATCH))
285 ALLOCATE(dgei%XRRVEG (klu,i%NPATCH))
286 ALLOCATE(dgei%XMELT (klu,i%NPATCH))
287 ALLOCATE(dgei%XIRRIG_FLUX(klu,i%NPATCH))
288 ALLOCATE(dgei%XGPP (klu,i%NPATCH))
289 ALLOCATE(dgei%XRESP_AUTO (klu,i%NPATCH))
290 ALLOCATE(dgei%XRESP_ECO (klu,i%NPATCH))
301 dgei%XSNDRIFT = xundef
304 dgei%XRUNOFF = xundef
309 dgei%XIRRIG_FLUX = xundef
311 dgei%XRESP_AUTO = xundef
312 dgei%XRESP_ECO = xundef
314 ALLOCATE(dgei%XIFLOOD (klu,i%NPATCH))
315 ALLOCATE(dgei%XPFLOOD (klu,i%NPATCH))
316 ALLOCATE(dgei%XLE_FLOOD(klu,i%NPATCH))
317 ALLOCATE(dgei%XLEI_FLOOD(klu,i%NPATCH))
318 dgei%XIFLOOD = xundef
319 dgei%XPFLOOD = xundef
320 dgei%XLE_FLOOD = xundef
321 dgei%XLEI_FLOOD = xundef
323 IF (isize_lmeb_patch>0)
THEN
324 ALLOCATE(dgei%XAVG_LEVCV (klu))
325 ALLOCATE(dgei%XAVG_LESC (klu))
326 ALLOCATE(dgei%XAVG_LETRGV (klu))
327 ALLOCATE(dgei%XAVG_LETRCV (klu))
328 ALLOCATE(dgei%XAVG_LERGV (klu))
329 ALLOCATE(dgei%XAVG_LELITTER (klu))
330 ALLOCATE(dgei%XAVG_LELITTERI(klu))
331 ALLOCATE(dgei%XAVG_DRIPLIT (klu))
332 ALLOCATE(dgei%XAVG_RRLIT (klu))
333 ALLOCATE(dgei%XAVG_LERCV (klu))
334 ALLOCATE(dgei%XAVG_LE_C_A (klu))
335 ALLOCATE(dgei%XAVG_LE_V_C (klu))
336 ALLOCATE(dgei%XAVG_LE_G_C (klu))
337 ALLOCATE(dgei%XAVG_LE_N_C (klu))
339 ALLOCATE(dgei%XAVG_SWNET_V (klu))
340 ALLOCATE(dgei%XAVG_SWNET_G (klu))
341 ALLOCATE(dgei%XAVG_SWNET_N (klu))
342 ALLOCATE(dgei%XAVG_SWNET_NS (klu))
343 ALLOCATE(dgei%XAVG_LWNET_V (klu))
344 ALLOCATE(dgei%XAVG_LWNET_G (klu))
345 ALLOCATE(dgei%XAVG_LWNET_N (klu))
346 ALLOCATE(dgei%XAVG_SWDOWN_GN (klu))
347 ALLOCATE(dgei%XAVG_LWDOWN_GN (klu))
348 ALLOCATE(dgei%XAVG_H_V_C (klu))
349 ALLOCATE(dgei%XAVG_H_G_C (klu))
350 ALLOCATE(dgei%XAVG_H_C_A (klu))
351 ALLOCATE(dgei%XAVG_H_N_C (klu))
352 ALLOCATE(dgei%XAVG_SR_GN (klu))
353 ALLOCATE(dgei%XAVG_MELTCV (klu))
354 ALLOCATE(dgei%XAVG_FRZCV (klu))
356 dgei%XAVG_LEVCV = xundef
357 dgei%XAVG_LESC = xundef
358 dgei%XAVG_LETRGV = xundef
359 dgei%XAVG_LETRCV = xundef
360 dgei%XAVG_LERGV = xundef
361 dgei%XAVG_LELITTER = xundef
362 dgei%XAVG_LELITTERI = xundef
363 dgei%XAVG_DRIPLIT = xundef
364 dgei%XAVG_RRLIT = xundef
365 dgei%XAVG_LERCV = xundef
366 dgei%XAVG_LE_C_A = xundef
367 dgei%XAVG_LE_V_C = xundef
368 dgei%XAVG_LE_G_C = xundef
369 dgei%XAVG_LE_N_C = xundef
371 dgei%XAVG_SWNET_V = xundef
372 dgei%XAVG_SWNET_G = xundef
373 dgei%XAVG_SWNET_N = xundef
374 dgei%XAVG_SWNET_NS = xundef
375 dgei%XAVG_LWNET_V = xundef
376 dgei%XAVG_LWNET_G = xundef
377 dgei%XAVG_LWNET_N = xundef
378 dgei%XAVG_SWDOWN_GN = xundef
379 dgei%XAVG_LWDOWN_GN = xundef
380 dgei%XAVG_H_V_C = xundef
381 dgei%XAVG_H_G_C = xundef
382 dgei%XAVG_H_C_A = xundef
383 dgei%XAVG_H_N_C = xundef
384 dgei%XAVG_SR_GN = xundef
385 dgei%XAVG_MELTCV = xundef
386 dgei%XAVG_FRZCV = xundef
388 ALLOCATE(dgei%XLEVCV (klu,i%NPATCH))
389 ALLOCATE(dgei%XLESC (klu,i%NPATCH))
391 ALLOCATE(dgei%XLETRCV (klu,i%NPATCH))
393 ALLOCATE(dgei%XLELITTER (klu,i%NPATCH))
394 ALLOCATE(dgei%XLELITTERI(klu,i%NPATCH))
395 ALLOCATE(dgei%XDRIPLIT (klu,i%NPATCH))
396 ALLOCATE(dgei%XRRLIT (klu,i%NPATCH))
397 ALLOCATE(dgei%XLERCV (klu,i%NPATCH))
398 ALLOCATE(dgei%XLE_C_A (klu,i%NPATCH))
399 ALLOCATE(dgei%XLE_V_C (klu,i%NPATCH))
400 ALLOCATE(dgei%XLE_G_C (klu,i%NPATCH))
401 ALLOCATE(dgei%XLE_N_C (klu,i%NPATCH))
403 ALLOCATE(dgei%XSWNET_V (klu,i%NPATCH))
404 ALLOCATE(dgei%XSWNET_G (klu,i%NPATCH))
405 ALLOCATE(dgei%XSWNET_N (klu,i%NPATCH))
406 ALLOCATE(dgei%XSWNET_NS (klu,i%NPATCH))
407 ALLOCATE(dgei%XLWNET_V (klu,i%NPATCH))
408 ALLOCATE(dgei%XLWNET_G (klu,i%NPATCH))
409 ALLOCATE(dgei%XLWNET_N (klu,i%NPATCH))
410 ALLOCATE(dgei%XSWDOWN_GN (klu,i%NPATCH))
411 ALLOCATE(dgei%XLWDOWN_GN (klu,i%NPATCH))
412 ALLOCATE(dgei%XH_V_C (klu,i%NPATCH))
413 ALLOCATE(dgei%XH_G_C (klu,i%NPATCH))
414 ALLOCATE(dgei%XH_C_A (klu,i%NPATCH))
415 ALLOCATE(dgei%XH_N_C (klu,i%NPATCH))
416 ALLOCATE(dgei%XSR_GN (klu,i%NPATCH))
417 ALLOCATE(dgei%XMELTCV (klu,i%NPATCH))
418 ALLOCATE(dgei%XFRZCV (klu,i%NPATCH))
423 dgei%XLETRCV = xundef
425 dgei%XLELITTER = xundef
426 dgei%XLELITTERI = xundef
427 dgei%XDRIPLIT = xundef
430 dgei%XLE_C_A = xundef
431 dgei%XLE_V_C = xundef
432 dgei%XLE_G_C = xundef
433 dgei%XLE_N_C = xundef
435 dgei%XSWNET_V = xundef
436 dgei%XSWNET_G = xundef
437 dgei%XSWNET_N = xundef
438 dgei%XSWNET_NS = xundef
439 dgei%XLWNET_V = xundef
440 dgei%XLWNET_G = xundef
441 dgei%XLWNET_N = xundef
442 dgei%XSWDOWN_GN = xundef
443 dgei%XLWDOWN_GN = xundef
449 dgei%XMELTCV = xundef
452 ALLOCATE(dgei%XAVG_LEVCV (0))
453 ALLOCATE(dgei%XAVG_LESC (0))
454 ALLOCATE(dgei%XAVG_LETRGV (0))
455 ALLOCATE(dgei%XAVG_LELITTER (0))
456 ALLOCATE(dgei%XAVG_LELITTERI(0))
457 ALLOCATE(dgei%XAVG_DRIPLIT (0))
458 ALLOCATE(dgei%XAVG_RRLIT (0))
459 ALLOCATE(dgei%XAVG_LETRCV (0))
460 ALLOCATE(dgei%XAVG_LERGV (0))
461 ALLOCATE(dgei%XAVG_LERCV (0))
462 ALLOCATE(dgei%XAVG_LE_C_A (0))
463 ALLOCATE(dgei%XAVG_LE_V_C (0))
464 ALLOCATE(dgei%XAVG_LE_G_C (0))
465 ALLOCATE(dgei%XAVG_LE_N_C (0))
467 ALLOCATE(dgei%XAVG_SWNET_V (0))
468 ALLOCATE(dgei%XAVG_SWNET_G (0))
469 ALLOCATE(dgei%XAVG_SWNET_N (0))
470 ALLOCATE(dgei%XAVG_SWNET_NS (0))
471 ALLOCATE(dgei%XAVG_LWNET_V (0))
472 ALLOCATE(dgei%XAVG_LWNET_G (0))
473 ALLOCATE(dgei%XAVG_LWNET_N (0))
474 ALLOCATE(dgei%XAVG_SWDOWN_GN (0))
475 ALLOCATE(dgei%XAVG_LWDOWN_GN (0))
476 ALLOCATE(dgei%XAVG_H_V_C (0))
477 ALLOCATE(dgei%XAVG_H_G_C (0))
478 ALLOCATE(dgei%XAVG_H_C_A (0))
479 ALLOCATE(dgei%XAVG_H_N_C (0))
480 ALLOCATE(dgei%XAVG_SR_GN (0))
481 ALLOCATE(dgei%XAVG_MELTCV (0))
482 ALLOCATE(dgei%XAVG_FRZCV (0))
484 ALLOCATE(dgei%XLEVCV (0,0))
485 ALLOCATE(dgei%XLESC (0,0))
487 ALLOCATE(dgei%XLETRCV (0,0))
489 ALLOCATE(dgei%XLELITTER (0,0))
490 ALLOCATE(dgei%XLELITTERI(0,0))
491 ALLOCATE(dgei%XDRIPLIT (0,0))
492 ALLOCATE(dgei%XRRLIT (0,0))
493 ALLOCATE(dgei%XLERCV (0,0))
494 ALLOCATE(dgei%XLE_C_A (0,0))
495 ALLOCATE(dgei%XLE_V_C (0,0))
496 ALLOCATE(dgei%XLE_G_C (0,0))
497 ALLOCATE(dgei%XLE_N_C (0,0))
499 ALLOCATE(dgei%XSWNET_V (0,0))
500 ALLOCATE(dgei%XSWNET_G (0,0))
501 ALLOCATE(dgei%XSWNET_N (0,0))
502 ALLOCATE(dgei%XSWNET_NS (0,0))
503 ALLOCATE(dgei%XLWNET_V (0,0))
504 ALLOCATE(dgei%XLWNET_G (0,0))
505 ALLOCATE(dgei%XLWNET_N (0,0))
506 ALLOCATE(dgei%XSWDOWN_GN (0,0))
507 ALLOCATE(dgei%XLWDOWN_GN (0,0))
508 ALLOCATE(dgei%XH_V_C (0,0))
509 ALLOCATE(dgei%XH_G_C (0,0))
510 ALLOCATE(dgei%XH_C_A (0,0))
511 ALLOCATE(dgei%XH_N_C (0,0))
512 ALLOCATE(dgei%XSR_GN (0,0))
513 ALLOCATE(dgei%XMELTCV (0,0))
514 ALLOCATE(dgei%XFRZCV (0,0))
518 IF(dgei%LWATER_BUDGET)
THEN
520 ALLOCATE(dgei%XRAINFALL (klu))
521 ALLOCATE(dgei%XSNOWFALL (klu))
522 ALLOCATE(dgei%XAVG_DWG (klu))
523 ALLOCATE(dgei%XAVG_DWGI (klu))
524 ALLOCATE(dgei%XAVG_DWR (klu))
525 ALLOCATE(dgei%XAVG_DSWE (klu))
526 ALLOCATE(dgei%XAVG_WATBUD(klu))
527 dgei%XRAINFALL = xundef
528 dgei%XSNOWFALL = xundef
529 dgei%XAVG_DWG = xundef
530 dgei%XAVG_DWGI = xundef
531 dgei%XAVG_DWR = xundef
532 dgei%XAVG_DSWE = xundef
533 dgei%XAVG_WATBUD = xundef
535 ALLOCATE(dgei%XDWG (klu,i%NPATCH))
536 ALLOCATE(dgei%XDWGI (klu,i%NPATCH))
537 ALLOCATE(dgei%XDWR (klu,i%NPATCH))
538 ALLOCATE(dgei%XDSWE (klu,i%NPATCH))
539 ALLOCATE(dgei%XWATBUD(klu,i%NPATCH))
544 dgei%XWATBUD = xundef
548 ALLOCATE(dgei%XRAINFALL (0))
549 ALLOCATE(dgei%XSNOWFALL (0))
550 ALLOCATE(dgei%XAVG_DWG (0))
551 ALLOCATE(dgei%XAVG_DWGI (0))
552 ALLOCATE(dgei%XAVG_DWR (0))
553 ALLOCATE(dgei%XAVG_DSWE (0))
554 ALLOCATE(dgei%XAVG_WATBUD(0))
556 ALLOCATE(dgei%XDWG (0,0))
557 ALLOCATE(dgei%XDWGI (0,0))
558 ALLOCATE(dgei%XDWR (0,0))
559 ALLOCATE(dgei%XDSWE (0,0))
560 ALLOCATE(dgei%XWATBUD(0,0))
565 ALLOCATE(dgei%XAVG_LEG (0))
566 ALLOCATE(dgei%XAVG_LEGI (0))
567 ALLOCATE(dgei%XAVG_LEV (0))
568 ALLOCATE(dgei%XAVG_LES (0))
569 ALLOCATE(dgei%XAVG_LESL (0))
570 ALLOCATE(dgei%XAVG_LER (0))
571 ALLOCATE(dgei%XAVG_LETR (0))
572 ALLOCATE(dgei%XAVG_EVAP (0))
573 ALLOCATE(dgei%XAVG_SUBL (0))
574 ALLOCATE(dgei%XAVG_SNDRIFT (0))
575 ALLOCATE(dgei%XAVG_DRAIN (0))
576 ALLOCATE(dgei%XAVG_QSB (0))
577 ALLOCATE(dgei%XAVG_RUNOFF (0))
578 ALLOCATE(dgei%XAVG_HORT (0))
579 ALLOCATE(dgei%XAVG_DRIP (0))
580 ALLOCATE(dgei%XAVG_RRVEG (0))
581 ALLOCATE(dgei%XAVG_MELT (0))
582 ALLOCATE(dgei%XAVG_IRRIG_FLUX(0))
583 ALLOCATE(dgei%XAVG_GPP (0))
584 ALLOCATE(dgei%XAVG_RESP_AUTO (0))
585 ALLOCATE(dgei%XAVG_RESP_ECO (0))
586 ALLOCATE(dgei%XAVG_IFLOOD (0))
587 ALLOCATE(dgei%XAVG_PFLOOD (0))
588 ALLOCATE(dgei%XAVG_LE_FLOOD (0))
589 ALLOCATE(dgei%XAVG_LEI_FLOOD (0))
591 ALLOCATE(dgei%XLEG (0,0))
592 ALLOCATE(dgei%XLEGI (0,0))
593 ALLOCATE(dgei%XLEV (0,0))
594 ALLOCATE(dgei%XLES (0,0))
595 ALLOCATE(dgei%XLESL (0,0))
596 ALLOCATE(dgei%XLER (0,0))
597 ALLOCATE(dgei%XLETR (0,0))
598 ALLOCATE(dgei%XEVAP (0,0))
599 ALLOCATE(dgei%XSUBL (0,0))
600 ALLOCATE(dgei%XSNDRIFT (0,0))
601 ALLOCATE(dgei%XDRAIN (0,0))
602 ALLOCATE(dgei%XQSB (0,0))
603 ALLOCATE(dgei%XRUNOFF (0,0))
604 ALLOCATE(dgei%XHORT (0,0))
605 ALLOCATE(dgei%XDRIP (0,0))
606 ALLOCATE(dgei%XRRVEG (0,0))
607 ALLOCATE(dgei%XMELT (0,0))
608 ALLOCATE(dgei%XIRRIG_FLUX(0,0))
609 ALLOCATE(dgei%XGPP (0,0))
610 ALLOCATE(dgei%XRESP_AUTO (0,0))
611 ALLOCATE(dgei%XRESP_ECO (0,0))
612 ALLOCATE(dgei%XIFLOOD (0,0))
613 ALLOCATE(dgei%XPFLOOD (0,0))
614 ALLOCATE(dgei%XLE_FLOOD (0,0))
615 ALLOCATE(dgei%XLEI_FLOOD (0,0))
617 ALLOCATE(dgei%XRAINFALL (0))
618 ALLOCATE(dgei%XSNOWFALL (0))
619 ALLOCATE(dgei%XAVG_DWG (0))
620 ALLOCATE(dgei%XAVG_DWGI (0))
621 ALLOCATE(dgei%XAVG_DWR (0))
622 ALLOCATE(dgei%XAVG_DSWE (0))
623 ALLOCATE(dgei%XAVG_WATBUD(0))
625 ALLOCATE(dgei%XDWG (0,0))
626 ALLOCATE(dgei%XDWGI (0,0))
627 ALLOCATE(dgei%XDWR (0,0))
628 ALLOCATE(dgei%XDSWE (0,0))
629 ALLOCATE(dgei%XWATBUD(0,0))
631 ALLOCATE(dgei%XAVG_LEVCV (0))
632 ALLOCATE(dgei%XAVG_LESC (0))
633 ALLOCATE(dgei%XAVG_LETRGV (0))
634 ALLOCATE(dgei%XAVG_LETRCV (0))
635 ALLOCATE(dgei%XAVG_LERGV (0))
636 ALLOCATE(dgei%XAVG_LELITTER (0))
637 ALLOCATE(dgei%XAVG_LELITTERI(0))
638 ALLOCATE(dgei%XAVG_DRIPLIT (0))
639 ALLOCATE(dgei%XAVG_RRLIT (0))
640 ALLOCATE(dgei%XAVG_LERCV (0))
641 ALLOCATE(dgei%XAVG_LE_C_A (0))
642 ALLOCATE(dgei%XAVG_LE_V_C (0))
643 ALLOCATE(dgei%XAVG_LE_G_C (0))
644 ALLOCATE(dgei%XAVG_LE_N_C (0))
646 ALLOCATE(dgei%XAVG_SWNET_V (0))
647 ALLOCATE(dgei%XAVG_SWNET_G (0))
648 ALLOCATE(dgei%XAVG_SWNET_N (0))
649 ALLOCATE(dgei%XAVG_SWNET_NS (0))
650 ALLOCATE(dgei%XAVG_LWNET_V (0))
651 ALLOCATE(dgei%XAVG_LWNET_G (0))
652 ALLOCATE(dgei%XAVG_LWNET_N (0))
653 ALLOCATE(dgei%XAVG_SWDOWN_GN (0))
654 ALLOCATE(dgei%XAVG_LWDOWN_GN (0))
655 ALLOCATE(dgei%XAVG_H_V_C (0))
656 ALLOCATE(dgei%XAVG_H_G_C (0))
657 ALLOCATE(dgei%XAVG_H_C_A (0))
658 ALLOCATE(dgei%XAVG_H_N_C (0))
659 ALLOCATE(dgei%XAVG_SR_GN (0))
660 ALLOCATE(dgei%XAVG_MELTCV (0))
661 ALLOCATE(dgei%XAVG_FRZCV (0))
663 ALLOCATE(dgei%XLEVCV (0,0))
664 ALLOCATE(dgei%XLESC (0,0))
666 ALLOCATE(dgei%XLETRCV (0,0))
668 ALLOCATE(dgei%XLELITTER (0,0))
669 ALLOCATE(dgei%XLELITTERI(0,0))
670 ALLOCATE(dgei%XDRIPLIT (0,0))
671 ALLOCATE(dgei%XRRLIT (0,0))
672 ALLOCATE(dgei%XLERCV (0,0))
673 ALLOCATE(dgei%XLE_C_A (0,0))
674 ALLOCATE(dgei%XLE_V_C (0,0))
675 ALLOCATE(dgei%XLE_G_C (0,0))
676 ALLOCATE(dgei%XLE_N_C (0,0))
678 ALLOCATE(dgei%XSWNET_V (0,0))
679 ALLOCATE(dgei%XSWNET_G (0,0))
680 ALLOCATE(dgei%XSWNET_N (0,0))
681 ALLOCATE(dgei%XSWNET_NS (0,0))
682 ALLOCATE(dgei%XLWNET_V (0,0))
683 ALLOCATE(dgei%XLWNET_G (0,0))
684 ALLOCATE(dgei%XLWNET_N (0,0))
685 ALLOCATE(dgei%XSWDOWN_GN (0,0))
686 ALLOCATE(dgei%XLWDOWN_GN (0,0))
687 ALLOCATE(dgei%XH_V_C (0,0))
688 ALLOCATE(dgei%XH_G_C (0,0))
689 ALLOCATE(dgei%XH_C_A (0,0))
690 ALLOCATE(dgei%XH_N_C (0,0))
691 ALLOCATE(dgei%XSR_GN (0,0))
692 ALLOCATE(dgei%XMELTCV (0,0))
693 ALLOCATE(dgei%XFRZCV (0,0))
700 IF (dgei%LSURF_BUDGETC .OR. (lrestart .AND. .NOT.dgei%LRESET_BUDGETC))
THEN
702 IF (dgei%LSURF_BUDGETC .OR. .NOT.dgei%LRESET_BUDGETC)
THEN
704 ALLOCATE(dgei%XAVG_RNC (klu))
705 ALLOCATE(dgei%XAVG_HC (klu))
706 ALLOCATE(dgei%XAVG_LEC (klu))
707 ALLOCATE(dgei%XAVG_LEIC (klu))
708 ALLOCATE(dgei%XAVG_GFLUXC (klu))
709 ALLOCATE(dgei%XAVG_LEGC (klu))
710 ALLOCATE(dgei%XAVG_LEGIC (klu))
711 ALLOCATE(dgei%XAVG_LEVC (klu))
712 ALLOCATE(dgei%XAVG_LESAC (klu))
713 ALLOCATE(dgei%XAVG_LESLC (klu))
714 ALLOCATE(dgei%XAVG_LERC (klu))
715 ALLOCATE(dgei%XAVG_LETRC (klu))
716 ALLOCATE(dgei%XAVG_EVAPC (klu))
717 ALLOCATE(dgei%XAVG_SUBLC (klu))
718 ALLOCATE(dgei%XAVG_SNDRIFTC (klu))
719 ALLOCATE(dgei%XAVG_DRAINC (klu))
720 ALLOCATE(dgei%XAVG_QSBC (klu))
721 ALLOCATE(dgei%XAVG_RUNOFFC (klu))
722 ALLOCATE(dgei%XAVG_HORTC (klu))
723 ALLOCATE(dgei%XAVG_DRIPC (klu))
724 ALLOCATE(dgei%XAVG_RRVEGC (klu))
725 ALLOCATE(dgei%XAVG_MELTC (klu))
726 ALLOCATE(dgei%XAVG_IRRIG_FLUXC(klu))
727 ALLOCATE(dgei%XAVG_GPPC (klu))
728 ALLOCATE(dgei%XAVG_RESPC_AUTO (klu))
729 ALLOCATE(dgei%XAVG_RESPC_ECO (klu))
730 ALLOCATE(dgei%XAVG_IFLOODC (klu))
731 ALLOCATE(dgei%XAVG_PFLOODC (klu))
732 ALLOCATE(dgei%XAVG_LE_FLOODC (klu))
733 ALLOCATE(dgei%XAVG_LEI_FLOODC (klu))
735 ALLOCATE(dgei%XRNC (klu,i%NPATCH))
736 ALLOCATE(dgei%XHC (klu,i%NPATCH))
737 ALLOCATE(dgei%XLEC (klu,i%NPATCH))
738 ALLOCATE(dgei%XLEIC (klu,i%NPATCH))
739 ALLOCATE(dgei%XGFLUXC (klu,i%NPATCH))
740 ALLOCATE(dgei%XLEGC (klu,i%NPATCH))
741 ALLOCATE(dgei%XLEGIC (klu,i%NPATCH))
742 ALLOCATE(dgei%XLEVC (klu,i%NPATCH))
743 ALLOCATE(dgei%XLESAC (klu,i%NPATCH))
744 ALLOCATE(dgei%XLESLC (klu,i%NPATCH))
745 ALLOCATE(dgei%XLERC (klu,i%NPATCH))
746 ALLOCATE(dgei%XLETRC (klu,i%NPATCH))
747 ALLOCATE(dgei%XEVAPC (klu,i%NPATCH))
748 ALLOCATE(dgei%XSUBLC (klu,i%NPATCH))
749 ALLOCATE(dgei%XSNDRIFTC (klu,i%NPATCH))
750 ALLOCATE(dgei%XDRAINC (klu,i%NPATCH))
751 ALLOCATE(dgei%XQSBC (klu,i%NPATCH))
752 ALLOCATE(dgei%XRUNOFFC (klu,i%NPATCH))
753 ALLOCATE(dgei%XHORTC (klu,i%NPATCH))
754 ALLOCATE(dgei%XDRIPC (klu,i%NPATCH))
755 ALLOCATE(dgei%XRRVEGC (klu,i%NPATCH))
756 ALLOCATE(dgei%XMELTC (klu,i%NPATCH))
757 ALLOCATE(dgei%XIRRIG_FLUXC(klu,i%NPATCH))
758 ALLOCATE(dgei%XGPPC (klu,i%NPATCH))
759 ALLOCATE(dgei%XRESPC_AUTO (klu,i%NPATCH))
760 ALLOCATE(dgei%XRESPC_ECO (klu,i%NPATCH))
761 ALLOCATE(dgei%XIFLOODC (klu,i%NPATCH))
762 ALLOCATE(dgei%XPFLOODC (klu,i%NPATCH))
763 ALLOCATE(dgei%XLE_FLOODC (klu,i%NPATCH))
764 ALLOCATE(dgei%XLEI_FLOODC (klu,i%NPATCH))
766 IF (isize_lmeb_patch>0)
THEN
767 ALLOCATE(dgei%XAVG_LEVCVC (klu))
768 ALLOCATE(dgei%XAVG_LESCC (klu))
769 ALLOCATE(dgei%XAVG_LETRGVC (klu))
770 ALLOCATE(dgei%XAVG_LETRCVC (klu))
771 ALLOCATE(dgei%XAVG_LERGVC (klu))
772 ALLOCATE(dgei%XAVG_LERCVC (klu))
773 ALLOCATE(dgei%XAVG_LE_C_AC (klu))
774 ALLOCATE(dgei%XAVG_LE_V_CC (klu))
775 ALLOCATE(dgei%XAVG_LE_G_CC (klu))
776 ALLOCATE(dgei%XAVG_LE_N_CC (klu))
778 ALLOCATE(dgei%XAVG_SWNET_VC (klu))
779 ALLOCATE(dgei%XAVG_SWNET_GC (klu))
780 ALLOCATE(dgei%XAVG_SWNET_NC (klu))
781 ALLOCATE(dgei%XAVG_SWNET_NSC (klu))
782 ALLOCATE(dgei%XAVG_LWNET_VC (klu))
783 ALLOCATE(dgei%XAVG_LWNET_GC (klu))
784 ALLOCATE(dgei%XAVG_LWNET_NC (klu))
785 ALLOCATE(dgei%XAVG_SWDOWN_GNC (klu))
786 ALLOCATE(dgei%XAVG_LWDOWN_GNC (klu))
787 ALLOCATE(dgei%XAVG_H_V_CC (klu))
788 ALLOCATE(dgei%XAVG_H_G_CC (klu))
789 ALLOCATE(dgei%XAVG_H_C_AC (klu))
790 ALLOCATE(dgei%XAVG_H_N_CC (klu))
791 ALLOCATE(dgei%XAVG_SR_GNC (klu))
792 ALLOCATE(dgei%XAVG_MELTCVC (klu))
793 ALLOCATE(dgei%XAVG_FRZCVC (klu))
795 ALLOCATE(dgei%XLEVCVC (klu,i%NPATCH))
796 ALLOCATE(dgei%XLESCC (klu,i%NPATCH))
798 ALLOCATE(dgei%XLETRCVC (klu,i%NPATCH))
800 ALLOCATE(dgei%XLERCVC (klu,i%NPATCH))
801 ALLOCATE(dgei%XLE_C_AC (klu,i%NPATCH))
802 ALLOCATE(dgei%XLE_V_CC (klu,i%NPATCH))
803 ALLOCATE(dgei%XLE_G_CC (klu,i%NPATCH))
804 ALLOCATE(dgei%XLE_N_CC (klu,i%NPATCH))
806 ALLOCATE(dgei%XSWNET_VC (klu,i%NPATCH))
807 ALLOCATE(dgei%XSWNET_GC (klu,i%NPATCH))
808 ALLOCATE(dgei%XSWNET_NC (klu,i%NPATCH))
809 ALLOCATE(dgei%XSWNET_NSC (klu,i%NPATCH))
810 ALLOCATE(dgei%XLWNET_VC (klu,i%NPATCH))
811 ALLOCATE(dgei%XLWNET_GC (klu,i%NPATCH))
812 ALLOCATE(dgei%XLWNET_NC (klu,i%NPATCH))
813 ALLOCATE(dgei%XSWDOWN_GNC (klu,i%NPATCH))
814 ALLOCATE(dgei%XLWDOWN_GNC (klu,i%NPATCH))
815 ALLOCATE(dgei%XH_V_CC (klu,i%NPATCH))
816 ALLOCATE(dgei%XH_G_CC (klu,i%NPATCH))
817 ALLOCATE(dgei%XH_C_AC (klu,i%NPATCH))
818 ALLOCATE(dgei%XH_N_CC (klu,i%NPATCH))
819 ALLOCATE(dgei%XSR_GNC (klu,i%NPATCH))
820 ALLOCATE(dgei%XMELTCVC (klu,i%NPATCH))
821 ALLOCATE(dgei%XFRZCVC (klu,i%NPATCH))
823 ALLOCATE(dgei%XAVG_LEVCVC (0))
824 ALLOCATE(dgei%XAVG_LESCC (0))
825 ALLOCATE(dgei%XAVG_LETRGVC (0))
826 ALLOCATE(dgei%XAVG_LETRCVC (0))
827 ALLOCATE(dgei%XAVG_LERGVC (0))
828 ALLOCATE(dgei%XAVG_LERCVC (0))
829 ALLOCATE(dgei%XAVG_LE_C_AC (0))
830 ALLOCATE(dgei%XAVG_LE_V_CC (0))
831 ALLOCATE(dgei%XAVG_LE_G_CC (0))
832 ALLOCATE(dgei%XAVG_LE_N_CC (0))
834 ALLOCATE(dgei%XAVG_SWNET_VC (0))
835 ALLOCATE(dgei%XAVG_SWNET_GC (0))
836 ALLOCATE(dgei%XAVG_SWNET_NC (0))
837 ALLOCATE(dgei%XAVG_SWNET_NSC (0))
838 ALLOCATE(dgei%XAVG_LWNET_VC (0))
839 ALLOCATE(dgei%XAVG_LWNET_GC (0))
840 ALLOCATE(dgei%XAVG_LWNET_NC (0))
841 ALLOCATE(dgei%XAVG_SWDOWN_GNC (0))
842 ALLOCATE(dgei%XAVG_LWDOWN_GNC (0))
843 ALLOCATE(dgei%XAVG_H_V_CC (0))
844 ALLOCATE(dgei%XAVG_H_G_CC (0))
845 ALLOCATE(dgei%XAVG_H_C_AC (0))
846 ALLOCATE(dgei%XAVG_H_N_CC (0))
847 ALLOCATE(dgei%XAVG_SR_GNC (0))
848 ALLOCATE(dgei%XAVG_MELTCVC (0))
849 ALLOCATE(dgei%XAVG_FRZCVC (0))
851 ALLOCATE(dgei%XLEVCVC (0,0))
852 ALLOCATE(dgei%XLESCC (0,0))
854 ALLOCATE(dgei%XLETRCVC (0,0))
856 ALLOCATE(dgei%XLERCVC (0,0))
857 ALLOCATE(dgei%XLE_C_AC (0,0))
858 ALLOCATE(dgei%XLE_V_CC (0,0))
859 ALLOCATE(dgei%XLE_G_CC (0,0))
860 ALLOCATE(dgei%XLE_N_CC (0,0))
862 ALLOCATE(dgei%XSWNET_VC (0,0))
863 ALLOCATE(dgei%XSWNET_GC (0,0))
864 ALLOCATE(dgei%XSWNET_NC (0,0))
865 ALLOCATE(dgei%XSWNET_NSC (0,0))
866 ALLOCATE(dgei%XLWNET_VC (0,0))
867 ALLOCATE(dgei%XLWNET_GC (0,0))
868 ALLOCATE(dgei%XLWNET_NC (0,0))
869 ALLOCATE(dgei%XSWDOWN_GNC (0,0))
870 ALLOCATE(dgei%XLWDOWN_GNC (0,0))
871 ALLOCATE(dgei%XH_V_CC (0,0))
872 ALLOCATE(dgei%XH_G_CC (0,0))
873 ALLOCATE(dgei%XH_C_AC (0,0))
874 ALLOCATE(dgei%XH_N_CC (0,0))
875 ALLOCATE(dgei%XSR_GNC (0,0))
876 ALLOCATE(dgei%XMELTCVC (0,0))
877 ALLOCATE(dgei%XFRZCVC (0,0))
880 ALLOCATE(dgi%XAVG_SWDC (klu))
881 ALLOCATE(dgi%XAVG_SWUC (klu))
882 ALLOCATE(dgi%XAVG_LWDC (klu))
883 ALLOCATE(dgi%XAVG_LWUC (klu))
884 ALLOCATE(dgi%XAVG_FMUC (klu))
885 ALLOCATE(dgi%XAVG_FMVC (klu))
886 ALLOCATE(dgi%XSWDC (klu,i%NPATCH))
887 ALLOCATE(dgi%XSWUC (klu,i%NPATCH))
888 ALLOCATE(dgi%XLWDC (klu,i%NPATCH))
889 ALLOCATE(dgi%XLWUC (klu,i%NPATCH))
890 ALLOCATE(dgi%XFMUC (klu,i%NPATCH))
891 ALLOCATE(dgi%XFMVC (klu,i%NPATCH))
894 ALLOCATE(dgei%XAVG_ICEFLUXC(klu))
895 ALLOCATE(dgei%XICEFLUXC(klu,i%NPATCH))
899 IF(dgei%LWATER_BUDGET .OR. (lrestart .AND. .NOT.dgei%LRESET_BUDGETC))
THEN
901 IF(dgei%LWATER_BUDGET .OR. .NOT.dgei%LRESET_BUDGETC)
THEN
904 ALLOCATE(dgei%XRAINFALLC (klu))
905 ALLOCATE(dgei%XSNOWFALLC (klu))
906 ALLOCATE(dgei%XAVG_DWGC (klu))
907 ALLOCATE(dgei%XAVG_DWGIC (klu))
908 ALLOCATE(dgei%XAVG_DWRC (klu))
909 ALLOCATE(dgei%XAVG_DSWEC (klu))
910 ALLOCATE(dgei%XAVG_WATBUDC(klu))
912 ALLOCATE(dgei%XDWGC (klu,i%NPATCH))
913 ALLOCATE(dgei%XDWGIC (klu,i%NPATCH))
914 ALLOCATE(dgei%XDWRC (klu,i%NPATCH))
915 ALLOCATE(dgei%XDSWEC (klu,i%NPATCH))
916 ALLOCATE(dgei%XWATBUDC(klu,i%NPATCH))
920 ALLOCATE(dgei%XRAINFALLC (0))
921 ALLOCATE(dgei%XSNOWFALLC (0))
922 ALLOCATE(dgei%XAVG_DWGC (0))
923 ALLOCATE(dgei%XAVG_DWGIC (0))
924 ALLOCATE(dgei%XAVG_DWRC (0))
925 ALLOCATE(dgei%XAVG_DSWEC (0))
926 ALLOCATE(dgei%XAVG_WATBUDC(0))
928 ALLOCATE(dgei%XDWGC (0,0))
929 ALLOCATE(dgei%XDWGIC (0,0))
930 ALLOCATE(dgei%XDWRC (0,0))
931 ALLOCATE(dgei%XDSWEC (0,0))
932 ALLOCATE(dgei%XWATBUDC(0,0))
936 IF (.NOT.dgu%LREAD_BUDGETC)
THEN
941 dgei%XAVG_GFLUXC = 0.0
943 dgei%XAVG_LEGIC = 0.0
945 dgei%XAVG_LESAC = 0.0
946 dgei%XAVG_LESLC = 0.0
948 dgei%XAVG_LETRC = 0.0
949 dgei%XAVG_EVAPC = 0.0
950 dgei%XAVG_SUBLC = 0.0
951 dgei%XAVG_SNDRIFTC = 0.0
952 dgei%XAVG_DRAINC = 0.0
954 dgei%XAVG_RUNOFFC = 0.0
955 dgei%XAVG_HORTC = 0.0
956 dgei%XAVG_DRIPC = 0.0
957 dgei%XAVG_RRVEGC = 0.0
958 dgei%XAVG_MELTC = 0.0
959 dgei%XAVG_IRRIG_FLUXC = 0.0
961 dgei%XAVG_RESPC_AUTO = 0.0
962 dgei%XAVG_RESPC_ECO = 0.0
963 dgei%XAVG_IFLOODC = 0.0
964 dgei%XAVG_PFLOODC = 0.0
965 dgei%XAVG_LE_FLOODC = 0.0
966 dgei%XAVG_LEI_FLOODC = 0.0
990 dgei%XIRRIG_FLUXC = 0.0
992 dgei%XRESPC_AUTO = 0.0
993 dgei%XRESPC_ECO = 0.0
996 dgei%XLE_FLOODC = 0.0
997 dgei%XLEI_FLOODC = 0.0
999 IF (isize_lmeb_patch>0)
THEN
1000 dgei%XAVG_LEVCVC = 0.0
1001 dgei%XAVG_LESCC = 0.0
1002 dgei%XAVG_LETRGVC = 0.0
1003 dgei%XAVG_LETRCVC = 0.0
1004 dgei%XAVG_LERGVC = 0.0
1005 dgei%XAVG_LERCVC = 0.0
1006 dgei%XAVG_LE_C_AC = 0.0
1007 dgei%XAVG_LE_V_CC = 0.0
1008 dgei%XAVG_LE_G_CC = 0.0
1009 dgei%XAVG_LE_N_CC = 0.0
1011 dgei%XAVG_SWNET_VC = 0.0
1012 dgei%XAVG_SWNET_GC = 0.0
1013 dgei%XAVG_SWNET_NC = 0.0
1014 dgei%XAVG_SWNET_NSC = 0.0
1015 dgei%XAVG_LWNET_VC = 0.0
1016 dgei%XAVG_LWNET_GC = 0.0
1017 dgei%XAVG_LWNET_NC = 0.0
1018 dgei%XAVG_SWDOWN_GNC = 0.0
1019 dgei%XAVG_LWDOWN_GNC = 0.0
1020 dgei%XAVG_H_V_CC = 0.0
1021 dgei%XAVG_H_G_CC = 0.0
1022 dgei%XAVG_H_C_AC = 0.0
1023 dgei%XAVG_H_N_CC = 0.0
1024 dgei%XAVG_SR_GNC = 0.0
1025 dgei%XAVG_MELTCVC = 0.0
1026 dgei%XAVG_FRZCVC = 0.0
1039 dgei%XSWNET_VC = 0.0
1040 dgei%XSWNET_GC = 0.0
1041 dgei%XSWNET_NC = 0.0
1042 dgei%XSWNET_NSC = 0.0
1043 dgei%XLWNET_VC = 0.0
1044 dgei%XLWNET_GC = 0.0
1045 dgei%XLWNET_NC = 0.0
1046 dgei%XSWDOWN_GNC = 0.0
1047 dgei%XLWDOWN_GNC = 0.0
1071 dgei%XAVG_ICEFLUXC = 0.0
1072 dgei%XICEFLUXC = 0.0
1075 IF(dgei%LWATER_BUDGET)
THEN
1077 dgei%XRAINFALLC = 0.0
1078 dgei%XSNOWFALLC = 0.0
1079 dgei%XAVG_DWGC = 0.0
1080 dgei%XAVG_DWGIC = 0.0
1081 dgei%XAVG_DWRC = 0.0
1082 dgei%XAVG_DSWEC = 0.0
1083 dgei%XAVG_WATBUDC = 0.0
1093 ELSEIF (dgu%LREAD_BUDGETC.AND.dgei%LRESET_BUDGETC)
THEN
1098 dgei%XAVG_LEIC = 0.0
1099 dgei%XAVG_GFLUXC = 0.0
1100 dgei%XAVG_LEGC = 0.0
1101 dgei%XAVG_LEGIC = 0.0
1102 dgei%XAVG_LEVC = 0.0
1103 dgei%XAVG_LESAC = 0.0
1104 dgei%XAVG_LESLC = 0.0
1105 dgei%XAVG_LERC = 0.0
1106 dgei%XAVG_LETRC = 0.0
1107 dgei%XAVG_EVAPC = 0.0
1108 dgei%XAVG_SUBLC = 0.0
1109 dgei%XAVG_SNDRIFTC = 0.0
1110 dgei%XAVG_DRAINC = 0.0
1111 dgei%XAVG_QSBC = 0.0
1112 dgei%XAVG_RUNOFFC = 0.0
1113 dgei%XAVG_HORTC = 0.0
1114 dgei%XAVG_DRIPC = 0.0
1115 dgei%XAVG_RRVEGC = 0.0
1116 dgei%XAVG_MELTC = 0.0
1117 dgei%XAVG_IRRIG_FLUXC = 0.0
1118 dgei%XAVG_GPPC = 0.0
1119 dgei%XAVG_RESPC_AUTO = 0.0
1120 dgei%XAVG_RESPC_ECO = 0.0
1121 dgei%XAVG_IFLOODC = 0.0
1122 dgei%XAVG_PFLOODC = 0.0
1123 dgei%XAVG_LE_FLOODC = 0.0
1124 dgei%XAVG_LEI_FLOODC = 0.0
1126 IF (isize_lmeb_patch>0)
THEN
1127 dgei%XAVG_LEVCVC = 0.0
1128 dgei%XAVG_LESCC = 0.0
1129 dgei%XAVG_LETRGVC = 0.0
1130 dgei%XAVG_LETRCVC = 0.0
1131 dgei%XAVG_LERGVC = 0.0
1132 dgei%XAVG_LERCVC = 0.0
1133 dgei%XAVG_LE_C_AC = 0.0
1134 dgei%XAVG_LE_V_CC = 0.0
1135 dgei%XAVG_LE_G_CC = 0.0
1136 dgei%XAVG_LE_N_CC = 0.0
1138 dgei%XAVG_SWNET_VC = 0.0
1139 dgei%XAVG_SWNET_GC = 0.0
1140 dgei%XAVG_SWNET_NC = 0.0
1141 dgei%XAVG_SWNET_NSC = 0.0
1142 dgei%XAVG_LWNET_VC = 0.0
1143 dgei%XAVG_LWNET_GC = 0.0
1144 dgei%XAVG_LWNET_NC = 0.0
1145 dgei%XAVG_SWDOWN_GNC = 0.0
1146 dgei%XAVG_LWDOWN_GNC = 0.0
1147 dgei%XAVG_H_V_CC = 0.0
1148 dgei%XAVG_H_G_CC = 0.0
1149 dgei%XAVG_H_C_AC = 0.0
1150 dgei%XAVG_H_N_CC = 0.0
1151 dgei%XAVG_SR_GNC = 0.0
1152 dgei%XAVG_MELTCVC = 0.0
1153 dgei%XAVG_FRZCVC = 0.0
1166 dgei%XSWNET_VC = 0.0
1167 dgei%XSWNET_GC = 0.0
1168 dgei%XSWNET_NC = 0.0
1169 dgei%XSWNET_NSC = 0.0
1170 dgei%XLWNET_VC = 0.0
1171 dgei%XLWNET_GC = 0.0
1172 dgei%XLWNET_NC = 0.0
1173 dgei%XSWDOWN_GNC = 0.0
1174 dgei%XLWDOWN_GNC = 0.0
1198 dgei%XSNDRIFTC = 0.0
1206 dgei%XIRRIG_FLUXC = 0.0
1208 dgei%XRESPC_AUTO = 0.0
1209 dgei%XRESPC_ECO = 0.0
1212 dgei%XLE_FLOODC = 0.0
1213 dgei%XLEI_FLOODC = 0.0
1229 dgei%XAVG_ICEFLUXC = 0.0
1230 dgei%XICEFLUXC = 0.0
1233 IF(dgei%LWATER_BUDGET)
THEN
1235 dgei%XRAINFALLC = 0.0
1236 dgei%XSNOWFALLC = 0.0
1237 dgei%XAVG_DWGC = 0.0
1238 dgei%XAVG_DWGIC = 0.0
1239 dgei%XAVG_DWRC = 0.0
1240 dgei%XAVG_DSWEC = 0.0
1241 dgei%XAVG_WATBUDC = 0.0
1254 hprogram,
'VERSION',iversion,iresp)
1256 hprogram,
'BUG ',ibug,iresp)
1260 hprogram,yrec,dgei%XAVG_RNC ,iresp)
1263 hprogram,yrec,dgei%XAVG_HC ,iresp)
1266 hprogram,yrec,dgei%XAVG_LEC ,iresp)
1269 hprogram,yrec,dgei%XAVG_LEIC ,iresp)
1272 hprogram,yrec,dgei%XAVG_GFLUXC ,iresp)
1275 hprogram,yrec,dgei%XAVG_LEGC ,iresp)
1278 hprogram,yrec,dgei%XAVG_LEGIC ,iresp)
1281 hprogram,yrec,dgei%XAVG_LEVC ,iresp)
1284 hprogram,yrec,dgei%XAVG_LESAC ,iresp)
1285 IF(i%TSNOW%SCHEME==
'3-L' .OR. i%TSNOW%SCHEME==
'CRO')
THEN
1286 IF(iversion>7 .OR. iversion==7 .AND. ibug>=3)
THEN
1289 hprogram,yrec,dgei%XAVG_LESLC,iresp)
1296 hprogram,yrec,dgei%XAVG_SNDRIFTC,iresp)
1298 dgei%XAVG_SNDRIFTC = 0.0
1301 dgei%XAVG_LESLC = 0.0
1302 dgei%XAVG_SNDRIFTC = 0.0
1306 hprogram,yrec,dgei%XAVG_LERC ,iresp)
1309 hprogram,yrec,dgei%XAVG_LETRC ,iresp)
1312 hprogram,yrec,dgei%XAVG_EVAPC ,iresp)
1314 dgei%XAVG_SUBLC = 0.0
1318 hprogram,yrec,dgei%XAVG_SUBLC ,iresp)
1322 hprogram,yrec,dgei%XAVG_DRAINC ,iresp)
1325 hprogram,yrec,dgei%XAVG_RUNOFFC,iresp)
1328 hprogram,yrec,dgei%XAVG_DRIPC ,iresp)
1331 hprogram,yrec,dgei%XAVG_RRVEGC ,iresp)
1334 hprogram,yrec,dgei%XAVG_MELTC,iresp)
1336 IF (isize_lmeb_patch>0)
THEN
1339 hprogram,yrec,dgei%XAVG_LEVCVC ,iresp)
1342 hprogram,yrec,dgei%XAVG_LESCC ,iresp)
1345 hprogram,yrec,dgei%XAVG_LETRGVC ,iresp)
1348 hprogram,yrec,dgei%XAVG_LETRCVC ,iresp)
1351 hprogram,yrec,dgei%XAVG_LERGVC ,iresp)
1354 hprogram,yrec,dgei%XAVG_LERCVC ,iresp)
1357 hprogram,yrec,dgei%XAVG_LE_C_AC ,iresp)
1360 hprogram,yrec,dgei%XAVG_LE_V_CC ,iresp)
1363 hprogram,yrec,dgei%XAVG_LE_G_CC ,iresp)
1366 hprogram,yrec,dgei%XAVG_LE_N_CC ,iresp)
1370 hprogram,yrec,dgei%XAVG_SWNET_VC ,iresp)
1373 hprogram,yrec,dgei%XAVG_SWNET_GC ,iresp)
1376 hprogram,yrec,dgei%XAVG_SWNET_NC ,iresp)
1377 yrec=
'SWNT_NSC_ISBA'
1379 hprogram,yrec,dgei%XAVG_SWNET_NSC ,iresp)
1382 hprogram,yrec,dgei%XAVG_LWNET_VC ,iresp)
1385 hprogram,yrec,dgei%XAVG_LWNET_GC ,iresp)
1388 hprogram,yrec,dgei%XAVG_LWNET_NC ,iresp)
1389 yrec=
'SWDN_GNC_ISBA'
1391 hprogram,yrec,dgei%XAVG_SWDOWN_GNC ,iresp)
1392 yrec=
'LWDN_GNC_ISBA'
1394 hprogram,yrec,dgei%XAVG_LWDOWN_GNC ,iresp)
1397 hprogram,yrec,dgei%XAVG_H_V_CC ,iresp)
1400 hprogram,yrec,dgei%XAVG_H_G_CC ,iresp)
1403 hprogram,yrec,dgei%XAVG_H_C_AC ,iresp)
1406 hprogram,yrec,dgei%XAVG_H_N_CC ,iresp)
1409 hprogram,yrec,dgei%XAVG_SR_GNC ,iresp)
1412 hprogram,yrec,dgei%XAVG_MELTCVC ,iresp)
1415 hprogram,yrec,dgei%XAVG_FRZCVC ,iresp)
1421 hprogram,yrec,dgei%XAVG_IRRIG_FLUXC,iresp)
1423 dgei%XAVG_IRRIG_FLUXC = 0.0
1426 IF(i%CPHOTO/=
'NON' .AND. (iversion>7 .OR. iversion==7 .AND. ibug>=3))
THEN
1429 hprogram,yrec,dgei%XAVG_GPPC,iresp)
1432 hprogram,yrec,dgei%XAVG_RESPC_AUTO,iresp)
1435 hprogram,yrec,dgei%XAVG_RESPC_ECO,iresp)
1437 dgei%XAVG_GPPC = 0.0
1438 dgei%XAVG_RESPC_AUTO = 0.0
1439 dgei%XAVG_RESPC_ECO = 0.0
1442 IF((i%CRUNOFF==
'SGH'.AND.i%CISBA==
'DIF').AND.iversion>=8)
THEN
1445 hprogram,yrec,dgei%XAVG_QSBC,iresp)
1447 dgei%XAVG_QSBC = 0.0
1450 IF(i%CHORT==
'SGH'.OR.i%CISBA==
'DIF')
THEN
1453 hprogram,yrec,dgei%XAVG_HORTC,iresp)
1455 dgei%XAVG_HORTC = 0.0
1461 hprogram,yrec,dgei%XAVG_IFLOODC,iresp)
1464 hprogram,yrec,dgei%XAVG_PFLOODC,iresp)
1467 hprogram,yrec,dgei%XAVG_LE_FLOODC,iresp)
1470 hprogram,yrec,dgei%XAVG_LEI_FLOODC,iresp)
1472 dgei%XAVG_IFLOODC = 0.0
1473 dgei%XAVG_PFLOODC = 0.0
1474 dgei%XAVG_LE_FLOODC = 0.0
1475 dgei%XAVG_LEI_FLOODC = 0.0
1478 IF (dgi%LRAD_BUDGET)
THEN
1481 hprogram,yrec,dgi%XAVG_SWDC,iresp)
1484 hprogram,yrec,dgi%XAVG_SWUC,iresp)
1487 hprogram,yrec,dgi%XAVG_LWDC,iresp)
1490 hprogram,yrec,dgi%XAVG_LWUC,iresp)
1494 hprogram,yrec,dgi%XAVG_FMUC,iresp)
1497 hprogram,yrec,dgi%XAVG_FMVC,iresp)
1502 hprogram,yrec,dgei%XAVG_ICEFLUXC,iresp)
1505 IF(dgei%LWATER_BUDGET .AND. (iversion>7 .OR. iversion==7 .AND. ibug>=3))
THEN
1508 hprogram,yrec,dgei%XRAINFALLC,iresp)
1511 hprogram,yrec,dgei%XSNOWFALLC,iresp)
1514 hprogram,yrec,dgei%XAVG_DWGC,iresp)
1517 hprogram,yrec,dgei%XAVG_DWGIC,iresp)
1520 hprogram,yrec,dgei%XAVG_DWRC,iresp)
1523 hprogram,yrec,dgei%XAVG_DSWEC,iresp)
1526 hprogram,yrec,dgei%XAVG_WATBUDC,iresp)
1528 dgei%XRAINFALLC = 0.0
1529 dgei%XSNOWFALLC = 0.0
1530 dgei%XAVG_DWGC = 0.0
1531 dgei%XAVG_DWGIC = 0.0
1532 dgei%XAVG_DWRC = 0.0
1533 dgei%XAVG_DSWEC = 0.0
1534 dgei%XAVG_WATBUDC = 0.0
1537 IF(dgi%LPATCH_BUDGET .AND. i%NPATCH>1)
THEN
1540 hprogram,
'VERSION',iversion,iresp)
1542 hprogram,
'BUG ',ibug,iresp)
1544 IF (iversion<7 .OR. iversion==7 .AND. ibug<3) yrec2=
'ATCH'
1547 hprogram,trim(yrec)//yrec2,dgei%XRNC ,iresp)
1550 hprogram,trim(yrec)//yrec2,dgei%XHC ,iresp)
1553 hprogram,trim(yrec)//yrec2,dgei%XLEC ,iresp)
1556 hprogram,trim(yrec)//yrec2,dgei%XLEIC ,iresp)
1559 hprogram,trim(yrec)//yrec2,dgei%XGFLUXC ,iresp)
1562 hprogram,trim(yrec)//yrec2,dgei%XLEGC ,iresp)
1565 hprogram,trim(yrec)//yrec2,dgei%XLEGIC ,iresp)
1568 hprogram,trim(yrec)//yrec2,dgei%XLEVC ,iresp)
1571 hprogram,trim(yrec)//yrec2,dgei%XLESAC ,iresp)
1572 IF(i%TSNOW%SCHEME==
'3-L' .OR. i%TSNOW%SCHEME==
'CRO')
THEN
1573 IF(iversion>7 .OR. iversion==7 .AND. ibug>=3)
THEN
1576 hprogram,trim(yrec)//yrec2,dgei%XLESLC,iresp)
1583 hprogram,trim(yrec)//yrec2,dgei%XSNDRIFTC,iresp)
1585 dgei%XSNDRIFTC = 0.0
1589 dgei%XSNDRIFTC = 0.0
1593 hprogram,trim(yrec)//yrec2,dgei%XLERC ,iresp)
1596 hprogram,trim(yrec)//yrec2,dgei%XLETRC ,iresp)
1599 hprogram,trim(yrec)//yrec2,dgei%XEVAPC ,iresp)
1605 hprogram,yrec,dgei%XSUBLC,iresp)
1609 hprogram,trim(yrec)//yrec2,dgei%XDRAINC ,iresp)
1612 hprogram,trim(yrec)//yrec2,dgei%XRUNOFFC,iresp)
1615 hprogram,trim(yrec)//yrec2,dgei%XDRIPC,iresp)
1618 hprogram,trim(yrec)//yrec2,dgei%XRRVEGC,iresp)
1621 hprogram,trim(yrec)//yrec2,dgei%XMELTC,iresp)
1623 IF (isize_lmeb_patch>0)
THEN
1626 hprogram,yrec,dgei%XLEVCVC ,iresp)
1629 hprogram,yrec,dgei%XLESCC ,iresp)
1634 hprogram,yrec,dgei%XLETRCVC ,iresp)
1639 hprogram,yrec,dgei%XLERCVC ,iresp)
1642 hprogram,yrec,dgei%XLE_C_AC ,iresp)
1645 hprogram,yrec,dgei%XLE_V_CC ,iresp)
1648 hprogram,yrec,dgei%XLE_G_CC ,iresp)
1651 hprogram,yrec,dgei%XLE_N_CC ,iresp)
1655 hprogram,yrec,dgei%XSWNET_VC ,iresp)
1658 hprogram,yrec,dgei%XSWNET_GC ,iresp)
1661 hprogram,yrec,dgei%XSWNET_NC ,iresp)
1664 hprogram,yrec,dgei%XSWNET_NSC ,iresp)
1667 hprogram,yrec,dgei%XLWNET_VC ,iresp)
1670 hprogram,yrec,dgei%XLWNET_GC ,iresp)
1673 hprogram,yrec,dgei%XLWNET_NC ,iresp)
1676 hprogram,yrec,dgei%XSWDOWN_GNC ,iresp)
1679 hprogram,yrec,dgei%XLWDOWN_GNC ,iresp)
1682 hprogram,yrec,dgei%XH_V_CC ,iresp)
1685 hprogram,yrec,dgei%XH_G_CC ,iresp)
1688 hprogram,yrec,dgei%XH_C_AC ,iresp)
1691 hprogram,yrec,dgei%XH_N_CC ,iresp)
1694 hprogram,yrec,dgei%XSR_GNC ,iresp)
1697 hprogram,yrec,dgei%XMELTCVC ,iresp)
1700 hprogram,yrec,dgei%XFRZCVC ,iresp)
1703 IF((i%CRUNOFF==
'SGH'.AND.i%CISBA==
'DIF').AND.iversion>=8)
THEN
1706 hprogram,trim(yrec)//yrec2,dgei%XQSBC,iresp)
1714 hprogram,trim(yrec)//yrec2,dgei%XIRRIG_FLUXC,iresp)
1716 dgei%XIRRIG_FLUXC = 0.0
1719 IF(i%CPHOTO/=
'NON' .AND. (iversion>7 .OR. iversion==7 .AND. ibug>=3))
THEN
1722 hprogram,trim(yrec)//yrec2,dgei%XGPPC,iresp)
1725 hprogram,trim(yrec)//yrec2,dgei%XRESPC_AUTO,iresp)
1728 hprogram,trim(yrec)//yrec2,dgei%XRESPC_ECO,iresp)
1731 dgei%XRESPC_AUTO=0.0
1732 dgei%XRESPC_ECO =0.0
1735 IF (dgi%LRAD_BUDGET)
THEN
1738 hprogram,trim(yrec)//yrec2,dgi%XSWDC,iresp)
1741 hprogram,trim(yrec)//yrec2,dgi%XSWUC,iresp)
1744 hprogram,trim(yrec)//yrec2,dgi%XLWDC,iresp)
1747 hprogram,trim(yrec)//yrec2,dgi%XLWUC,iresp)
1751 hprogram,trim(yrec)//yrec2,dgi%XFMUC,iresp)
1754 hprogram,trim(yrec)//yrec2,dgi%XFMVC,iresp)
1759 hprogram,trim(yrec)//yrec2,dgei%XICEFLUXC,iresp)
1762 IF(i%CHORT==
'SGH'.OR.i%CISBA==
'DIF')
THEN
1765 hprogram,trim(yrec)//yrec2,dgei%XHORTC ,iresp)
1773 hprogram,trim(yrec)//yrec2,dgei%XIFLOODC,iresp)
1776 hprogram,trim(yrec)//yrec2,dgei%XPFLOODC,iresp)
1779 hprogram,trim(yrec)//yrec2,dgei%XLE_FLOODC,iresp)
1782 hprogram,trim(yrec)//yrec2,dgei%XLEI_FLOODC,iresp)
1786 dgei%XLE_FLOODC = 0.0
1787 dgei%XLEI_FLOODC = 0.0
1790 IF(dgei%LWATER_BUDGET .AND. (iversion>7 .OR. iversion==7 .AND. ibug>=3))
THEN
1793 hprogram,trim(yrec)//yrec2,dgei%XDWGC,iresp)
1796 hprogram,trim(yrec)//yrec2,dgei%XDWGIC,iresp)
1799 hprogram,trim(yrec)//yrec2,dgei%XDWRC,iresp)
1802 hprogram,trim(yrec)//yrec2,dgei%XDSWEC,iresp)
1805 hprogram,trim(yrec)//yrec2,dgei%XWATBUDC,iresp)
1830 dgei%XSNDRIFTC = 0.0
1838 dgei%XIRRIG_FLUXC = 0.0
1840 dgei%XRESPC_AUTO = 0.0
1841 dgei%XRESPC_ECO = 0.0
1844 dgei%XLE_FLOODC = 0.0
1845 dgei%XLEI_FLOODC = 0.0
1847 IF (isize_lmeb_patch>0)
THEN
1859 dgei%XSWNET_VC = 0.0
1860 dgei%XSWNET_GC = 0.0
1861 dgei%XSWNET_NC = 0.0
1862 dgei%XSWNET_NSC = 0.0
1863 dgei%XLWNET_VC = 0.0
1864 dgei%XLWNET_GC = 0.0
1865 dgei%XLWNET_NC = 0.0
1866 dgei%XSWDOWN_GNC = 0.0
1867 dgei%XLWDOWN_GNC = 0.0
1888 IF(dgei%LWATER_BUDGET)
THEN
1900 ALLOCATE(dgei%XAVG_RNC (0))
1901 ALLOCATE(dgei%XAVG_HC (0))
1902 ALLOCATE(dgei%XAVG_LEC (0))
1903 ALLOCATE(dgei%XAVG_LEIC (0))
1904 ALLOCATE(dgei%XAVG_GFLUXC (0))
1905 ALLOCATE(dgei%XAVG_LEGC (0))
1906 ALLOCATE(dgei%XAVG_LEGIC (0))
1907 ALLOCATE(dgei%XAVG_LEVC (0))
1908 ALLOCATE(dgei%XAVG_LESAC (0))
1909 ALLOCATE(dgei%XAVG_LESLC (0))
1910 ALLOCATE(dgei%XAVG_LERC (0))
1911 ALLOCATE(dgei%XAVG_LETRC (0))
1912 ALLOCATE(dgei%XAVG_EVAPC (0))
1913 ALLOCATE(dgei%XAVG_SUBLC (0))
1914 ALLOCATE(dgei%XAVG_SNDRIFTC (0))
1915 ALLOCATE(dgei%XAVG_DRAINC (0))
1916 ALLOCATE(dgei%XAVG_QSBC (0))
1917 ALLOCATE(dgei%XAVG_RUNOFFC (0))
1918 ALLOCATE(dgei%XAVG_HORTC (0))
1919 ALLOCATE(dgei%XAVG_DRIPC (0))
1920 ALLOCATE(dgei%XAVG_RRVEGC (0))
1921 ALLOCATE(dgei%XAVG_MELTC (0))
1922 ALLOCATE(dgei%XAVG_IRRIG_FLUXC(0))
1923 ALLOCATE(dgei%XAVG_GPPC (0))
1924 ALLOCATE(dgei%XAVG_RESPC_AUTO (0))
1925 ALLOCATE(dgei%XAVG_RESPC_ECO (0))
1926 ALLOCATE(dgei%XAVG_IFLOODC (0))
1927 ALLOCATE(dgei%XAVG_PFLOODC (0))
1928 ALLOCATE(dgei%XAVG_LE_FLOODC (0))
1929 ALLOCATE(dgei%XAVG_LEI_FLOODC (0))
1932 ALLOCATE(dgei%XRNC (0,0))
1933 ALLOCATE(dgei%XHC (0,0))
1934 ALLOCATE(dgei%XLEC (0,0))
1935 ALLOCATE(dgei%XLEIC (0,0))
1936 ALLOCATE(dgei%XGFLUXC (0,0))
1937 ALLOCATE(dgei%XLEGC (0,0))
1938 ALLOCATE(dgei%XLEGIC (0,0))
1939 ALLOCATE(dgei%XLEVC (0,0))
1940 ALLOCATE(dgei%XLESAC (0,0))
1941 ALLOCATE(dgei%XLESLC (0,0))
1942 ALLOCATE(dgei%XLERC (0,0))
1943 ALLOCATE(dgei%XLETRC (0,0))
1944 ALLOCATE(dgei%XEVAPC (0,0))
1945 ALLOCATE(dgei%XSUBLC (0,0))
1946 ALLOCATE(dgei%XSNDRIFTC (0,0))
1947 ALLOCATE(dgei%XDRAINC (0,0))
1948 ALLOCATE(dgei%XQSBC (0,0))
1949 ALLOCATE(dgei%XRUNOFFC (0,0))
1950 ALLOCATE(dgei%XHORTC (0,0))
1951 ALLOCATE(dgei%XDRIPC (0,0))
1952 ALLOCATE(dgei%XRRVEGC (0,0))
1953 ALLOCATE(dgei%XMELTC (0,0))
1954 ALLOCATE(dgei%XIRRIG_FLUXC(0,0))
1955 ALLOCATE(dgei%XGPPC (0,0))
1956 ALLOCATE(dgei%XRESPC_AUTO (0,0))
1957 ALLOCATE(dgei%XRESPC_ECO (0,0))
1958 ALLOCATE(dgei%XIFLOODC (0,0))
1959 ALLOCATE(dgei%XPFLOODC (0,0))
1960 ALLOCATE(dgei%XLE_FLOODC (0,0))
1961 ALLOCATE(dgei%XLEI_FLOODC (0,0))
1963 ALLOCATE(dgi%XAVG_SWDC (0))
1964 ALLOCATE(dgi%XAVG_SWUC (0))
1965 ALLOCATE(dgi%XAVG_LWDC (0))
1966 ALLOCATE(dgi%XAVG_LWUC (0))
1967 ALLOCATE(dgi%XAVG_FMUC (0))
1968 ALLOCATE(dgi%XAVG_FMVC (0))
1969 ALLOCATE(dgi%XSWDC (0,0))
1970 ALLOCATE(dgi%XSWUC (0,0))
1971 ALLOCATE(dgi%XLWDC (0,0))
1972 ALLOCATE(dgi%XLWUC (0,0))
1973 ALLOCATE(dgi%XFMUC (0,0))
1974 ALLOCATE(dgi%XFMVC (0,0))
1976 ALLOCATE(dgei%XRAINFALLC (0))
1977 ALLOCATE(dgei%XSNOWFALLC (0))
1978 ALLOCATE(dgei%XAVG_DWGC (0))
1979 ALLOCATE(dgei%XAVG_DWGIC (0))
1980 ALLOCATE(dgei%XAVG_DWRC (0))
1981 ALLOCATE(dgei%XAVG_DSWEC (0))
1982 ALLOCATE(dgei%XAVG_WATBUDC(0))
1984 ALLOCATE(dgei%XDWGC (0,0))
1985 ALLOCATE(dgei%XDWGIC (0,0))
1986 ALLOCATE(dgei%XDWRC (0,0))
1987 ALLOCATE(dgei%XDSWEC (0,0))
1988 ALLOCATE(dgei%XWATBUDC(0,0))
1990 ALLOCATE(dgei%XAVG_LEVCVC (0))
1991 ALLOCATE(dgei%XAVG_LESCC (0))
1992 ALLOCATE(dgei%XAVG_LETRGVC (0))
1993 ALLOCATE(dgei%XAVG_LETRCVC (0))
1994 ALLOCATE(dgei%XAVG_LERGVC (0))
1995 ALLOCATE(dgei%XAVG_LERCVC (0))
1996 ALLOCATE(dgei%XAVG_LE_C_AC (0))
1997 ALLOCATE(dgei%XAVG_LE_V_CC (0))
1998 ALLOCATE(dgei%XAVG_LE_G_CC (0))
1999 ALLOCATE(dgei%XAVG_LE_N_CC (0))
2001 ALLOCATE(dgei%XAVG_SWNET_VC (0))
2002 ALLOCATE(dgei%XAVG_SWNET_GC (0))
2003 ALLOCATE(dgei%XAVG_SWNET_NC (0))
2004 ALLOCATE(dgei%XAVG_SWNET_NSC (0))
2005 ALLOCATE(dgei%XAVG_LWNET_VC (0))
2006 ALLOCATE(dgei%XAVG_LWNET_GC (0))
2007 ALLOCATE(dgei%XAVG_LWNET_NC (0))
2008 ALLOCATE(dgei%XAVG_SWDOWN_GNC (0))
2009 ALLOCATE(dgei%XAVG_LWDOWN_GNC (0))
2010 ALLOCATE(dgei%XAVG_H_V_CC (0))
2011 ALLOCATE(dgei%XAVG_H_G_CC (0))
2012 ALLOCATE(dgei%XAVG_H_C_AC (0))
2013 ALLOCATE(dgei%XAVG_H_N_CC (0))
2014 ALLOCATE(dgei%XAVG_SR_GNC (0))
2015 ALLOCATE(dgei%XAVG_MELTCVC (0))
2016 ALLOCATE(dgei%XAVG_FRZCVC (0))
2018 ALLOCATE(dgei%XLEVCVC (0,0))
2019 ALLOCATE(dgei%XLESCC (0,0))
2021 ALLOCATE(dgei%XLETRCVC (0,0))
2023 ALLOCATE(dgei%XLERCVC (0,0))
2024 ALLOCATE(dgei%XLE_C_AC (0,0))
2025 ALLOCATE(dgei%XLE_V_CC (0,0))
2026 ALLOCATE(dgei%XLE_G_CC (0,0))
2027 ALLOCATE(dgei%XLE_N_CC (0,0))
2029 ALLOCATE(dgei%XSWNET_VC (0,0))
2030 ALLOCATE(dgei%XSWNET_GC (0,0))
2031 ALLOCATE(dgei%XSWNET_NC (0,0))
2032 ALLOCATE(dgei%XSWNET_NSC (0,0))
2033 ALLOCATE(dgei%XLWNET_VC (0,0))
2034 ALLOCATE(dgei%XLWNET_GC (0,0))
2035 ALLOCATE(dgei%XLWNET_NC (0,0))
2036 ALLOCATE(dgei%XSWDOWN_GNC (0,0))
2037 ALLOCATE(dgei%XLWDOWN_GNC (0,0))
2038 ALLOCATE(dgei%XH_V_CC (0,0))
2039 ALLOCATE(dgei%XH_G_CC (0,0))
2040 ALLOCATE(dgei%XH_C_AC (0,0))
2041 ALLOCATE(dgei%XH_N_CC (0,0))
2042 ALLOCATE(dgei%XSR_GNC (0,0))
2043 ALLOCATE(dgei%XMELTCVC (0,0))
2044 ALLOCATE(dgei%XFRZCVC (0,0))
2048 IF(.NOT.i%LGLACIER)
THEN
2049 ALLOCATE(dgei%XAVG_ICEFLUXC(0))
2050 ALLOCATE(dgei%XICEFLUXC(0,0))
2056 ALLOCATE(dgi%XTS (klu,i%NPATCH))
2057 ALLOCATE(dgi%XAVG_TS(klu))
2059 dgi%XAVG_TS = xundef
2060 ALLOCATE(dgi%XTSRAD (klu,i%NPATCH))
2063 IF (dgi%N2M>=1)
THEN
2064 ALLOCATE(dgi%XAVG_RI (klu))
2065 ALLOCATE(dgi%XAVG_T2M (klu))
2066 ALLOCATE(dgi%XAVG_T2M_MIN (klu))
2067 ALLOCATE(dgi%XAVG_T2M_MAX (klu))
2068 ALLOCATE(dgi%XAVG_Q2M (klu))
2069 ALLOCATE(dgi%XAVG_HU2M (klu))
2070 ALLOCATE(dgi%XAVG_HU2M_MIN (klu))
2071 ALLOCATE(dgi%XAVG_HU2M_MAX (klu))
2072 ALLOCATE(dgi%XAVG_ZON10M (klu))
2073 ALLOCATE(dgi%XAVG_MER10M (klu))
2074 ALLOCATE(dgi%XAVG_WIND10M (klu))
2075 ALLOCATE(dgi%XAVG_WIND10M_MAX (klu))
2076 ALLOCATE(dgi%XAVG_SFCO2 (klu))
2077 dgi%XAVG_RI = xundef
2078 dgi%XAVG_T2M = xundef
2079 dgi%XAVG_T2M_MIN = xundef
2080 dgi%XAVG_T2M_MAX = -xundef
2081 dgi%XAVG_Q2M = xundef
2082 dgi%XAVG_HU2M = xundef
2083 dgi%XAVG_HU2M_MIN= xundef
2084 dgi%XAVG_HU2M_MAX= -xundef
2085 dgi%XAVG_ZON10M = xundef
2086 dgi%XAVG_MER10M = xundef
2087 dgi%XAVG_WIND10M = xundef
2088 dgi%XAVG_WIND10M_MAX = 0.0
2089 dgi%XAVG_SFCO2 = xundef
2091 ALLOCATE(dgi%XRI (klu,i%NPATCH))
2092 ALLOCATE(dgi%XT2M (klu,i%NPATCH))
2093 ALLOCATE(dgi%XQ2M (klu,i%NPATCH))
2094 ALLOCATE(dgi%XHU2M (klu,i%NPATCH))
2095 ALLOCATE(dgi%XZON10M (klu,i%NPATCH))
2096 ALLOCATE(dgi%XMER10M (klu,i%NPATCH))
2097 ALLOCATE(dgi%XWIND10M(klu,i%NPATCH))
2098 ALLOCATE(dgi%XT2M_MIN(klu,i%NPATCH))
2099 ALLOCATE(dgi%XT2M_MAX(klu,i%NPATCH))
2105 dgi%XZON10M = xundef
2106 dgi%XMER10M = xundef
2107 dgi%XWIND10M = xundef
2108 dgi%XT2M_MIN = xundef
2111 ALLOCATE(dgi%XAVG_RI (0))
2112 ALLOCATE(dgi%XAVG_T2M (0))
2113 ALLOCATE(dgi%XAVG_T2M_MIN (0))
2114 ALLOCATE(dgi%XAVG_T2M_MAX (0))
2115 ALLOCATE(dgi%XAVG_Q2M (0))
2116 ALLOCATE(dgi%XAVG_HU2M (0))
2117 ALLOCATE(dgi%XAVG_HU2M_MIN (0))
2118 ALLOCATE(dgi%XAVG_HU2M_MAX (0))
2119 ALLOCATE(dgi%XAVG_ZON10M (0))
2120 ALLOCATE(dgi%XAVG_MER10M (0))
2121 ALLOCATE(dgi%XAVG_WIND10M (0))
2122 ALLOCATE(dgi%XAVG_WIND10M_MAX (0))
2124 ALLOCATE(dgi%XRI (0,0))
2125 ALLOCATE(dgi%XT2M (0,0))
2126 ALLOCATE(dgi%XQ2M (0,0))
2127 ALLOCATE(dgi%XHU2M (0,0))
2128 ALLOCATE(dgi%XZON10M (0,0))
2129 ALLOCATE(dgi%XMER10M (0,0))
2130 ALLOCATE(dgi%XWIND10M(0,0))
2131 ALLOCATE(dgi%XT2M_MIN(0,0))
2132 ALLOCATE(dgi%XT2M_MAX(0,0))
2137 IF (dgmi%LSURF_MISC_BUDGET)
THEN
2138 ALLOCATE(dgmi%XAVG_HV (klu))
2139 ALLOCATE(dgmi%XAVG_PSNG (klu))
2140 ALLOCATE(dgmi%XAVG_PSNV (klu))
2141 ALLOCATE(dgmi%XAVG_PSN (klu))
2142 ALLOCATE(dgmi%XAVG_ALBT (klu))
2143 ALLOCATE(dgmi%XAVG_LAI (klu))
2145 ALLOCATE(dgmi%XAVG_FSAT (klu))
2146 ALLOCATE(dgmi%XAVG_FFG (klu))
2147 ALLOCATE(dgmi%XAVG_FFV (klu))
2148 ALLOCATE(dgmi%XAVG_FF (klu))
2150 ALLOCATE(dgmi%XSOIL_TSWI (klu))
2151 ALLOCATE(dgmi%XSOIL_SWI (klu))
2152 ALLOCATE(dgmi%XSOIL_TWG (klu))
2153 ALLOCATE(dgmi%XSOIL_TWGI (klu))
2154 ALLOCATE(dgmi%XSOIL_WG (klu))
2155 ALLOCATE(dgmi%XSOIL_WGI (klu))
2156 ALLOCATE(dgmi%XAVG_SWI (klu,i%NGROUND_LAYER))
2157 ALLOCATE(dgmi%XAVG_TSWI (klu,i%NGROUND_LAYER))
2159 ALLOCATE(dgmi%XAVG_TWSNOW (klu))
2160 ALLOCATE(dgmi%XAVG_TDSNOW (klu))
2161 ALLOCATE(dgmi%XAVG_TTSNOW (klu))
2163 dgmi%XAVG_HV = xundef
2164 dgmi%XAVG_SWI = xundef
2165 dgmi%XAVG_TSWI = xundef
2166 dgmi%XSOIL_TSWI = xundef
2167 dgmi%XSOIL_SWI = xundef
2168 dgmi%XSOIL_TWG = xundef
2169 dgmi%XSOIL_TWGI = xundef
2170 dgmi%XSOIL_WG = xundef
2171 dgmi%XSOIL_WGI = xundef
2172 dgmi%XAVG_PSNG = xundef
2173 dgmi%XAVG_PSNV = xundef
2174 dgmi%XAVG_PSN = xundef
2175 dgmi%XAVG_ALBT = xundef
2176 dgmi%XAVG_LAI = xundef
2177 dgmi%XAVG_FSAT = xundef
2178 dgmi%XAVG_FFG = xundef
2179 dgmi%XAVG_FFV = xundef
2180 dgmi%XAVG_FF = xundef
2181 dgmi%XAVG_TWSNOW = xundef
2182 dgmi%XAVG_TDSNOW = xundef
2183 dgmi%XAVG_TTSNOW = xundef
2185 ALLOCATE(dgmi%XHV (klu,i%NPATCH))
2186 ALLOCATE(dgmi%XSWI (klu,i%NGROUND_LAYER,i%NPATCH))
2187 ALLOCATE(dgmi%XTSWI (klu,i%NGROUND_LAYER,i%NPATCH))
2188 ALLOCATE(dgmi%XTWSNOW (klu,i%NPATCH))
2189 ALLOCATE(dgmi%XTDSNOW (klu,i%NPATCH))
2190 ALLOCATE(dgmi%XTTSNOW (klu,i%NPATCH))
2191 ALLOCATE(dgmi%XDPSNG (klu,i%NPATCH))
2192 ALLOCATE(dgmi%XDPSNV (klu,i%NPATCH))
2193 ALLOCATE(dgmi%XDPSN (klu,i%NPATCH))
2194 ALLOCATE(dgmi%XALBT (klu,i%NPATCH))
2196 ALLOCATE(dgmi%XDFSAT (klu,i%NPATCH))
2197 ALLOCATE(dgmi%XDFFG (klu,i%NPATCH))
2198 ALLOCATE(dgmi%XDFFV (klu,i%NPATCH))
2199 ALLOCATE(dgmi%XDFF (klu,i%NPATCH))
2201 ALLOCATE(dgmi%XSNOWLIQ (klu,i%TSNOW%NLAYER,i%NPATCH))
2202 ALLOCATE(dgmi%XSNOWTEMP (klu,i%TSNOW%NLAYER,i%NPATCH))
2207 dgmi%XTWSNOW = xundef
2208 dgmi%XTDSNOW = xundef
2209 dgmi%XTTSNOW = xundef
2210 dgmi%XDPSNG = xundef
2211 dgmi%XDPSNV = xundef
2214 dgmi%XDFSAT = xundef
2218 dgmi%XSNOWLIQ = xundef
2219 dgmi%XSNOWTEMP= xundef
2221 IF(i%CISBA==
'DIF'.AND.dgmi%LSURF_MISC_DIF)
THEN
2222 ALLOCATE(dgmi%XFRD2_TSWI(klu))
2223 ALLOCATE(dgmi%XFRD2_TWG (klu))
2224 ALLOCATE(dgmi%XFRD2_TWGI(klu))
2225 ALLOCATE(dgmi%XFRD3_TSWI(klu))
2226 ALLOCATE(dgmi%XFRD3_TWG (klu))
2227 ALLOCATE(dgmi%XFRD3_TWGI(klu))
2228 dgmi%XFRD2_TSWI = xundef
2229 dgmi%XFRD2_TWG = xundef
2230 dgmi%XFRD2_TWGI = xundef
2231 dgmi%XFRD3_TSWI = xundef
2232 dgmi%XFRD3_TWG = xundef
2233 dgmi%XFRD3_TWGI = xundef
2236 IF(i%CISBA==
'DIF')
THEN
2237 ALLOCATE(dgmi%XALT(klu,i%NPATCH))
2238 ALLOCATE(dgmi%XFLT(klu,i%NPATCH))
2239 ALLOCATE(dgmi%XAVG_ALT(klu))
2240 ALLOCATE(dgmi%XAVG_FLT(klu))
2243 dgmi%XAVG_ALT = xundef
2244 dgmi%XAVG_FLT = xundef
2248 ALLOCATE (dgmi%XFAPAR (klu, i%NPATCH))
2249 ALLOCATE (dgmi%XFAPIR (klu, i%NPATCH))
2250 ALLOCATE (dgmi%XFAPAR_BS (klu, i%NPATCH))
2251 ALLOCATE (dgmi%XFAPIR_BS (klu, i%NPATCH))
2252 ALLOCATE (dgmi%XDFAPARC (klu, i%NPATCH))
2253 ALLOCATE (dgmi%XDFAPIRC (klu, i%NPATCH))
2254 ALLOCATE (dgmi%XDLAI_EFFC (klu, i%NPATCH))
2256 dgmi%XFAPAR = xundef
2257 dgmi%XFAPIR = xundef
2258 dgmi%XFAPAR_BS = xundef
2259 dgmi%XFAPIR_BS = xundef
2262 dgmi%XDLAI_EFFC = 0.
2266 ALLOCATE(dgmi%XAVG_HV (0))
2267 ALLOCATE(dgmi%XAVG_PSNG (0))
2268 ALLOCATE(dgmi%XAVG_PSNV (0))
2269 ALLOCATE(dgmi%XAVG_PSN (0))
2270 ALLOCATE(dgmi%XAVG_ALBT (0))
2271 ALLOCATE(dgmi%XAVG_LAI (0))
2273 ALLOCATE(dgmi%XAVG_FSAT (0))
2274 ALLOCATE(dgmi%XAVG_FFG (0))
2275 ALLOCATE(dgmi%XAVG_FFV (0))
2276 ALLOCATE(dgmi%XAVG_FF (0))
2278 ALLOCATE(dgmi%XSOIL_TSWI (0))
2279 ALLOCATE(dgmi%XSOIL_SWI (0))
2280 ALLOCATE(dgmi%XSOIL_TWG (0))
2281 ALLOCATE(dgmi%XSOIL_TWGI (0))
2282 ALLOCATE(dgmi%XSOIL_WG (0))
2283 ALLOCATE(dgmi%XSOIL_WGI (0))
2284 ALLOCATE(dgmi%XAVG_SWI (0,0))
2285 ALLOCATE(dgmi%XAVG_TSWI (0,0))
2287 ALLOCATE(dgmi%XAVG_TWSNOW (0))
2288 ALLOCATE(dgmi%XAVG_TDSNOW (0))
2289 ALLOCATE(dgmi%XAVG_TTSNOW (0))
2291 ALLOCATE(dgmi%XHV (0,0))
2292 ALLOCATE(dgmi%XSWI (0,0,0))
2293 ALLOCATE(dgmi%XTSWI (0,0,0))
2294 ALLOCATE(dgmi%XTWSNOW (0,0))
2295 ALLOCATE(dgmi%XTDSNOW (0,0))
2296 ALLOCATE(dgmi%XTTSNOW (0,0))
2297 ALLOCATE(dgmi%XDPSNG (0,0))
2298 ALLOCATE(dgmi%XDPSNV (0,0))
2299 ALLOCATE(dgmi%XDPSN (0,0))
2300 ALLOCATE(dgmi%XALBT (0,0))
2302 ALLOCATE(dgmi%XDFSAT (0,0))
2303 ALLOCATE(dgmi%XDFFG (0,0))
2304 ALLOCATE(dgmi%XDFFV (0,0))
2305 ALLOCATE(dgmi%XDFF (0,0))
2307 ALLOCATE(dgmi%XSNOWLIQ (0,0,0))
2308 ALLOCATE(dgmi%XSNOWTEMP (0,0,0))
2311 IF (i%CISBA/=
'DIF')
THEN
2312 ALLOCATE(dgmi%XFRD2_TSWI(0))
2313 ALLOCATE(dgmi%XFRD2_TWG (0))
2314 ALLOCATE(dgmi%XFRD2_TWGI(0))
2315 ALLOCATE(dgmi%XFRD3_TSWI(0))
2316 ALLOCATE(dgmi%XFRD3_TWG (0))
2317 ALLOCATE(dgmi%XFRD3_TWGI(0))
2318 ALLOCATE(dgmi%XALT(0,0))
2319 ALLOCATE(dgmi%XFLT(0,0))
2320 ALLOCATE(dgmi%XAVG_ALT(0))
2321 ALLOCATE(dgmi%XAVG_FLT(0))
2324 IF (.NOT.i%LTR_ML)
THEN
2325 ALLOCATE (dgmi%XFAPAR (0, 0))
2326 ALLOCATE (dgmi%XFAPIR (0, 0))
2327 ALLOCATE (dgmi%XFAPAR_BS (0, 0))
2328 ALLOCATE (dgmi%XFAPIR_BS (0, 0))
2329 ALLOCATE (dgmi%XDFAPARC (0, 0))
2330 ALLOCATE (dgmi%XDFAPIRC (0, 0))
2331 ALLOCATE (dgmi%XDLAI_EFFC (0, 0))
2337 ALLOCATE(dgi%XAVG_CD (klu))
2338 ALLOCATE(dgi%XAVG_CH (klu))
2339 ALLOCATE(dgi%XAVG_CE (klu))
2340 ALLOCATE(dgi%XAVG_Z0 (klu))
2341 ALLOCATE(dgi%XAVG_Z0H (klu))
2342 ALLOCATE(dgi%XAVG_Z0EFF(klu))
2344 dgi%XAVG_CD = xundef
2345 dgi%XAVG_CH = xundef
2346 dgi%XAVG_CE = xundef
2347 dgi%XAVG_Z0 = xundef
2348 dgi%XAVG_Z0H = xundef
2349 dgi%XAVG_Z0EFF = xundef
2351 ALLOCATE(dgi%XCD (klu,i%NPATCH))
2352 ALLOCATE(dgi%XCH (klu,i%NPATCH))
2353 ALLOCATE(dgi%XCE (klu,i%NPATCH))
2354 ALLOCATE(dgi%XZ0_WITH_SNOW (klu,i%NPATCH))
2355 ALLOCATE(dgi%XZ0H_WITH_SNOW (klu,i%NPATCH))
2356 ALLOCATE(dgi%XZ0EFF (klu,i%NPATCH))
2361 dgi%XZ0_WITH_SNOW = xundef
2362 dgi%XZ0H_WITH_SNOW = xundef
2365 ALLOCATE(dgi%XAVG_CD (0))
2366 ALLOCATE(dgi%XAVG_CH (0))
2367 ALLOCATE(dgi%XAVG_CE (0))
2368 ALLOCATE(dgi%XAVG_Z0 (0))
2369 ALLOCATE(dgi%XAVG_Z0H (0))
2370 ALLOCATE(dgi%XAVG_Z0EFF(0))
2372 ALLOCATE(dgi%XCD (0,0))
2373 ALLOCATE(dgi%XCH (0,0))
2374 ALLOCATE(dgi%XCE (0,0))
2375 ALLOCATE(dgi%XZ0_WITH_SNOW (0,0))
2376 ALLOCATE(dgi%XZ0H_WITH_SNOW (0,0))
2377 ALLOCATE(dgi%XZ0EFF (0,0))
2383 IF (dgi%LSURF_VARS)
THEN
2384 ALLOCATE(dgi%XAVG_QS (klu))
2386 dgi%XAVG_QS = xundef
2388 ALLOCATE(dgi%XQS (klu,i%NPATCH))
2392 ALLOCATE(dgi%XQS (0,0))
2398 ALLOCATE(dgmi%XSEUIL (klu,i%NPATCH))
2400 dgmi%XSEUIL = xundef
2402 ALLOCATE(dgmi%XSEUIL (0,0))
2406 IF (chi%SVI%NBEQ>0 .AND. chi%LCH_BIO_FLUX)
THEN
2407 ALLOCATE(gb%XFISO(klu))
2408 ALLOCATE(gb%XFMONO(klu))
2413 ALLOCATE(gb%XFISO(0))
2414 ALLOCATE(gb%XFMONO(0))
2417 IF (i%CPHOTO/=
'NON')
THEN
2418 ALLOCATE(gb%XIACAN(klu,
SIZE(i%XABC),i%NPATCH))
2423 ALLOCATE(gb%XIACAN(0,0,0))
2426 IF (lhook) CALL dr_hook(
'DIAG_ISBA_INIT_N',1,zhook_handle)
subroutine diag_isba_init_n(CHI, DGEI, DGI, DGMI, DGU, GB, I, HPROGRAM, KLU, KSW)