6 SUBROUTINE diag_town_n (DLO, DL, DLC, TD, HTOWN, HPROGRAM, DUP, DUPC, KMASK )
51 TYPE(
diag_t),
INTENT(INOUT) :: DL
52 TYPE(
diag_t),
INTENT(INOUT) :: DLC
55 CHARACTER(LEN=*),
INTENT(IN) :: HTOWN
56 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
58 TYPE(
diag_t),
INTENT(INOUT) :: DUP
59 TYPE(
diag_t),
INTENT(INOUT) :: DUPC
61 INTEGER,
DIMENSION(:),
INTENT(IN) :: KMASK
65 REAL,
DIMENSION(SIZE(DUP%XRN)) :: ZDELTA
67 REAL(KIND=JPRB) :: ZHOOK_HANDLE
71 IF (htown==
'TEB ')
THEN 73 CALL diag(td%O, td%D, hprogram, dup, kmask)
83 IF (
SIZE(dup%XLEI)>0)
THEN 88 zdelta(:) = max(0.0,sign(1.0,
xtt-dup%XTS(:)))
89 dup%XEVAP (:) = (dup%XLE(:) * zdelta(:))/
xlstt + (dup%XLE(:) * (1.0-zdelta(:)))/
xlvtt 90 dup%XLEI (:) = dup%XLE(:) * zdelta(:)
91 dup%XSUBL (:) = dup%XLEI(:)/
xlstt 95 IF (td%O%LSURF_BUDGETC)
THEN 103 ELSE IF (htown==
'FLUX ')
THEN 104 CALL diag_evap(dlo, dl, dlc, hprogram, dup, dupc, kmask)
105 ELSE IF (htown==
'NONE ')
THEN
subroutine init_surf_bud(DA, PVAL)
subroutine init_bud(DGO, DA, DAC, PVAL)
subroutine diag(DGO, DA, HPROGRAM, DAUP, KMASK)
subroutine diag_evap(DGO, DA, DAC, HPROGRAM, DAUP, DAUPC, KMASK)
subroutine diag_town_n(DLO, DL, DLC, TD, HTOWN, HPROGRAM, DUP, DUPC, KMASK)