61 USE modd_io_surf_aro
, ONLY : nblock
73 USE modi_init_io_surf_n
75 USE modi_end_io_surf_n
79 USE yomhook
,ONLY : lhook, dr_hook
80 USE parkind1
,ONLY : jprb
94 TYPE(dst_t),
INTENT(INOUT) :: dst
96 TYPE(isba_t
),
INTENT(INOUT) :: i
98 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
104 CHARACTER(LEN=12) :: yrecfm
105 CHARACTER(LEN=100):: ycomment
106 CHARACTER(LEN=2) :: ynum
110 INTEGER :: isize_lmeb_patch
111 REAL(KIND=JPRB) :: zhook_handle
117 IF (lhook) CALL dr_hook(
'WRITE_DIAG_SEB_ISBA_N',0,zhook_handle)
119 isize_lmeb_patch=count(i%LMEB_PATCH(:))
127 hprogram,
'NATURE',
'ISBA ',
'WRITE')
137 ycomment=
'Richardson number over tile nature'
139 hprogram,yrecfm,dgi%XAVG_RI(:),iresp,hcomment=ycomment)
146 IF (dgi%LSURF_BUDGET)
THEN
149 ycomment=
'Net radiation over tile nature'//
' (W/m2)'
151 hprogram,yrecfm,dgi%XAVG_RN(:),iresp,hcomment=ycomment)
154 ycomment=
'Sensible heat flux over tile nature'//
' (W/m2)'
156 hprogram,yrecfm,dgi%XAVG_H(:),iresp,hcomment=ycomment)
159 ycomment=
'total latent heat flux over tile nature'//
' (W/m2)'
161 hprogram,yrecfm,dgi%XAVG_LE(:),iresp,hcomment=ycomment)
164 ycomment=
'sublimation latent heat flux over tile nature'//
' (W/m2)'
166 hprogram,yrecfm,dgi%XAVG_LEI(:),iresp,hcomment=ycomment)
169 ycomment=
'Ground flux over tile nature'//
' (W/m2)'
171 hprogram,yrecfm,dgi%XAVG_GFLUX(:),iresp,hcomment=ycomment)
173 IF (dgi%LRAD_BUDGET .OR. (dgei%LSURF_BUDGETC .AND. .NOT.dgu%LRESET_BUDGETC))
THEN
176 ycomment=
'short wave downward radiation over tile nature'//
' (W/m2)'
178 hprogram,yrecfm,dgi%XAVG_SWD(:),iresp,hcomment=ycomment)
181 ycomment=
'short wave upward radiation over tile nature'//
' (W/m2)'
183 hprogram,yrecfm,dgi%XAVG_SWU(:),iresp,hcomment=ycomment)
186 ycomment=
'long wave downward radiation over tile nature'//
' (W/m2)'
188 hprogram,yrecfm,dgi%XAVG_LWD(:),iresp,hcomment=ycomment)
191 ycomment=
'long wave upward radiation over tile nature'//
' (W/m2)'
193 hprogram,yrecfm,dgi%XAVG_LWU(:),iresp,hcomment=ycomment)
195 DO jsw=1,
SIZE(dgi%XSWBD,2)
198 yrecfm=
'SWD_ISBA_'//ynum
199 ycomment=
'short wave downward radiation over tile nature for spectral band'//ynum//
' (W/m2)'
201 hprogram,yrecfm,dgi%XAVG_SWBD(:,jsw),iresp,hcomment=ycomment)
203 yrecfm=
'SWU_ISBA_'//ynum
204 ycomment=
'short wave upward radiation over tile nature for spectral band'//ynum//
' (W/m2)'
206 hprogram,yrecfm,dgi%XAVG_SWBU(:,jsw),iresp,hcomment=ycomment)
213 ycomment=
'u component of wind stress'//
' (Pa)'
215 hprogram,yrecfm,dgi%XAVG_FMU(:),iresp,hcomment=ycomment)
218 ycomment=
'v component of wind stress'//
' (Pa)'
220 hprogram,yrecfm,dgi%XAVG_FMV(:),iresp,hcomment=ycomment)
227 IF (dgei%LSURF_EVAP_BUDGET)
THEN
230 ycomment=
'bare ground evaporation for tile nature'//
' (W/m2)'
232 hprogram,yrecfm,dgei%XAVG_LEG(:),iresp,hcomment=ycomment)
235 ycomment=
'bare ground sublimation for tile nature'//
' (W/m2)'
237 hprogram,yrecfm,dgei%XAVG_LEGI(:),iresp,hcomment=ycomment)
240 ycomment=
'total vegetation evaporation for tile nature'//
' (W/m2)'
242 hprogram,yrecfm,dgei%XAVG_LEV(:),iresp,hcomment=ycomment)
245 ycomment=
'snow sublimation for tile nature'//
' (W/m2)'
247 hprogram,yrecfm,dgei%XAVG_LES(:),iresp,hcomment=ycomment)
249 IF(i%TSNOW%SCHEME==
'3-L' .OR. i%TSNOW%SCHEME==
'CRO')
THEN
251 ycomment=
'liquid water evaporation over snow for tile nature'//
' (W/m2)'
253 hprogram,yrecfm,dgei%XAVG_LESL(:),iresp,hcomment=ycomment)
255 ycomment=
'blowing snow sublimation for tile nature'//
' (Kg/m2/s)'
257 hprogram,yrecfm,dgei%XAVG_SNDRIFT(:),iresp,hcomment=ycomment)
261 ycomment=
'canopy direct evaporation for tile nature'//
' (W/m2)'
263 hprogram,yrecfm,dgei%XAVG_LER(:),iresp,hcomment=ycomment)
266 ycomment=
'vegetation transpiration for tile nature'//
' (W/m2)'
268 hprogram,yrecfm,dgei%XAVG_LETR(:),iresp,hcomment=ycomment)
271 ycomment=
'total evaporative flux for tile nature'//
' (Kg/m2/s)'
273 hprogram,yrecfm,dgei%XAVG_EVAP(:),iresp,hcomment=ycomment)
276 ycomment=
'sublimation flux for tile nature'//
' (Kg/m2/s)'
278 hprogram,yrecfm,dgei%XAVG_SUBL(:),iresp,hcomment=ycomment)
281 ycomment=
'drainage for tile nature'//
' (Kg/m2/s)'
283 hprogram,yrecfm,dgei%XAVG_DRAIN(:),iresp,hcomment=ycomment)
285 IF(i%CRUNOFF==
'SGH'.AND.i%CISBA==
'DIF')
THEN
287 ycomment=
'lateral subsurface flow for tile nature'//
' (Kg/m2/s)'
289 hprogram,yrecfm,dgei%XAVG_QSB(:),iresp,hcomment=ycomment)
293 ycomment=
'runoff for tile nature'//
' (Kg/m2/s)'
295 hprogram,yrecfm,dgei%XAVG_RUNOFF(:),iresp,hcomment=ycomment)
297 IF(i%CHORT==
'SGH'.OR.i%CISBA==
'DIF')
THEN
299 ycomment=
'horton runoff for tile nature'//
' (Kg/m2/s)'
301 hprogram,yrecfm,dgei%XAVG_HORT(:),iresp,hcomment=ycomment)
305 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
307 hprogram,yrecfm,dgei%XAVG_DRIP(:),iresp,hcomment=ycomment)
310 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
312 hprogram,yrecfm,dgei%XAVG_RRVEG(:),iresp,hcomment=ycomment)
315 ycomment=
'snow melting rate'//
' (Kg/m2/s)'
317 hprogram,yrecfm,dgei%XAVG_MELT(:),iresp,hcomment=ycomment)
321 ycomment=
'irrigation rate'//
' (Kg/m2/s)'
323 hprogram,yrecfm,dgei%XAVG_IRRIG_FLUX(:),iresp,hcomment=ycomment)
326 IF (isize_lmeb_patch>0)
THEN
328 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
330 hprogram,yrecfm,dgei%XAVG_LEVCV(:),iresp,hcomment=ycomment)
333 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
335 hprogram,yrecfm,dgei%XAVG_LESC(:),iresp,hcomment=ycomment)
338 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
340 hprogram,yrecfm,dgei%XAVG_LETRGV(:),iresp,hcomment=ycomment)
343 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
345 hprogram,yrecfm,dgei%XAVG_LETRCV(:),iresp,hcomment=ycomment)
348 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
350 hprogram,yrecfm,dgei%XAVG_LERGV(:),iresp,hcomment=ycomment)
353 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
355 hprogram,yrecfm,dgei%XAVG_LELITTER(:),iresp,hcomment=ycomment)
358 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
360 hprogram,yrecfm,dgei%XAVG_LELITTERI(:),iresp,hcomment=ycomment)
362 yrecfm=
'DRIPLIT_ISBA'
363 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
365 hprogram,yrecfm,dgei%XAVG_DRIPLIT(:),iresp,hcomment=ycomment)
368 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
370 hprogram,yrecfm,dgei%XAVG_RRLIT(:),iresp,hcomment=ycomment)
373 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
375 hprogram,yrecfm,dgei%XAVG_LERCV(:),iresp,hcomment=ycomment)
378 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
380 hprogram,yrecfm,dgei%XAVG_LE_C_A(:),iresp,hcomment=ycomment)
383 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
385 hprogram,yrecfm,dgei%XAVG_LE_V_C(:),iresp,hcomment=ycomment)
388 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
390 hprogram,yrecfm,dgei%XAVG_LE_G_C(:),iresp,hcomment=ycomment)
393 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
395 hprogram,yrecfm,dgei%XAVG_LE_N_C(:),iresp,hcomment=ycomment)
398 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
400 hprogram,yrecfm,dgei%XAVG_SWNET_V(:),iresp,hcomment=ycomment)
403 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
405 hprogram,yrecfm,dgei%XAVG_SWNET_G(:),iresp,hcomment=ycomment)
408 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
410 hprogram,yrecfm,dgei%XAVG_SWNET_N(:),iresp,hcomment=ycomment)
412 yrecfm=
'SWNT_NS_ISBA'
413 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
415 hprogram,yrecfm,dgei%XAVG_SWNET_NS(:),iresp,hcomment=ycomment)
418 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
420 hprogram,yrecfm,dgei%XAVG_LWNET_V(:),iresp,hcomment=ycomment)
423 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
425 hprogram,yrecfm,dgei%XAVG_LWNET_G(:),iresp,hcomment=ycomment)
428 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
430 hprogram,yrecfm,dgei%XAVG_LWNET_N(:),iresp,hcomment=ycomment)
432 yrecfm=
'SWDN_GN_ISBA'
433 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
435 hprogram,yrecfm,dgei%XAVG_SWDOWN_GN(:),iresp,hcomment=ycomment)
437 yrecfm=
'LWDN_GN_ISBA'
438 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
440 hprogram,yrecfm,dgei%XAVG_LWDOWN_GN(:),iresp,hcomment=ycomment)
443 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
445 hprogram,yrecfm,dgei%XAVG_H_V_C(:),iresp,hcomment=ycomment)
448 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
450 hprogram,yrecfm,dgei%XAVG_H_G_C(:),iresp,hcomment=ycomment)
453 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
455 hprogram,yrecfm,dgei%XAVG_H_C_A(:),iresp,hcomment=ycomment)
458 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
460 hprogram,yrecfm,dgei%XAVG_H_N_C(:),iresp,hcomment=ycomment)
463 ycomment=
'X_Y_'//yrecfm//
' (kg/m2/s)'
465 hprogram,yrecfm,dgei%XAVG_SR_GN(:),iresp,hcomment=ycomment)
468 ycomment=
'X_Y_'//yrecfm//
' (kg/m2/s)'
470 hprogram,yrecfm,dgei%XAVG_MELTCV(:),iresp,hcomment=ycomment)
473 ycomment=
'X_Y_'//yrecfm//
' (kg/m2/s)'
475 hprogram,yrecfm,dgei%XAVG_FRZCV(:),iresp,hcomment=ycomment)
482 ycomment=
'flood soil infiltration (Kg/m2/s)'
484 hprogram,yrecfm,dgei%XAVG_IFLOOD(:),iresp,hcomment=ycomment)
487 ycomment=
'intercepted precipitation by floodplains (Kg/m2/s)'
489 hprogram,yrecfm,dgei%XAVG_PFLOOD(:),iresp,hcomment=ycomment)
492 ycomment=
'total floodplains evaporation (W/m2)'
494 hprogram,yrecfm,dgei%XAVG_LE_FLOOD(:),iresp,hcomment=ycomment)
497 ycomment=
'solid floodplains evaporation (W/m2)'
499 hprogram,yrecfm,dgei%XAVG_LEI_FLOOD(:),iresp,hcomment=ycomment)
503 IF(i%CPHOTO/=
'NON')
THEN
506 ycomment=
'gross primary production over tile nature (kgCO2/m2/s)'
508 hprogram,yrecfm,dgei%XAVG_GPP(:),iresp,hcomment=ycomment)
511 ycomment=
'autotrophic respiration over tile nature (kgCO2/m2/s)'
513 hprogram,yrecfm,dgei%XAVG_RESP_AUTO(:),iresp,hcomment=ycomment)
516 ycomment=
'ecosystem respiration over tile nature (kgCO2/m2/s)'
518 hprogram,yrecfm,dgei%XAVG_RESP_ECO(:),iresp,hcomment=ycomment)
522 IF(dgei%LWATER_BUDGET)
THEN
525 ycomment=
'input rainfall rate (Kg/m2/s)'
527 hprogram,yrecfm,dgei%XRAINFALL(:),iresp,hcomment=ycomment)
530 ycomment=
'input snowfall rate (Kg/m2/s)'
532 hprogram,yrecfm,dgei%XSNOWFALL(:),iresp,hcomment=ycomment)
535 ycomment=
'change in liquid soil moisture (Kg/m2/s)'
537 hprogram,yrecfm,dgei%XAVG_DWG(:),iresp,hcomment=ycomment)
540 ycomment=
'change in solid soil moisture (Kg/m2/s)'
542 hprogram,yrecfm,dgei%XAVG_DWGI(:),iresp,hcomment=ycomment)
545 ycomment=
'change in water on canopy (Kg/m2/s)'
547 hprogram,yrecfm,dgei%XAVG_DWR(:),iresp,hcomment=ycomment)
550 ycomment=
'change in snow water equivalent (Kg/m2/s)'
552 hprogram,yrecfm,dgei%XAVG_DSWE(:),iresp,hcomment=ycomment)
555 ycomment=
'isba water budget as residue (Kg/m2/s)'
557 hprogram,yrecfm,dgei%XAVG_WATBUD(:),iresp,hcomment=ycomment)
566 IF (dgei%LSURF_BUDGETC)
THEN
569 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
571 hprogram,yrecfm,dgei%XAVG_LEGC(:),iresp,hcomment=ycomment)
574 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
576 hprogram,yrecfm,dgei%XAVG_LEGIC(:),iresp,hcomment=ycomment)
579 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
581 hprogram,yrecfm,dgei%XAVG_LEVC(:),iresp,hcomment=ycomment)
584 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
586 hprogram,yrecfm,dgei%XAVG_LESAC(:),iresp,hcomment=ycomment)
588 IF(i%TSNOW%SCHEME==
'3-L' .OR. i%TSNOW%SCHEME==
'CRO')
THEN
590 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
592 hprogram,yrecfm,dgei%XAVG_LESLC(:),iresp,hcomment=ycomment)
593 yrecfm=
'SNDRIFC_ISBA'
594 ycomment=
'X_Y_'//yrecfm//
' (kg/m2)'
596 hprogram,yrecfm,dgei%XAVG_SNDRIFTC(:),iresp,hcomment=ycomment)
600 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
602 hprogram,yrecfm,dgei%XAVG_LERC(:),iresp,hcomment=ycomment)
605 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
607 hprogram,yrecfm,dgei%XAVG_LETRC(:),iresp,hcomment=ycomment)
610 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
612 hprogram,yrecfm,dgei%XAVG_EVAPC(:),iresp,hcomment=ycomment)
615 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
617 hprogram,yrecfm,dgei%XAVG_SUBLC(:),iresp,hcomment=ycomment)
620 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
622 hprogram,yrecfm,dgei%XAVG_DRAINC(:),iresp,hcomment=ycomment)
624 IF(i%CRUNOFF==
'SGH'.AND.i%CISBA==
'DIF')
THEN
626 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
628 hprogram,yrecfm,dgei%XAVG_QSBC(:),iresp,hcomment=ycomment)
631 yrecfm=
'RUNOFFC_ISBA'
632 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
634 hprogram,yrecfm,dgei%XAVG_RUNOFFC(:),iresp,hcomment=ycomment)
636 IF(i%CHORT==
'SGH'.OR.i%CISBA==
'DIF')
THEN
637 yrecfm=
'HORTONC_ISBA'
638 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
640 hprogram,yrecfm,dgei%XAVG_HORTC(:),iresp,hcomment=ycomment)
643 yrecfm=
'DRIVEGC_ISBA'
644 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
646 hprogram,yrecfm,dgei%XAVG_DRIPC(:),iresp,hcomment=ycomment)
649 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
651 hprogram,yrecfm,dgei%XAVG_RRVEGC(:),iresp,hcomment=ycomment)
653 yrecfm=
'SNOMLTC_ISBA'
654 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
656 hprogram,yrecfm,dgei%XAVG_MELTC(:),iresp,hcomment=ycomment)
659 IF (isize_lmeb_patch>0)
THEN
661 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
663 hprogram,yrecfm,dgei%XAVG_LEVCVC(:),iresp,hcomment=ycomment)
666 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
668 hprogram,yrecfm,dgei%XAVG_LESCC(:),iresp,hcomment=ycomment)
670 yrecfm=
'LETRGVC_ISBA'
671 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
673 hprogram,yrecfm,dgei%XAVG_LETRGVC(:),iresp,hcomment=ycomment)
675 yrecfm=
'LETRCVC_ISBA'
676 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
678 hprogram,yrecfm,dgei%XAVG_LETRCVC(:),iresp,hcomment=ycomment)
681 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
683 hprogram,yrecfm,dgei%XAVG_LERGVC(:),iresp,hcomment=ycomment)
686 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
688 hprogram,yrecfm,dgei%XAVG_LERCVC(:),iresp,hcomment=ycomment)
690 yrecfm=
'LE_C_AC_ISBA'
691 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
693 hprogram,yrecfm,dgei%XAVG_LE_C_AC(:),iresp,hcomment=ycomment)
695 yrecfm=
'LE_V_CC_ISBA'
696 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
698 hprogram,yrecfm,dgei%XAVG_LE_V_CC(:),iresp,hcomment=ycomment)
700 yrecfm=
'LE_G_CC_ISBA'
701 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
703 hprogram,yrecfm,dgei%XAVG_LE_G_CC(:),iresp,hcomment=ycomment)
705 yrecfm=
'LE_N_CC_ISBA'
706 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
708 hprogram,yrecfm,dgei%XAVG_LE_N_CC(:),iresp,hcomment=ycomment)
710 yrecfm=
'SWNT_VC_ISBA'
711 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
713 hprogram,yrecfm,dgei%XAVG_SWNET_VC(:),iresp,hcomment=ycomment)
715 yrecfm=
'SWNT_GC_ISBA'
716 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
718 hprogram,yrecfm,dgei%XAVG_SWNET_GC(:),iresp,hcomment=ycomment)
720 yrecfm=
'SWNT_NC_ISBA'
721 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
723 hprogram,yrecfm,dgei%XAVG_SWNET_NC(:),iresp,hcomment=ycomment)
725 yrecfm=
'SWNT_NSC_ISBA'
726 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
728 hprogram,yrecfm,dgei%XAVG_SWNET_NSC(:),iresp,hcomment=ycomment)
730 yrecfm=
'LWNT_VC_ISBA'
731 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
733 hprogram,yrecfm,dgei%XAVG_LWNET_VC(:),iresp,hcomment=ycomment)
735 yrecfm=
'LWNT_GC_ISBA'
736 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
738 hprogram,yrecfm,dgei%XAVG_LWNET_GC(:),iresp,hcomment=ycomment)
740 yrecfm=
'LWNT_NC_ISBA'
741 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
743 hprogram,yrecfm,dgei%XAVG_LWNET_NC(:),iresp,hcomment=ycomment)
745 yrecfm=
'SWDN_GNC_ISBA'
746 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
748 hprogram,yrecfm,dgei%XAVG_SWDOWN_GNC(:),iresp,hcomment=ycomment)
750 yrecfm=
'LWDN_GNC_ISBA'
751 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
753 hprogram,yrecfm,dgei%XAVG_LWDOWN_GNC(:),iresp,hcomment=ycomment)
756 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
758 hprogram,yrecfm,dgei%XAVG_H_V_CC(:),iresp,hcomment=ycomment)
761 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
763 hprogram,yrecfm,dgei%XAVG_H_G_CC(:),iresp,hcomment=ycomment)
766 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
768 hprogram,yrecfm,dgei%XAVG_H_C_AC(:),iresp,hcomment=ycomment)
771 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
773 hprogram,yrecfm,dgei%XAVG_H_N_CC(:),iresp,hcomment=ycomment)
776 ycomment=
'X_Y_'//yrecfm//
' (kg/m2)'
778 hprogram,yrecfm,dgei%XAVG_SR_GNC(:),iresp,hcomment=ycomment)
780 yrecfm=
'MELTCVC_ISBA'
781 ycomment=
'X_Y_'//yrecfm//
' (kg/m2)'
783 hprogram,yrecfm,dgei%XAVG_MELTCVC(:),iresp,hcomment=ycomment)
786 ycomment=
'X_Y_'//yrecfm//
' (kg/m2)'
788 hprogram,yrecfm,dgei%XAVG_FRZCVC(:),iresp,hcomment=ycomment)
794 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
796 hprogram,yrecfm,dgei%XAVG_IRRIG_FLUXC(:),iresp,hcomment=ycomment)
801 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
803 hprogram,yrecfm,dgei%XAVG_ICEFLUXC(:),iresp,hcomment=ycomment)
808 yrecfm=
'IFLOODC_ISBA'
809 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
811 hprogram,yrecfm,dgei%XAVG_IFLOODC(:),iresp,hcomment=ycomment)
813 yrecfm=
'PFLOODC_ISBA'
814 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
816 hprogram,yrecfm,dgei%XAVG_PFLOODC(:),iresp,hcomment=ycomment)
819 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
821 hprogram,yrecfm,dgei%XAVG_LE_FLOODC(:),iresp,hcomment=ycomment)
824 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
826 hprogram,yrecfm,dgei%XAVG_LEI_FLOODC(:),iresp,hcomment=ycomment)
831 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
833 hprogram,yrecfm,dgei%XAVG_RNC(:),iresp,hcomment=ycomment)
836 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
838 hprogram,yrecfm,dgei%XAVG_HC(:),iresp,hcomment=ycomment)
841 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
843 hprogram,yrecfm,dgei%XAVG_LEC(:),iresp,hcomment=ycomment)
846 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
848 hprogram,yrecfm,dgei%XAVG_LEIC(:),iresp,hcomment=ycomment)
851 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
853 hprogram,yrecfm,dgei%XAVG_GFLUXC(:),iresp,hcomment=ycomment)
855 IF (dgi%LRAD_BUDGET .OR. (dgei%LSURF_BUDGETC .AND. .NOT.dgu%LRESET_BUDGETC))
THEN
858 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
860 hprogram,yrecfm,dgi%XAVG_SWDC(:),iresp,hcomment=ycomment)
863 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
865 hprogram,yrecfm,dgi%XAVG_SWUC(:),iresp,hcomment=ycomment)
868 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
870 hprogram,yrecfm,dgi%XAVG_LWDC(:),iresp,hcomment=ycomment)
873 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
875 hprogram,yrecfm,dgi%XAVG_LWUC(:),iresp,hcomment=ycomment)
880 ycomment=
'X_Y_'//yrecfm//
' (Pa.s)'
882 hprogram,yrecfm,dgi%XAVG_FMUC(:),iresp,hcomment=ycomment)
885 ycomment=
'X_Y_'//yrecfm//
' (Pa.s)'
887 hprogram,yrecfm,dgi%XAVG_FMVC(:),iresp,hcomment=ycomment)
889 IF(i%CPHOTO/=
'NON')
THEN
892 ycomment=
'X_Y_'//yrecfm//
' (kgCO2/m2)'
894 hprogram,yrecfm,dgei%XAVG_GPPC(:),iresp,hcomment=ycomment)
896 yrecfm=
'RC_AUTO_ISBA'
897 ycomment=
'X_Y_'//yrecfm//
' (kgCO2/m2)'
899 hprogram,yrecfm,dgei%XAVG_RESPC_AUTO(:),iresp,hcomment=ycomment)
902 ycomment=
'X_Y_'//yrecfm//
' (kgCO2/m2)'
904 hprogram,yrecfm,dgei%XAVG_RESPC_ECO(:),iresp,hcomment=ycomment)
908 IF(dgei%LWATER_BUDGET .OR. (dgei%LSURF_BUDGETC .AND. .NOT.dgu%LRESET_BUDGETC))
THEN
911 ycomment=
'cumulated input rainfall rate (Kg/m2)'
913 hprogram,yrecfm,dgei%XRAINFALLC(:),iresp,hcomment=ycomment)
916 ycomment=
'cumulated input snowfall rate (Kg/m2)'
918 hprogram,yrecfm,dgei%XSNOWFALLC(:),iresp,hcomment=ycomment)
921 ycomment=
'cumulated change in liquid soil moisture (Kg/m2)'
923 hprogram,yrecfm,dgei%XAVG_DWGC(:),iresp,hcomment=ycomment)
926 ycomment=
'cumulated change in solid soil moisture (Kg/m2)'
928 hprogram,yrecfm,dgei%XAVG_DWGIC(:),iresp,hcomment=ycomment)
931 ycomment=
'cumulated change in water on canopy (Kg/m2)'
933 hprogram,yrecfm,dgei%XAVG_DWRC(:),iresp,hcomment=ycomment)
936 ycomment=
'cumulated change in snow water equivalent (Kg/m2)'
938 hprogram,yrecfm,dgei%XAVG_DSWEC(:),iresp,hcomment=ycomment)
940 yrecfm=
'WATBUDC_ISBA'
941 ycomment=
'cumulated isba water budget as residue (Kg/m2)'
943 hprogram,yrecfm,dgei%XAVG_WATBUDC(:),iresp,hcomment=ycomment)
955 ycomment=
'X_Y_'//yrecfm//
' (K)'
957 hprogram,yrecfm,dgi%XAVG_T2M(:),iresp,hcomment=ycomment)
960 ycomment=
'X_Y_'//yrecfm//
' (K)'
962 hprogram,yrecfm,dgi%XAVG_T2M_MIN(:),iresp,hcomment=ycomment)
963 IF(greset)dgi%XAVG_T2M_MIN(:)=xundef
966 ycomment=
'X_Y_'//yrecfm//
' (K)'
968 hprogram,yrecfm,dgi%XAVG_T2M_MAX(:),iresp,hcomment=ycomment)
969 IF(greset)dgi%XAVG_T2M_MAX(:)=-xundef
972 ycomment=
'X_Y_'//yrecfm//
' (KG/KG)'
974 hprogram,yrecfm,dgi%XAVG_Q2M(:),iresp,hcomment=ycomment)
977 ycomment=
'X_Y_'//yrecfm//
' (-)'
979 hprogram,yrecfm,dgi%XAVG_HU2M(:),iresp,hcomment=ycomment)
981 yrecfm=
'HU2MMIN_ISBA'
982 ycomment=
'X_Y_'//yrecfm//
' (-)'
984 hprogram,yrecfm,dgi%XAVG_HU2M_MIN(:),iresp,hcomment=ycomment)
985 IF(greset)dgi%XAVG_HU2M_MIN(:)=xundef
987 yrecfm=
'HU2MMAX_ISBA'
988 ycomment=
'X_Y_'//yrecfm//
' (-)'
990 hprogram,yrecfm,dgi%XAVG_HU2M_MAX(:),iresp,hcomment=ycomment)
991 IF(greset)dgi%XAVG_HU2M_MAX(:)=-xundef
994 ycomment=
'X_Y_'//yrecfm//
' (M/S)'
996 hprogram,yrecfm,dgi%XAVG_ZON10M(:),iresp,hcomment=ycomment)
999 ycomment=
'X_Y_'//yrecfm//
' (M/S)'
1001 hprogram,yrecfm,dgi%XAVG_MER10M(:),iresp,hcomment=ycomment)
1004 ycomment=
'X_Y_'//yrecfm//
' (M/S)'
1006 hprogram,yrecfm,dgi%XAVG_WIND10M(:),iresp,hcomment=ycomment)
1008 yrecfm=
'W10MMAX_ISBA'
1009 ycomment=
'X_Y_'//yrecfm//
' (M/S)'
1011 hprogram,yrecfm,dgi%XAVG_WIND10M_MAX(:),iresp,hcomment=ycomment)
1012 IF(greset)dgi%XAVG_WIND10M_MAX(:)=0.0
1015 ycomment=
'X_Y_'//yrecfm//
' (M.kgCO2.S-1.kgAIR-1)'
1017 hprogram,yrecfm,dgi%XAVG_SFCO2(:),iresp,hcomment=ycomment)
1028 ycomment=
'X_Y_'//yrecfm
1030 hprogram,yrecfm,dgi%XAVG_CD(:),iresp,hcomment=ycomment)
1033 ycomment=
'X_Y_'//yrecfm
1035 hprogram,yrecfm,dgi%XAVG_CH(:),iresp,hcomment=ycomment)
1038 ycomment=
'X_Y_'//yrecfm
1040 hprogram,yrecfm,dgi%XAVG_CE(:),iresp,hcomment=ycomment)
1043 ycomment=
'X_Y_'//yrecfm//
' (M)'
1045 hprogram,yrecfm,dgi%XAVG_Z0(:),iresp,hcomment=ycomment)
1048 ycomment=
'X_Y_'//yrecfm//
' (M)'
1050 hprogram,yrecfm,dgi%XAVG_Z0H(:),iresp,hcomment=ycomment)
1058 IF (dgi%LSURF_VARS)
THEN
1061 ycomment=
'X_Y_'//yrecfm//
' (KG/KG)'
1063 hprogram,yrecfm,dgi%XAVG_QS(:),iresp,hcomment=ycomment)
1077 IF(dgi%LPATCH_BUDGET.AND.(i%NPATCH >1))
THEN
1083 IF (dgi%N2M>=1)
THEN
1086 ycomment=
'X_Y_'//yrecfm
1088 hprogram,yrecfm,dgi%XRI(:,:),iresp,hcomment=ycomment)
1095 IF (dgi%LSURF_BUDGET)
THEN
1098 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1100 hprogram,yrecfm,dgi%XRN(:,:),iresp,hcomment=ycomment)
1103 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1105 hprogram,yrecfm,dgi%XH(:,:),iresp,hcomment=ycomment)
1108 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1110 hprogram,yrecfm,i%XLE(:,:),iresp,hcomment=ycomment)
1113 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1115 hprogram,yrecfm,dgi%XLEI(:,:),iresp,hcomment=ycomment)
1118 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1120 hprogram,yrecfm,dgi%XGFLUX(:,:),iresp,hcomment=ycomment)
1122 IF (dgi%LRAD_BUDGET .OR. (dgei%LSURF_BUDGETC .AND. .NOT.dgu%LRESET_BUDGETC))
THEN
1125 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1127 hprogram,yrecfm,dgi%XSWD(:,:),iresp,hcomment=ycomment)
1130 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1132 hprogram,yrecfm,dgi%XSWU(:,:),iresp,hcomment=ycomment)
1135 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1137 hprogram,yrecfm,dgi%XLWD(:,:),iresp,hcomment=ycomment)
1140 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1142 hprogram,yrecfm,dgi%XLWU(:,:),iresp,hcomment=ycomment)
1144 DO jsw=1,
SIZE(dgi%XSWBD,2)
1147 yrecfm=
'SWD_P'//ynum
1148 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1150 hprogram,yrecfm,dgi%XSWBD(:,jsw,:),iresp,hcomment=ycomment)
1152 yrecfm=
'SWU_P'//ynum
1153 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1155 hprogram,yrecfm,dgi%XSWBU(:,jsw,:),iresp,hcomment=ycomment)
1162 ycomment=
'X_Y_'//yrecfm//
' (Pa)'
1164 hprogram,yrecfm,dgi%XFMU(:,:),iresp,hcomment=ycomment)
1167 ycomment=
'X_Y_'//yrecfm//
' (Pa)'
1169 hprogram,yrecfm,dgi%XFMV(:,:),iresp,hcomment=ycomment)
1176 IF (dgei%LSURF_EVAP_BUDGET)
THEN
1179 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1181 hprogram,yrecfm,dgei%XLEG(:,:),iresp,hcomment=ycomment)
1184 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1186 hprogram,yrecfm,dgei%XLEGI(:,:),iresp,hcomment=ycomment)
1189 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1191 hprogram,yrecfm,dgei%XLEV(:,:),iresp,hcomment=ycomment)
1194 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1196 hprogram,yrecfm,dgei%XLES(:,:),iresp,hcomment=ycomment)
1198 IF(i%TSNOW%SCHEME==
'3-L' .OR. i%TSNOW%SCHEME==
'CRO')
THEN
1200 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1202 hprogram,yrecfm,dgei%XLESL(:,:),iresp,hcomment=ycomment)
1204 ycomment=
'X_Y_'//yrecfm//
' (kg/m2/s)'
1206 hprogram,yrecfm,dgei%XSNDRIFT(:,:),iresp,hcomment=ycomment)
1210 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1212 hprogram,yrecfm,dgei%XLER(:,:),iresp,hcomment=ycomment)
1215 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1217 hprogram,yrecfm,dgei%XLETR(:,:),iresp,hcomment=ycomment)
1220 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
1222 hprogram,yrecfm,dgei%XEVAP(:,:),iresp,hcomment=ycomment)
1225 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
1227 hprogram,yrecfm,dgei%XSUBL(:,:),iresp,hcomment=ycomment)
1230 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
1232 hprogram,yrecfm,dgei%XDRAIN(:,:),iresp,hcomment=ycomment)
1234 IF(i%CRUNOFF==
'SGH'.AND.i%CISBA==
'DIF')
THEN
1236 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
1238 hprogram,yrecfm,dgei%XQSB(:,:),iresp,hcomment=ycomment)
1242 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
1244 hprogram,yrecfm,dgei%XRUNOFF(:,:),iresp,hcomment=ycomment)
1246 IF(i%CHORT==
'SGH'.OR.i%CISBA==
'DIF')
THEN
1248 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
1250 hprogram,yrecfm,dgei%XHORT(:,:),iresp,hcomment=ycomment)
1254 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
1256 hprogram,yrecfm,dgei%XDRIP(:,:),iresp,hcomment=ycomment)
1259 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
1261 hprogram,yrecfm,dgei%XRRVEG(:,:),iresp,hcomment=ycomment)
1264 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
1266 hprogram,yrecfm,dgei%XMELT(:,:),iresp,hcomment=ycomment)
1269 IF (isize_lmeb_patch>0)
THEN
1271 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1273 hprogram,yrecfm,dgei%XLEVCV(:,:),iresp,hcomment=ycomment)
1276 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1278 hprogram,yrecfm,dgei%XLESC(:,:),iresp,hcomment=ycomment)
1285 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1287 hprogram,yrecfm,dgei%XLETRCV(:,:),iresp,hcomment=ycomment)
1295 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1297 hprogram,yrecfm,dgei%XLELITTER(:,:),iresp,hcomment=ycomment)
1299 yrecfm=
'LELITTERI_P'
1300 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1302 hprogram,yrecfm,dgei%XLELITTERI(:,:),iresp,hcomment=ycomment)
1305 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1307 hprogram,yrecfm,dgei%XDRIPLIT(:,:),iresp,hcomment=ycomment)
1310 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1312 hprogram,yrecfm,dgei%XRRLIT(:,:),iresp,hcomment=ycomment)
1315 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1317 hprogram,yrecfm,dgei%XLERCV(:,:),iresp,hcomment=ycomment)
1320 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1322 hprogram,yrecfm,dgei%XLE_C_A(:,:),iresp,hcomment=ycomment)
1325 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1327 hprogram,yrecfm,dgei%XLE_V_C(:,:),iresp,hcomment=ycomment)
1330 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1332 hprogram,yrecfm,dgei%XLE_G_C(:,:),iresp,hcomment=ycomment)
1335 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1337 hprogram,yrecfm,dgei%XLE_N_C(:,:),iresp,hcomment=ycomment)
1340 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1342 hprogram,yrecfm,dgei%XSWNET_V(:,:),iresp,hcomment=ycomment)
1345 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1347 hprogram,yrecfm,dgei%XSWNET_G(:,:),iresp,hcomment=ycomment)
1350 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1352 hprogram,yrecfm,dgei%XSWNET_N(:,:),iresp,hcomment=ycomment)
1355 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1357 hprogram,yrecfm,dgei%XSWNET_NS(:,:),iresp,hcomment=ycomment)
1360 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1362 hprogram,yrecfm,dgei%XLWNET_V(:,:),iresp,hcomment=ycomment)
1365 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1367 hprogram,yrecfm,dgei%XLWNET_G(:,:),iresp,hcomment=ycomment)
1370 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1372 hprogram,yrecfm,dgei%XLWNET_N(:,:),iresp,hcomment=ycomment)
1375 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1377 hprogram,yrecfm,dgei%XSWDOWN_GN(:,:),iresp,hcomment=ycomment)
1380 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1382 hprogram,yrecfm,dgei%XLWDOWN_GN(:,:),iresp,hcomment=ycomment)
1385 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1387 hprogram,yrecfm,dgei%XH_V_C(:,:),iresp,hcomment=ycomment)
1390 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1392 hprogram,yrecfm,dgei%XH_G_C(:,:),iresp,hcomment=ycomment)
1395 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1397 hprogram,yrecfm,dgei%XH_C_A(:,:),iresp,hcomment=ycomment)
1400 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1402 hprogram,yrecfm,dgei%XH_N_C(:,:),iresp,hcomment=ycomment)
1405 ycomment=
'X_Y_'//yrecfm//
' (kg/m2/s)'
1407 hprogram,yrecfm,dgei%XSR_GN(:,:),iresp,hcomment=ycomment)
1410 ycomment=
'X_Y_'//yrecfm//
' (kg/m2/s)'
1412 hprogram,yrecfm,dgei%XMELTCV(:,:),iresp,hcomment=ycomment)
1415 ycomment=
'X_Y_'//yrecfm//
' (kg/m2/s)'
1417 hprogram,yrecfm,dgei%XFRZCV(:,:),iresp,hcomment=ycomment)
1423 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
1425 hprogram,yrecfm,dgei%XIRRIG_FLUX(:,:),iresp,hcomment=ycomment)
1431 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
1433 hprogram,yrecfm,dgei%XIFLOOD(:,:),iresp,hcomment=ycomment)
1436 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
1438 hprogram,yrecfm,dgei%XPFLOOD(:,:),iresp,hcomment=ycomment)
1441 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1443 hprogram,yrecfm,dgei%XLE_FLOOD(:,:),iresp,hcomment=ycomment)
1446 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1448 hprogram,yrecfm,dgei%XLEI_FLOOD(:,:),iresp,hcomment=ycomment)
1452 IF(i%CPHOTO/=
'NON')
THEN
1455 ycomment=
'gross primary production per patch (kgCO2/m2/s)'
1457 hprogram,yrecfm,dgei%XGPP(:,:),iresp,hcomment=ycomment)
1460 ycomment=
'autotrophic respiration per patch (kgCO2/m2/s)'
1462 hprogram,yrecfm,dgei%XRESP_AUTO(:,:),iresp,hcomment=ycomment)
1465 ycomment=
'ecosystem respiration per patch (kgCO2/m2/s)'
1467 hprogram,yrecfm,dgei%XRESP_ECO(:,:),iresp,hcomment=ycomment)
1471 IF(dgei%LWATER_BUDGET)
THEN
1474 ycomment=
'change in liquid soil moisture per patch (Kg/m2/s)'
1476 hprogram,yrecfm,dgei%XDWG(:,:),iresp,hcomment=ycomment)
1479 ycomment=
'change in solid soil moisture per patch (Kg/m2/s)'
1481 hprogram,yrecfm,dgei%XDWGI(:,:),iresp,hcomment=ycomment)
1484 ycomment=
'change in water on canopy per patch (Kg/m2/s)'
1486 hprogram,yrecfm,dgei%XDWR(:,:),iresp,hcomment=ycomment)
1489 ycomment=
'change in snow water equivalent per patch (Kg/m2/s)'
1491 hprogram,yrecfm,dgei%XDSWE(:,:),iresp,hcomment=ycomment)
1494 ycomment=
'isba water budget as residue per patch (Kg/m2/s)'
1496 hprogram,yrecfm,dgei%XWATBUD(:,:),iresp,hcomment=ycomment)
1505 IF (dgi%N2M>=1)
THEN
1508 ycomment=
'X_Y_'//yrecfm//
' (K)'
1510 hprogram,yrecfm,dgi%XT2M(:,:),iresp,hcomment=ycomment)
1513 ycomment=
'X_Y_'//yrecfm//
' (K)'
1515 hprogram,yrecfm,dgi%XT2M_MIN(:,:),iresp,hcomment=ycomment)
1516 dgi%XT2M_MIN(:,:)=xundef
1519 ycomment=
'X_Y_'//yrecfm//
' (K)'
1521 hprogram,yrecfm,dgi%XT2M_MAX(:,:),iresp,hcomment=ycomment)
1522 dgi%XT2M_MAX(:,:)=0.0
1525 ycomment=
'X_Y_'//yrecfm//
' (KG/KG)'
1527 hprogram,yrecfm,dgi%XQ2M(:,:),iresp,hcomment=ycomment)
1530 ycomment=
'X_Y_'//yrecfm//
' (PERCENT)'
1532 hprogram,yrecfm,dgi%XHU2M(:,:),iresp,hcomment=ycomment)
1535 ycomment=
'X_Y_'//yrecfm//
' (M/S)'
1537 hprogram,yrecfm,dgi%XZON10M(:,:),iresp,hcomment=ycomment)
1540 ycomment=
'X_Y_'//yrecfm//
' (M/S)'
1542 hprogram,yrecfm,dgi%XMER10M(:,:),iresp,hcomment=ycomment)
1545 ycomment=
'X_Y_'//yrecfm//
' (M/S)'
1547 hprogram,yrecfm,dgi%XWIND10M(:,:),iresp,hcomment=ycomment)
1554 IF (dgei%LSURF_BUDGETC)
THEN
1557 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1559 hprogram,yrecfm,dgei%XLEGC(:,:),iresp,hcomment=ycomment)
1562 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1564 hprogram,yrecfm,dgei%XLEGIC(:,:),iresp,hcomment=ycomment)
1567 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1569 hprogram,yrecfm,dgei%XLEVC(:,:),iresp,hcomment=ycomment)
1572 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1574 hprogram,yrecfm,dgei%XLESAC(:,:),iresp,hcomment=ycomment)
1576 IF(i%TSNOW%SCHEME==
'3-L' .OR. i%TSNOW%SCHEME==
'CRO')
THEN
1578 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1580 hprogram,yrecfm,dgei%XLESLC(:,:),iresp,hcomment=ycomment)
1582 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
1584 hprogram,yrecfm,dgei%XSNDRIFTC(:,:),iresp,hcomment=ycomment)
1588 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1590 hprogram,yrecfm,dgei%XLERC(:,:),iresp,hcomment=ycomment)
1593 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1595 hprogram,yrecfm,dgei%XLETRC(:,:),iresp,hcomment=ycomment)
1598 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
1600 hprogram,yrecfm,dgei%XEVAPC(:,:),iresp,hcomment=ycomment)
1603 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
1605 hprogram,yrecfm,dgei%XSUBLC(:,:),iresp,hcomment=ycomment)
1608 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
1610 hprogram,yrecfm,dgei%XDRAINC(:,:),iresp,hcomment=ycomment)
1612 IF(i%CRUNOFF==
'SGH'.AND.i%CISBA==
'DIF')
THEN
1614 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
1616 hprogram,yrecfm,dgei%XQSBC(:,:),iresp,hcomment=ycomment)
1620 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
1622 hprogram,yrecfm,dgei%XRUNOFFC(:,:),iresp,hcomment=ycomment)
1624 IF(i%CHORT==
'SGH'.OR.i%CISBA==
'DIF')
THEN
1626 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
1628 hprogram,yrecfm,dgei%XHORTC(:,:),iresp,hcomment=ycomment)
1632 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
1634 hprogram,yrecfm,dgei%XDRIPC(:,:),iresp,hcomment=ycomment)
1637 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
1639 hprogram,yrecfm,dgei%XRRVEGC(:,:),iresp,hcomment=ycomment)
1642 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
1644 hprogram,yrecfm,dgei%XMELTC(:,:),iresp,hcomment=ycomment)
1647 IF (isize_lmeb_patch>0)
THEN
1649 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1651 hprogram,yrecfm,dgei%XLEVCVC(:,:),iresp,hcomment=ycomment)
1654 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1656 hprogram,yrecfm,dgei%XLESCC(:,:),iresp,hcomment=ycomment)
1663 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1665 hprogram,yrecfm,dgei%XLETRCVC(:,:),iresp,hcomment=ycomment)
1672 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1674 hprogram,yrecfm,dgei%XLERCVC(:,:),iresp,hcomment=ycomment)
1677 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1679 hprogram,yrecfm,dgei%XLE_C_AC(:,:),iresp,hcomment=ycomment)
1682 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1684 hprogram,yrecfm,dgei%XLE_V_CC(:,:),iresp,hcomment=ycomment)
1687 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1689 hprogram,yrecfm,dgei%XLE_G_CC(:,:),iresp,hcomment=ycomment)
1692 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1694 hprogram,yrecfm,dgei%XLE_N_CC(:,:),iresp,hcomment=ycomment)
1697 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1699 hprogram,yrecfm,dgei%XSWNET_VC(:,:),iresp,hcomment=ycomment)
1702 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1704 hprogram,yrecfm,dgei%XSWNET_GC(:,:),iresp,hcomment=ycomment)
1707 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1709 hprogram,yrecfm,dgei%XSWNET_NC(:,:),iresp,hcomment=ycomment)
1712 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1714 hprogram,yrecfm,dgei%XSWNET_NSC(:,:),iresp,hcomment=ycomment)
1717 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1719 hprogram,yrecfm,dgei%XLWNET_VC(:,:),iresp,hcomment=ycomment)
1722 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1724 hprogram,yrecfm,dgei%XLWNET_GC(:,:),iresp,hcomment=ycomment)
1727 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1729 hprogram,yrecfm,dgei%XLWNET_NC(:,:),iresp,hcomment=ycomment)
1732 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1734 hprogram,yrecfm,dgei%XSWDOWN_GNC(:,:),iresp,hcomment=ycomment)
1737 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1739 hprogram,yrecfm,dgei%XLWDOWN_GNC(:,:),iresp,hcomment=ycomment)
1742 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1744 hprogram,yrecfm,dgei%XH_V_CC(:,:),iresp,hcomment=ycomment)
1747 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1749 hprogram,yrecfm,dgei%XH_G_CC(:,:),iresp,hcomment=ycomment)
1752 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1754 hprogram,yrecfm,dgei%XH_C_AC(:,:),iresp,hcomment=ycomment)
1757 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1759 hprogram,yrecfm,dgei%XH_N_CC(:,:),iresp,hcomment=ycomment)
1762 ycomment=
'X_Y_'//yrecfm//
' (kg/m2)'
1764 hprogram,yrecfm,dgei%XSR_GNC(:,:),iresp,hcomment=ycomment)
1767 ycomment=
'X_Y_'//yrecfm//
' (kg/m2)'
1769 hprogram,yrecfm,dgei%XMELTCVC(:,:),iresp,hcomment=ycomment)
1772 ycomment=
'X_Y_'//yrecfm//
' (kg/m2)'
1774 hprogram,yrecfm,dgei%XFRZCVC(:,:),iresp,hcomment=ycomment)
1780 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
1782 hprogram,yrecfm,dgei%XIRRIG_FLUXC(:,:),iresp,hcomment=ycomment)
1787 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2)'
1789 hprogram,yrecfm,dgei%XICEFLUXC(:,:),iresp,hcomment=ycomment)
1795 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
1797 hprogram,yrecfm,dgei%XIFLOODC(:,:),iresp,hcomment=ycomment)
1800 ycomment=
'X_Y_'//yrecfm//
' (Kg/m2/s)'
1802 hprogram,yrecfm,dgei%XPFLOODC(:,:),iresp,hcomment=ycomment)
1805 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1807 hprogram,yrecfm,dgei%XLE_FLOODC(:,:),iresp,hcomment=ycomment)
1810 ycomment=
'X_Y_'//yrecfm//
' (W/m2)'
1812 hprogram,yrecfm,dgei%XLEI_FLOODC(:,:),iresp,hcomment=ycomment)
1817 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1819 hprogram,yrecfm,dgei%XRNC(:,:),iresp,hcomment=ycomment)
1822 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1824 hprogram,yrecfm,dgei%XHC(:,:),iresp,hcomment=ycomment)
1827 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1829 hprogram,yrecfm,dgei%XLEC(:,:),iresp,hcomment=ycomment)
1832 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1834 hprogram,yrecfm,dgei%XLEIC(:,:),iresp,hcomment=ycomment)
1837 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1839 hprogram,yrecfm,dgei%XGFLUXC(:,:),iresp,hcomment=ycomment)
1841 IF (dgi%LRAD_BUDGET .OR. (dgei%LSURF_BUDGETC .AND. .NOT.dgu%LRESET_BUDGETC))
THEN
1844 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1846 hprogram,yrecfm,dgi%XSWDC(:,:),iresp,hcomment=ycomment)
1849 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1851 hprogram,yrecfm,dgi%XSWUC(:,:),iresp,hcomment=ycomment)
1854 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1856 hprogram,yrecfm,dgi%XLWDC(:,:),iresp,hcomment=ycomment)
1859 ycomment=
'X_Y_'//yrecfm//
' (J/m2)'
1861 hprogram,yrecfm,dgi%XLWUC(:,:),iresp,hcomment=ycomment)
1866 ycomment=
'X_Y_'//yrecfm//
' (Pa.s)'
1868 hprogram,yrecfm,dgi%XFMUC(:,:),iresp,hcomment=ycomment)
1871 ycomment=
'X_Y_'//yrecfm//
' (Pa.s)'
1873 hprogram,yrecfm,dgi%XFMVC(:,:),iresp,hcomment=ycomment)
1875 IF(i%CPHOTO/=
'NON')
THEN
1878 ycomment=
'cumulated gross primary production per patch (kgCO2/m2)'
1880 hprogram,yrecfm,dgei%XGPPC(:,:),iresp,hcomment=ycomment)
1883 ycomment=
'cumulated autotrophic respiration per patch (kgCO2/m2)'
1885 hprogram,yrecfm,dgei%XRESPC_AUTO(:,:),iresp,hcomment=ycomment)
1888 ycomment=
'cumulated ecosystem respiration per patch (kgCO2/m2)'
1890 hprogram,yrecfm,dgei%XRESPC_ECO(:,:),iresp,hcomment=ycomment)
1894 IF(dgei%LWATER_BUDGET .OR. (dgei%LSURF_BUDGETC .AND. .NOT.dgu%LRESET_BUDGETC))
THEN
1897 ycomment=
'cumulated change in liquid soil moisture per patch (Kg/m2)'
1899 hprogram,yrecfm,dgei%XDWGC(:,:),iresp,hcomment=ycomment)
1902 ycomment=
'cumulated change in solid soil moisture per patch (Kg/m2)'
1904 hprogram,yrecfm,dgei%XDWGIC(:,:),iresp,hcomment=ycomment)
1907 ycomment=
'cumulated change in water on canopy per patch (Kg/m2)'
1909 hprogram,yrecfm,dgei%XDWRC(:,:),iresp,hcomment=ycomment)
1912 ycomment=
'cumulated change in snow water equivalent per patch (Kg/m2)'
1914 hprogram,yrecfm,dgei%XDSWEC(:,:),iresp,hcomment=ycomment)
1917 ycomment=
'cumulated isba water budget as residue per patch (Kg/m2)'
1919 hprogram,yrecfm,dgei%XWATBUDC(:,:),iresp,hcomment=ycomment)
1932 IF (chi%SVI%NBEQ>0 .AND. chi%CCH_DRY_DEP==
"WES89 ")
THEN
1934 DO jsv = 1,
SIZE(chi%CCH_NAMES,1)
1935 yrecfm=
'DV_NAT_'//trim(chi%CCH_NAMES(jsv))
1936 WRITE(ycomment,
'(A13,I3.3)')
'(m/s) DV_NAT_',jsv
1938 hprogram,yrecfm,chi%XDEP(:,jsv,:),iresp,hcomment=ycomment)
1943 IF (chi%SVI%NBEQ>0 .AND. chi%LCH_BIO_FLUX)
THEN
1945 IF (
ASSOCIATED(gb%XFISO))
THEN
1947 WRITE(ycomment,
'(A21)')
'FISO (molecules/m2/s)'
1949 hprogram,yrecfm,gb%XFISO(:),iresp,hcomment=ycomment)
1952 IF (
ASSOCIATED(gb%XFISO))
THEN
1954 WRITE(ycomment,
'(A22)')
'FMONO (molecules/m2/s)'
1956 hprogram,yrecfm,gb%XFMONO(:),iresp,hcomment=ycomment)
1961 IF (chi%LCH_NO_FLUX)
THEN
1962 IF (
ASSOCIATED(gb%XNOFLUX))
THEN
1964 WRITE(ycomment,
'(A21)')
'NOFLUX (molecules/m2/s)'
1966 hprogram,yrecfm,gb%XNOFLUX(:),iresp,hcomment=ycomment)
1970 IF (chi%SVI%NDSTEQ > 0)
THEN
1973 WRITE(yrecfm,
'(A7,I3.3)')
'FLX_DST',jsv
1974 ycomment=
'X_Y_'//yrecfm//
' (kg/m2/s)'
1976 hprogram,yrecfm,dst%XSFDST(:,jsv,:),iresp,hcomment=ycomment)
1986 IF (lhook) CALL dr_hook(
'WRITE_DIAG_SEB_ISBA_N',1,zhook_handle)
1994 REAL,
DIMENSION(SIZE(I%XTG,1)) :: zpatch, zwork
1995 REAL,
DIMENSION(SIZE(I%XWG,1),SIZE(I%XWG,2)) :: zwg
1996 REAL,
DIMENSION(SIZE(I%XWG,1),SIZE(I%XWG,2)) :: zwgi
1997 REAL,
DIMENSION(SIZE(I%XTG,1),SIZE(I%XTG,2)) :: ztg
1998 REAL,
DIMENSION(SIZE(I%XDG,1),SIZE(I%XDG,2)) :: zdg_tot
1999 REAL,
DIMENSION(SIZE(I%XDG,1),SIZE(I%XDG,2),SIZE(I%XDG,3)) :: zdg
2001 REAL,
DIMENSION(SIZE(I%XDG,1),I%NNBIOMASS) :: zbiomass
2002 REAL,
DIMENSION(SIZE(I%XDG,1),I%NNSOILCARB) :: zsoilcarb
2003 REAL,
DIMENSION(SIZE(I%XDG,1),I%NNLITTLEVS) :: zlignin_struc
2004 REAL,
DIMENSION(SIZE(I%XDG,1),I%NNLITTER,I%NNLITTLEVS) :: zlitter
2006 CHARACTER(LEN=4 ) :: ylvl
2008 INTEGER :: jlayer, jpatch, jj, ini, iwork, idepth
2010 REAL(KIND=JPRB) :: zhook_handle
2012 IF (lhook) CALL dr_hook(
'WRITE_DIAG_SEB_ISBA_N:PROVAR_TO_DIAG',0,zhook_handle)
2019 iwork=i%NTEMPLAYER_ARP
2020 ELSEIF(i%CISBA/=
'DIF')
THEN
2023 iwork=i%NGROUND_LAYER
2027 DO jpatch=1,i%NPATCH
2030 ztg(jj,jlayer) = ztg(jj,jlayer) + i%XPATCH(jj,jpatch) * i%XTG(jj,jlayer,jpatch)
2036 WRITE(ylvl,
'(I4)') jlayer
2037 yrecfm=
'TG'//adjustl(ylvl(:len_trim(ylvl)))
2038 yrecfm=yrecfm(:len_trim(yrecfm))//
'_ISBA'
2039 ycomment=
'X_Y_'//yrecfm//
' (K)'
2041 hprogram,yrecfm,ztg(:,jlayer),iresp,hcomment=ycomment)
2050 IF(i%CISBA==
'DIF')
THEN
2052 DO jpatch=1,i%NPATCH
2053 DO jlayer=1,i%NGROUND_LAYER
2057 idepth=i%NWG_LAYER(jj,jpatch)
2058 IF(jlayer<=idepth)
THEN
2059 zwg(jj,jlayer)=zwg(jj,jlayer)+i%XPATCH(jj,jpatch)*i%XWG (jj,jlayer,jpatch)*i%XDZG(jj,jlayer,jpatch)
2060 zwgi(jj,jlayer)=zwgi(jj,jlayer)+i%XPATCH(jj,jpatch)*i%XWGI(jj,jlayer,jpatch)*i%XDZG(jj,jlayer,jpatch)
2061 zdg_tot(jj,jlayer)=zdg_tot(jj,jlayer)+i%XPATCH(jj,jpatch)*i%XDZG(jj,jlayer,jpatch)
2070 zdg(:,1,:) = i%XDG(:,1,:)
2071 zdg(:,2,:) = i%XDG(:,2,:)
2072 IF(i%CISBA==
'3-L')
THEN
2073 zdg(:,3,:) = i%XDG(:,3,:)-i%XDG(:,2,:)
2076 DO jpatch=1,i%NPATCH
2077 DO jlayer=1,i%NGROUND_LAYER
2079 zwg(jj,jlayer)=zwg(jj,jlayer)+i%XPATCH(jj,jpatch)*i%XWG (jj,jlayer,jpatch)*zdg(jj,jlayer,jpatch)
2080 zwgi(jj,jlayer)=zwgi(jj,jlayer)+i%XPATCH(jj,jpatch)*i%XWGI(jj,jlayer,jpatch)*zdg(jj,jlayer,jpatch)
2081 zdg_tot(jj,jlayer)=zdg_tot(jj,jlayer)+i%XPATCH(jj,jpatch)*zdg(jj,jlayer,jpatch)
2088 IF(hprogram==
'AROME '.OR.hprogram==
'FA ')
THEN
2094 WHERE(zdg_tot(:,:)>0.0)
2095 zwg(:,:)=zwg(:,:)/zdg_tot(:,:)
2096 zwgi(:,:)=zwgi(:,:)/zdg_tot(:,:)
2104 DO jlayer=1,i%NGROUND_LAYER
2105 WRITE(ylvl,
'(I4)') jlayer
2106 yrecfm=
'WG'//adjustl(ylvl(:len_trim(ylvl)))
2107 yrecfm=yrecfm(:len_trim(yrecfm))//
'_ISBA'
2108 ycomment=
'Soil liquid water content (m3/m3)'
2110 hprogram,yrecfm,zwg(:,jlayer),iresp,hcomment=ycomment)
2115 iwork=i%NGROUND_LAYER
2116 IF(i%CISBA/=
'DIF')
THEN
2121 WRITE(ylvl,
'(I4)') jlayer
2122 yrecfm=
'WGI'//adjustl(ylvl(:len_trim(ylvl)))
2123 yrecfm=yrecfm(:len_trim(yrecfm))//
'_ISBA'
2124 ycomment=
'Soil solid water content (m3/m3)'
2126 hprogram,yrecfm,zwgi(:,jlayer),iresp,hcomment=ycomment)
2132 DO jpatch=1,i%NPATCH
2134 zwork(jj) = zwork(jj) + i%XPATCH(jj,jpatch) * i%XWR(jj,jpatch)
2139 ycomment=
'X_Y_'//yrecfm//
' (kg/m2)'
2141 hprogram,yrecfm,zwork(:),iresp,hcomment=ycomment)
2148 DO jpatch=1,i%NPATCH
2150 zwork(jj) = zwork(jj) + i%XPATCH(jj,jpatch) * i%XICE_STO(jj,jpatch)
2154 yrecfm=
'ICE_STO_ISBA'
2155 ycomment=
'X_Y_'//yrecfm//
' (kg/m2)'
2157 hprogram,yrecfm,zwork(:),iresp,hcomment=ycomment)
2165 DO jpatch=1,i%NPATCH
2167 IF(i%TSNOW%ALB(jj,jpatch)/=xundef)
THEN
2168 zwork(jj) = zwork(jj) + i%XPATCH(jj,jpatch) * i%TSNOW%ALB(jj,jpatch)
2169 zpatch(jj) = zpatch(jj) + i%XPATCH(jj,jpatch)
2174 WHERE(zpatch(:)>0.0)
2175 zwork(:) = zwork(:) / zpatch(:)
2181 ycomment=
'X_Y_'//yrecfm//
' (-)'
2183 hprogram,yrecfm,zwork(:),iresp,hcomment=ycomment)
2185 IF(i%TSNOW%SCHEME==
'3-L' .OR. i%TSNOW%SCHEME==
'CRO')
THEN
2189 DO jlayer = 1,i%TSNOW%NLAYER
2192 DO jpatch=1,i%NPATCH
2194 zwork(jj) = zwork(jj) + i%XPATCH(jj,jpatch) * i%TSNOW%WSNOW(jj,jlayer,jpatch)
2198 WRITE(ylvl,
'(I4)') jlayer
2199 yrecfm=
'WSN_'//adjustl(ylvl(:len_trim(ylvl)))
2200 yrecfm=yrecfm(:len_trim(yrecfm))//
'_ISBA'
2201 ycomment=
'X_Y_'//yrecfm//
' (kg/m2)'
2203 hprogram,yrecfm,zwork(:),iresp,hcomment=ycomment)
2209 DO jlayer = 1,i%TSNOW%NLAYER
2212 DO jpatch=1,i%NPATCH
2214 zwork(jj) = zwork(jj) + i%XPATCH(jj,jpatch) * i%TSNOW%WSNOW(jj,jlayer,jpatch)/i%TSNOW%RHO(jj,jlayer,jpatch)
2218 WRITE(ylvl,
'(I4)') jlayer
2219 yrecfm=
'DSN_'//adjustl(ylvl(:len_trim(ylvl)))
2220 yrecfm=yrecfm(:len_trim(yrecfm))//
'_ISBA'
2221 ycomment=
'X_Y_'//yrecfm//
' (kg/m2)'
2223 hprogram,yrecfm,zwork(:),iresp,hcomment=ycomment)
2229 IF(hprogram==
'AROME '.OR.hprogram==
'FA ')
THEN
2235 DO jlayer = 1,i%TSNOW%NLAYER
2239 DO jpatch=1,i%NPATCH
2241 IF(i%TSNOW%WSNOW(jj,jlayer,jpatch)>0.)
THEN
2242 zwork(jj) = zwork(jj) + i%XPATCH(jj,jpatch) * i%TSNOW%TEMP(jj,jlayer,jpatch)
2243 zpatch(jj) = zpatch(jj) + i%XPATCH(jj,jpatch)
2248 WHERE(zpatch(:)>0.0)
2249 zwork(:) = zwork(:) / zpatch(:)
2254 WRITE(ylvl,
'(I4)') jlayer
2255 yrecfm=
'TSN_'//adjustl(ylvl(:len_trim(ylvl)))
2256 yrecfm=yrecfm(:len_trim(yrecfm))//
'_ISBA'
2257 ycomment=
'X_Y_'//yrecfm//
' (K)'
2259 hprogram,yrecfm,zwork(:),iresp,hcomment=ycomment)
2265 DO jlayer = 1,i%TSNOW%NLAYER
2269 DO jpatch=1,i%NPATCH
2271 IF(i%TSNOW%WSNOW(jj,jlayer,jpatch)>0.)
THEN
2272 zwork(jj) = zwork(jj) + i%XPATCH(jj,jpatch) * i%TSNOW%AGE(jj,jlayer,jpatch)
2273 zpatch(jj) = zpatch(jj) + i%XPATCH(jj,jpatch)
2278 WHERE(zpatch(:)>0.0)
2279 zwork(:) = zwork(:) / zpatch(:)
2282 WRITE(ylvl,
'(I4)') jlayer
2283 yrecfm=
'AGSN_'//adjustl(ylvl(:len_trim(ylvl)))
2284 yrecfm=yrecfm(:len_trim(yrecfm))//
'_ISBA'
2285 ycomment=
'X_Y_'//yrecfm//
' (day_since_snowfall)'
2287 hprogram,yrecfm,zwork(:),iresp,hcomment=ycomment)
2295 IF(i%CPHOTO==
'NIT'.OR.i%CPHOTO==
'NCB')
THEN
2298 DO jpatch=1,i%NPATCH
2299 DO jlayer=1,i%NNBIOMASS
2301 zbiomass(jj,jlayer) = zbiomass(jj,jlayer) + i%XPATCH(jj,jpatch) * i%XBIOMASS(jj,jlayer,jpatch)
2306 DO jlayer = 1,i%NNBIOMASS
2307 WRITE(ylvl,
'(I4)') jlayer
2308 yrecfm=
'BIOM'//adjustl(ylvl(:len_trim(ylvl)))
2309 yrecfm=yrecfm(:len_trim(yrecfm))//
'_ISBA'
2310 ycomment=
'X_Y_'//yrecfm//
' (kgDM/m2)'
2312 hprogram,yrecfm,zbiomass(:,jlayer),iresp,hcomment=ycomment)
2319 IF(i%CRESPSL==
'CNT')
THEN
2322 zlignin_struc(:,:)=0.0
2323 DO jpatch=1,i%NPATCH
2324 DO jlayer=1,i%NNLITTLEVS
2326 zlitter(jj,1,jlayer) = zlitter(jj,1,jlayer) + i%XPATCH(jj,jpatch) * i%XLITTER(jj,1,jlayer,jpatch)
2327 zlitter(jj,2,jlayer) = zlitter(jj,2,jlayer) + i%XPATCH(jj,jpatch) * i%XLITTER(jj,2,jlayer,jpatch)
2328 zlignin_struc(jj,jlayer) = zlignin_struc(jj,jlayer) + i%XPATCH(jj,jpatch) * i%XLIGNIN_STRUC(jj,jlayer,jpatch)
2333 DO jlayer=1,i%NNLITTLEVS
2334 WRITE(ylvl,
'(I4)') jlayer
2335 yrecfm=
'LIT1_'//adjustl(ylvl(:len_trim(ylvl)))
2336 yrecfm=yrecfm(:len_trim(yrecfm))//
'_ISBA'
2337 ycomment=
'X_Y_'//yrecfm//
' (gC/m2)'
2339 hprogram,yrecfm,zlitter(:,1,jlayer),iresp,hcomment=ycomment)
2340 WRITE(ylvl,
'(I4)') jlayer
2341 yrecfm=
'LIT2_'//adjustl(ylvl(:len_trim(ylvl)))
2342 yrecfm=yrecfm(:len_trim(yrecfm))//
'_ISBA'
2343 ycomment=
'X_Y_'//yrecfm//
' (gC/m2)'
2345 hprogram,yrecfm,zlitter(:,2,jlayer),iresp,hcomment=ycomment)
2346 WRITE(ylvl,
'(I4)') jlayer
2347 yrecfm=
'LIGSTR'//adjustl(ylvl(:len_trim(ylvl)))
2348 yrecfm=yrecfm(:len_trim(yrecfm))//
'_ISBA'
2349 ycomment=
'X_Y_'//yrecfm//
' (-)'
2351 hprogram,yrecfm,zlignin_struc(:,jlayer),iresp,hcomment=ycomment)
2355 DO jpatch=1,i%NPATCH
2356 DO jlayer=1,i%NNSOILCARB
2358 zsoilcarb(jj,jlayer) = zsoilcarb(jj,jlayer) + i%XPATCH(jj,jpatch) * i%XSOILCARB(jj,jlayer,jpatch)
2363 DO jlayer = 1,i%NNSOILCARB
2364 WRITE(ylvl,
'(I4)') jlayer
2365 yrecfm=
'SCARB'//adjustl(ylvl(:len_trim(ylvl)))
2366 yrecfm=yrecfm(:len_trim(yrecfm))//
'_ISBA'
2367 ycomment=
'X_Y_'//yrecfm//
' (gC/m2)'
2369 hprogram,yrecfm,zsoilcarb(:,jlayer),iresp,hcomment=ycomment)
2374 IF (lhook) CALL dr_hook(
'WRITE_DIAG_SEB_ISBA_N:PROVAR_TO_DIAG',1,zhook_handle)
subroutine init_io_surf_n(DTCO, DGU, U, HPROGRAM, HMASK, HSCHEME, HACTION)
subroutine write_diag_seb_isba_n(DTCO, DGU, U, CHI, DGEI, DGI, DST, GB, I, HPROGRAM)
subroutine provar_to_diag
subroutine end_io_surf_n(HPROGRAM)