7 PQA, PPA, PPS, PRHOA, PZONA, PMERA, PHT, PHW, &
8 PRAIN, PSNOW, 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)
43 USE modi_diag_surf_budget_ideal
44 USE modi_diag_surf_budgetc
55 TYPE(
diag_t),
INTENT(INOUT) :: D
56 TYPE(
diag_t),
INTENT(INOUT) :: DC
58 REAL ,
INTENT(IN) :: PTSTEP
59 REAL,
DIMENSION(:),
INTENT(IN) :: PTA
60 REAL,
DIMENSION(:),
INTENT(IN) :: PTS
61 REAL,
DIMENSION(:),
INTENT(IN) :: PQA
62 REAL,
DIMENSION(:),
INTENT(IN) :: PPA
63 REAL,
DIMENSION(:),
INTENT(IN) :: PPS
64 REAL,
DIMENSION(:),
INTENT(IN) :: PRHOA
65 REAL,
DIMENSION(:),
INTENT(IN) :: PZONA
66 REAL,
DIMENSION(:),
INTENT(IN) :: PMERA
67 REAL,
DIMENSION(:),
INTENT(IN) :: PHT
68 REAL,
DIMENSION(:),
INTENT(IN) :: PHW
69 REAL,
DIMENSION(:),
INTENT(IN) :: PRAIN
70 REAL,
DIMENSION(:),
INTENT(IN) :: PSNOW
71 REAL,
DIMENSION(:),
INTENT(IN) :: PCD
72 REAL,
DIMENSION(:),
INTENT(IN) :: PCDN
73 REAL,
DIMENSION(:),
INTENT(IN) :: PCH
74 REAL,
DIMENSION(:),
INTENT(IN) :: PRI
75 REAL,
DIMENSION(:),
INTENT(IN) :: PHU
76 REAL,
DIMENSION(:),
INTENT(IN) :: PZ0
77 REAL,
DIMENSION(:),
INTENT(IN) :: PZ0H
78 REAL,
DIMENSION(:),
INTENT(IN) :: PQSAT
79 REAL,
DIMENSION(:),
INTENT(IN) :: PSFZON
80 REAL,
DIMENSION(:),
INTENT(IN) :: PSFMER
81 REAL,
DIMENSION(:),
INTENT(IN) :: PSFTH
82 REAL,
DIMENSION(:),
INTENT(IN) :: PSFTQ
83 REAL,
DIMENSION(:,:),
INTENT(IN):: PDIR_SW
85 REAL,
DIMENSION(:,:),
INTENT(IN):: PSCA_SW
87 REAL,
DIMENSION(:),
INTENT(IN) :: PLW
88 REAL,
DIMENSION(:,:),
INTENT(IN):: PDIR_ALB
89 REAL,
DIMENSION(:,:),
INTENT(IN):: PSCA_ALB
90 REAL,
DIMENSION(:),
INTENT(IN) :: PLE
91 REAL,
DIMENSION(:),
INTENT(IN) :: PLEI
92 REAL,
DIMENSION(:),
INTENT(IN) :: PSUBL
93 REAL,
DIMENSION(:),
INTENT(IN) :: PLWUP
97 REAL,
DIMENSION(SIZE(PTA)) :: ZH
98 REAL(KIND=JPRB) :: ZHOOK_HANDLE
101 IF (
lhook)
CALL dr_hook(
'DIAG_INLINE_IDEAL_N',0,zhook_handle)
107 CALL cls_tq(pta, pqa, ppa, pps, pht, &
109 pts, phu, pz0h, zh, &
110 d%XT2M, d%XQ2M, d%XHU2M )
113 pcd, pcdn, pri, zh, &
114 d%XZON10M, d%XMER10M )
119 d%XT2M_MIN(:) = min(d%XT2M_MIN(:),d%XT2M(:))
120 d%XT2M_MAX(:) = max(d%XT2M_MAX(:),d%XT2M(:))
122 d%XHU2M_MIN(:) = min(d%XHU2M_MIN(:),d%XHU2M(:))
123 d%XHU2M_MAX(:) = max(d%XHU2M_MAX(:),d%XHU2M(:))
125 d%XWIND10M(:) = sqrt(d%XZON10M(:)**2+d%XMER10M(:)**2)
126 d%XWIND10M_MAX(:) = max(d%XWIND10M_MAX(:),d%XWIND10M(:))
133 IF (dgo%LSURF_BUDGET)
THEN 137 d%XEVAP(:) = psftq(:)
138 d%XSUBL(:) = psubl(:)
141 pdir_sw, psca_sw, plw, &
142 pdir_alb, psca_alb, plwup, &
143 psfzon, psfmer, d%XLE, d%XRN, &
144 d%XH, d%XGFLUX, d%XSWD, &
145 d%XSWU, d%XSWBD, d%XSWBU, &
146 d%XLWD, d%XLWU, d%XFMU, d%XFMV )
150 IF( dgo%LSURF_BUDGETC)
THEN 169 IF (dgo%LSURF_VARS)
THEN 177 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 diag_inline_ideal_n(DGO, D, DC, 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(D, DC, PTSTEP, ONOTICE)
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)