7 pmera, pht, phw, prain, psnow, &
8 pcd, pcdn, pch, pri, phu, pz0, &
9 pz0h, pqsat, psfth, psftq, psfzon, psfmer, &
10 pdir_sw, psca_sw, plw, pdir_alb, psca_alb, &
11 ple, plei, psubl, plwup)
44 USE modi_diag_surf_budget_ideal
45 USE modi_diag_surf_budgetc_ideal
48 USE yomhook
,ONLY : lhook, dr_hook
49 USE parkind1
,ONLY : jprb
57 REAL ,
INTENT(IN) :: ptstep
58 REAL,
DIMENSION(:),
INTENT(IN) :: pta
59 REAL,
DIMENSION(:),
INTENT(IN) :: pts
60 REAL,
DIMENSION(:),
INTENT(IN) :: pqa
61 REAL,
DIMENSION(:),
INTENT(IN) :: ppa
62 REAL,
DIMENSION(:),
INTENT(IN) :: pps
63 REAL,
DIMENSION(:),
INTENT(IN) :: prhoa
64 REAL,
DIMENSION(:),
INTENT(IN) :: pzona
65 REAL,
DIMENSION(:),
INTENT(IN) :: pmera
66 REAL,
DIMENSION(:),
INTENT(IN) :: pht
67 REAL,
DIMENSION(:),
INTENT(IN) :: phw
68 REAL,
DIMENSION(:),
INTENT(IN) :: prain
69 REAL,
DIMENSION(:),
INTENT(IN) :: psnow
70 REAL,
DIMENSION(:),
INTENT(IN) :: pcd
71 REAL,
DIMENSION(:),
INTENT(IN) :: pcdn
72 REAL,
DIMENSION(:),
INTENT(IN) :: pch
73 REAL,
DIMENSION(:),
INTENT(IN) :: pri
74 REAL,
DIMENSION(:),
INTENT(IN) :: phu
75 REAL,
DIMENSION(:),
INTENT(IN) :: pz0
76 REAL,
DIMENSION(:),
INTENT(IN) :: pz0h
77 REAL,
DIMENSION(:),
INTENT(IN) :: pqsat
78 REAL,
DIMENSION(:),
INTENT(IN) :: psfzon
79 REAL,
DIMENSION(:),
INTENT(IN) :: psfmer
80 REAL,
DIMENSION(:),
INTENT(IN) :: psfth
81 REAL,
DIMENSION(:),
INTENT(IN) :: psftq
82 REAL,
DIMENSION(:,:),
INTENT(IN):: pdir_sw
84 REAL,
DIMENSION(:,:),
INTENT(IN):: psca_sw
86 REAL,
DIMENSION(:),
INTENT(IN) :: plw
87 REAL,
DIMENSION(:,:),
INTENT(IN):: pdir_alb
88 REAL,
DIMENSION(:,:),
INTENT(IN):: psca_alb
89 REAL,
DIMENSION(:),
INTENT(IN) :: ple
90 REAL,
DIMENSION(:),
INTENT(IN) :: plei
91 REAL,
DIMENSION(:),
INTENT(IN) :: psubl
92 REAL,
DIMENSION(:),
INTENT(IN) :: plwup
96 REAL,
DIMENSION(SIZE(PTA)) :: zh
97 REAL(KIND=JPRB) :: zhook_handle
100 IF (lhook) CALL dr_hook(
'DIAG_INLINE_IDEAL_N',0,zhook_handle)
102 dgl%XDIAG_TS(:) = pts(:)
105 CALL
param_cls(pta, pts, pqa, ppa, prhoa, pzona, pmera, pht, phw, &
106 psfth, psftq, psfzon, psfmer, &
107 dgl%XT2M, dgl%XQ2M, dgl%XHU2M, dgl%XZON10M, dgl%XMER10M )
108 ELSE IF (dgl%N2M==2)
THEN
110 CALL
cls_tq(pta, pqa, ppa, pps, pht, &
112 pts, phu, pz0h, zh, &
113 dgl%XT2M, dgl%XQ2M, dgl%XHU2M )
116 pcd, pcdn, pri, zh, &
117 dgl%XZON10M, dgl%XMER10M )
122 dgl%XT2M_MIN(:) = min(dgl%XT2M_MIN(:),dgl%XT2M(:))
123 dgl%XT2M_MAX(:) = max(dgl%XT2M_MAX(:),dgl%XT2M(:))
125 dgl%XHU2M_MIN(:) = min(dgl%XHU2M_MIN(:),dgl%XHU2M(:))
126 dgl%XHU2M_MAX(:) = max(dgl%XHU2M_MAX(:),dgl%XHU2M(:))
128 dgl%XWIND10M(:) = sqrt(dgl%XZON10M(:)**2+dgl%XMER10M(:)**2)
129 dgl%XWIND10M_MAX(:) = max(dgl%XWIND10M_MAX(:),dgl%XWIND10M(:))
136 IF (dgl%LSURF_BUDGET)
THEN
139 dgl%XLEI (:) = plei(:)
140 dgl%XEVAP(:) = psftq(:)
141 dgl%XSUBL(:) = psubl(:)
144 pdir_sw, psca_sw, plw, &
145 pdir_alb, psca_alb, plwup, &
146 psfzon, psfmer, dgl%XLE, dgl%XRN, &
147 dgl%XH, dgl%XGFLUX, dgl%XSWD, &
148 dgl%XSWU, dgl%XSWBD, dgl%XSWBU, &
149 dgl%XLWD, dgl%XLWU, dgl%XFMU, dgl%XFMV )
153 IF( dgl%LSURF_BUDGETC)
THEN
155 dgl%XLEI, dgl%XGFLUX, dgl%XSWD, dgl%XSWU, &
156 dgl%XLWD, dgl%XLWU, dgl%XFMU, dgl%XFMV, &
157 dgl%XEVAP, dgl%XSUBL )
175 IF (dgl%LSURF_VARS)
THEN
183 IF (lhook) CALL dr_hook(
'DIAG_INLINE_IDEAL_N',1,zhook_handle)
subroutine cls_wind(PZONA, PMERA, PHW, PCD, PCDN, PRI, PHV, PZON10M, PMER10M)
subroutine param_cls(PTA, PTS, PQA, PPA, PRHOA, PZONA, PMERA, PH, PHW, PSFTH, PSFTQ, PSFZON, PSFMER, PT2M, PQ2M, PHU2M, PZON10M, PMER10M)
subroutine diag_inline_ideal_n(DGL, PTSTEP, PTA, PTS, PQA, PPA, PPS, PRHOA, PZONA, PMERA, PHT, PHW, PRAIN, PSNOW, PCD, PCDN, PCH, PRI, PHU, PZ0, PZ0H, PQSAT, PSFTH, PSFTQ, PSFZON, PSFMER, PDIR_SW, PSCA_SW, PLW, PDIR_ALB, PSCA_ALB, PLE, PLEI, PSUBL, PLWUP)
subroutine diag_surf_budgetc_ideal(DGL, PTSTEP, PRN, PH, PLE, PLEI, PGFLUX, PSWD, PSWU, PLWD, PLWU, PFMU, PFMV, PEVAP, PSUBL)
subroutine diag_surf_budget_ideal(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)