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 )
54 USE modi_diag_surf_budget_flake
55 USE modi_diag_surf_budgetc_flake
56 USE modi_diag_cpl_esm_flake
59 USE yomhook
,ONLY : lhook, dr_hook
60 USE parkind1
,ONLY : jprb
68 TYPE(flake_t),
INTENT(INOUT) :: f
70 REAL ,
INTENT(IN) :: ptstep
71 REAL,
DIMENSION(:),
INTENT(IN) :: pta
72 REAL,
DIMENSION(:),
INTENT(IN) :: pqa
73 REAL,
DIMENSION(:),
INTENT(IN) :: ppa
74 REAL,
DIMENSION(:),
INTENT(IN) :: pps
75 REAL,
DIMENSION(:),
INTENT(IN) :: prhoa
76 REAL,
DIMENSION(:),
INTENT(IN) :: pzona
77 REAL,
DIMENSION(:),
INTENT(IN) :: pmera
78 REAL,
DIMENSION(:),
INTENT(IN) :: pht
79 REAL,
DIMENSION(:),
INTENT(IN) :: phw
80 REAL,
DIMENSION(:),
INTENT(IN) :: prain
81 REAL,
DIMENSION(:),
INTENT(IN) :: psnow
82 REAL,
DIMENSION(:),
INTENT(IN) :: pcd
83 REAL,
DIMENSION(:),
INTENT(IN) :: pcdn
84 REAL,
DIMENSION(:),
INTENT(IN) :: pch
85 REAL,
DIMENSION(:),
INTENT(IN) :: pri
86 REAL,
DIMENSION(:),
INTENT(IN) :: phu
87 REAL,
DIMENSION(:),
INTENT(IN) :: pz0h
88 REAL,
DIMENSION(:),
INTENT(IN) :: pqsat
89 REAL,
DIMENSION(:),
INTENT(IN) :: psfzon
90 REAL,
DIMENSION(:),
INTENT(IN) :: psfmer
91 REAL,
DIMENSION(:),
INTENT(IN) :: psfth
92 REAL,
DIMENSION(:),
INTENT(IN) :: psftq
93 REAL,
DIMENSION(:,:),
INTENT(IN):: pdir_sw
95 REAL,
DIMENSION(:,:),
INTENT(IN):: psca_sw
97 REAL,
DIMENSION(:),
INTENT(IN) :: plw
98 REAL,
DIMENSION(:,:),
INTENT(IN):: pdir_alb
99 REAL,
DIMENSION(:,:),
INTENT(IN):: psca_alb
100 REAL,
DIMENSION(:),
INTENT(IN) :: ple
101 REAL,
DIMENSION(:),
INTENT(IN) :: plei
102 REAL,
DIMENSION(:),
INTENT(IN) :: psubl
103 REAL,
DIMENSION(:),
INTENT(IN) :: plwup
105 REAL,
DIMENSION(:),
INTENT(IN) :: palb
106 REAL,
DIMENSION(:),
INTENT(IN) :: pswe
110 REAL,
DIMENSION(SIZE(PTA)) :: zh
111 REAL(KIND=JPRB) :: zhook_handle
114 IF (lhook) CALL dr_hook(
'DIAG_INLINE_FLAKE_N',0,zhook_handle)
116 dgf%XDIAG_TS(:) = f%XTS(:)
118 IF (.NOT. f%LSBL)
THEN
121 CALL
param_cls(pta, f%XTS, pqa, ppa, prhoa, pzona, pmera, pht, phw, &
122 psfth, psftq, psfzon, psfmer, &
123 dgf%XT2M, dgf%XQ2M, dgf%XHU2M, dgf%XZON10M, dgf%XMER10M )
124 ELSE IF (dgf%N2M==2)
THEN
126 CALL
cls_tq(pta, pqa, ppa, pps, pht, &
128 f%XTS, phu, pz0h, zh, &
129 dgf%XT2M, dgf%XQ2M, dgf%XHU2M )
132 pcd, pcdn, pri, zh, &
133 dgf%XZON10M, dgf%XMER10M )
138 dgf%XT2M_MIN(:) = min(dgf%XT2M_MIN(:),dgf%XT2M(:))
139 dgf%XT2M_MAX(:) = max(dgf%XT2M_MAX(:),dgf%XT2M(:))
141 dgf%XHU2M_MIN(:) = min(dgf%XHU2M_MIN(:),dgf%XHU2M(:))
142 dgf%XHU2M_MAX(:) = max(dgf%XHU2M_MAX(:),dgf%XHU2M(:))
144 dgf%XWIND10M(:) = sqrt(dgf%XZON10M(:)**2+dgf%XMER10M(:)**2)
145 dgf%XWIND10M_MAX(:) = max(dgf%XWIND10M_MAX(:),dgf%XWIND10M(:))
164 IF (dgf%LSURF_BUDGET.OR.dgf%LSURF_BUDGETC)
THEN
167 dgf%XLEI (:) = plei(:)
168 dgf%XEVAP(:) = psftq(:)
169 dgf%XSUBL(:) = psubl(:)
170 dgf%XALBT(:) = palb(:)
171 dgf%XSWE (:) = pswe(:)
174 pdir_sw, psca_sw, plw, &
175 pdir_alb, psca_alb, plwup, &
176 psfzon, psfmer, dgf%XLE, dgf%XRN, dgf%XH, dgf%XGFLUX, &
177 dgf%XSWD, dgf%XSWU, dgf%XSWBD, dgf%XSWBU, dgf%XLWD, dgf%XLWU, &
182 IF(dgf%LSURF_BUDGETC)
THEN
184 ptstep, dgf%XRN, dgf%XH, dgf%XLE, dgf%XLEI, dgf%XGFLUX, &
185 dgf%XSWD, dgf%XSWU, dgf%XLWD, dgf%XLWU, dgf%XFMU, dgf%XFMV,&
186 dgf%XEVAP, dgf%XSUBL )
204 IF (dgf%LSURF_VARS)
THEN
217 ptstep,prain,psnow,psftq)
221 IF (lhook) CALL dr_hook(
'DIAG_INLINE_FLAKE_N',1,zhook_handle)
subroutine diag_inline_flake_n(DGF, 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 cls_wind(PZONA, PMERA, PHW, PCD, PCDN, PRI, PHV, PZON10M, PMER10M)
subroutine diag_surf_budgetc_flake(DGF, PTSTEP, PRN, PH, PLE, PLEI, PGFLUX, PSWD, PSWU, PLWD, PLWU, PFMU, PFMV, PEVAP, PSUBL)
subroutine param_cls(PTA, PTS, PQA, PPA, PRHOA, PZONA, PMERA, PH, PHW, PSFTH, PSFTQ, PSFZON, PSFMER, PT2M, PQ2M, PHU2M, PZON10M, PMER10M)
subroutine diag_cpl_esm_flake(F, PTSTEP, PRAIN, PSNOW, PSFTQ)
subroutine diag_surf_budget_flake(PRHOA, PSFTH, PDIR_SW, PSCA_SW, PLW, PDIR_ALB, PSCA_ALB, PLWUP, PSFZON, PSFMER, PLE, PRN, PH, PGFLUX, PSWD, PSWU, PSWBD, PSWBU, PLWD, PLWU, PFMU, PFMV)
subroutine cls_tq(PTA, PQA, PPA, PPS, PHT, PCD, PCH, PRI, PTS, PHU, PZ0H, PH, PTNM, PQNM, PHUNM)