7 PTSTEP, PTA, PQA, PPA, PPS, PRHOA, PZONA, &
8 PMERA, PHT, PHW, PRAIN, PSNOW, &
9 PCD, PCDN, PCH, PRI, PHU, &
10 PZ0H, PQSAT, PSFTH, PSFTQ, PSFZON, PSFMER, &
11 PDIR_SW, PSCA_SW, PLW, PDIR_ALB, PSCA_ALB, &
12 PLE, PLEI, PSUBL, PLWUP, PALB, PSWE )
53 USE modi_diag_surf_budget_flake
54 USE modi_diag_surf_budgetc
55 USE modi_diag_cpl_esm_flake
67 TYPE(
diag_t),
INTENT(INOUT) :: D
68 TYPE(
diag_t),
INTENT(INOUT) :: DC
69 TYPE(
flake_t),
INTENT(INOUT) :: F
71 REAL ,
INTENT(IN) :: PTSTEP
72 REAL,
DIMENSION(:),
INTENT(IN) :: PTA
73 REAL,
DIMENSION(:),
INTENT(IN) :: PQA
74 REAL,
DIMENSION(:),
INTENT(IN) :: PPA
75 REAL,
DIMENSION(:),
INTENT(IN) :: PPS
76 REAL,
DIMENSION(:),
INTENT(IN) :: PRHOA
77 REAL,
DIMENSION(:),
INTENT(IN) :: PZONA
78 REAL,
DIMENSION(:),
INTENT(IN) :: PMERA
79 REAL,
DIMENSION(:),
INTENT(IN) :: PHT
80 REAL,
DIMENSION(:),
INTENT(IN) :: PHW
81 REAL,
DIMENSION(:),
INTENT(IN) :: PRAIN
82 REAL,
DIMENSION(:),
INTENT(IN) :: PSNOW
83 REAL,
DIMENSION(:),
INTENT(IN) :: PCD
84 REAL,
DIMENSION(:),
INTENT(IN) :: PCDN
85 REAL,
DIMENSION(:),
INTENT(IN) :: PCH
86 REAL,
DIMENSION(:),
INTENT(IN) :: PRI
87 REAL,
DIMENSION(:),
INTENT(IN) :: PHU
88 REAL,
DIMENSION(:),
INTENT(IN) :: PZ0H
89 REAL,
DIMENSION(:),
INTENT(IN) :: PQSAT
90 REAL,
DIMENSION(:),
INTENT(IN) :: PSFZON
91 REAL,
DIMENSION(:),
INTENT(IN) :: PSFMER
92 REAL,
DIMENSION(:),
INTENT(IN) :: PSFTH
93 REAL,
DIMENSION(:),
INTENT(IN) :: PSFTQ
94 REAL,
DIMENSION(:,:),
INTENT(IN):: PDIR_SW
96 REAL,
DIMENSION(:,:),
INTENT(IN):: PSCA_SW
98 REAL,
DIMENSION(:),
INTENT(IN) :: PLW
99 REAL,
DIMENSION(:,:),
INTENT(IN):: PDIR_ALB
100 REAL,
DIMENSION(:,:),
INTENT(IN):: PSCA_ALB
101 REAL,
DIMENSION(:),
INTENT(IN) :: PLE
102 REAL,
DIMENSION(:),
INTENT(IN) :: PLEI
103 REAL,
DIMENSION(:),
INTENT(IN) :: PSUBL
104 REAL,
DIMENSION(:),
INTENT(IN) :: PLWUP
106 REAL,
DIMENSION(:),
INTENT(IN) :: PALB
107 REAL,
DIMENSION(:),
INTENT(IN) :: PSWE
111 REAL,
DIMENSION(SIZE(PTA)) :: ZH
112 REAL(KIND=JPRB) :: ZHOOK_HANDLE
115 IF (
lhook)
CALL dr_hook(
'DIAG_INLINE_FLAKE_N',0,zhook_handle)
119 IF (.NOT. f%LSBL)
THEN 123 CALL cls_tq(pta, pqa, ppa, pps, pht, pcd, pch, pri, &
124 f%XTS, phu, pz0h, zh, d%XT2M, d%XQ2M, d%XHU2M )
126 CALL cls_wind(pzona, pmera, phw, pcd, pcdn, pri, zh, d%XZON10M, d%XMER10M )
131 d%XT2M_MIN(:) = min(d%XT2M_MIN(:),d%XT2M(:))
132 d%XT2M_MAX(:) = max(d%XT2M_MAX(:),d%XT2M(:))
134 d%XHU2M_MIN(:) = min(d%XHU2M_MIN(:),d%XHU2M(:))
135 d%XHU2M_MAX(:) = max(d%XHU2M_MAX(:),d%XHU2M(:))
137 d%XWIND10M(:) = sqrt(d%XZON10M(:)**2+d%XMER10M(:)**2)
138 d%XWIND10M_MAX(:) = max(d%XWIND10M_MAX(:),d%XWIND10M(:))
157 IF (dgo%LSURF_BUDGET.OR.dgo%LSURF_BUDGETC)
THEN 161 d%XEVAP(:) = psftq(:)
162 d%XSUBL(:) = psubl(:)
167 pdir_alb, psca_alb, plwup, psfzon, psfmer )
171 IF(dgo%LSURF_BUDGETC)
THEN 190 IF (dgo%LSURF_VARS)
THEN 206 IF (
lhook)
CALL dr_hook(
'DIAG_INLINE_FLAKE_N',1,zhook_handle)
subroutine cls_wind(PZONA, PMERA, PHW, PCD, PCDN, PRI, PHV, PZON10M, PMER10M)
subroutine diag_inline_flake_n(DGO, D, DC, F, PTSTEP, PTA, PQA, PPA, PPS, PRHOA, PZONA, PMERA, PHT, PHW, PRAIN, PSNOW, PCD, PCDN, PCH, PRI, PHU, PZ0H, PQSAT, PSFTH, PSFTQ, PSFZON, PSFMER, PDIR_SW, PSCA_SW, PLW, PDIR_ALB, PSCA_ALB, PLE, PLEI, PSUBL, PLWUP, PALB, PSWE)
subroutine diag_cpl_esm_flake(F, PTSTEP, PRAIN, PSNOW, PSFTQ)
subroutine diag_surf_budgetc(D, DC, PTSTEP, ONOTICE)
subroutine diag_surf_budget_flake(D, PRHOA, PSFTH, PDIR_SW, PSCA_SW, PLW, PDIR_ALB, PSCA_ALB, PLWUP, PSFZON, PSFMER)
subroutine cls_tq(PTA, PQA, PPA, PPS, PHT, PCD, PCH, PRI, PTS, PHU, PZ0H, PH, PTNM, PQNM, PHUNM)