8 pswd, pswu, pswbd, pswbu, plwd, plwu )
39 USE yomhook
,ONLY : lhook, dr_hook
40 USE parkind1
,ONLY : jprb
46 REAL,
DIMENSION(:,:),
INTENT(IN) :: pdir_sw
48 REAL,
DIMENSION(:,:),
INTENT(IN) :: psca_sw
50 REAL,
DIMENSION(:),
INTENT(IN) :: plw
51 REAL,
DIMENSION(:),
INTENT(IN) :: ptrad
52 REAL,
DIMENSION(:,:),
INTENT(IN) :: pdir_alb
53 REAL,
DIMENSION(:,:),
INTENT(IN) :: psca_alb
54 REAL,
DIMENSION(:),
INTENT(IN) :: pemis
56 REAL,
DIMENSION(:,:),
INTENT(OUT):: pswbd
57 REAL,
DIMENSION(:,:),
INTENT(OUT):: pswbu
58 REAL,
DIMENSION(:),
INTENT(OUT) :: pswd
59 REAL,
DIMENSION(:),
INTENT(OUT) :: pswu
60 REAL,
DIMENSION(:),
INTENT(OUT) :: plwd
61 REAL,
DIMENSION(:),
INTENT(OUT) :: plwu
69 REAL(KIND=JPRB) :: zhook_handle
73 IF (lhook) CALL dr_hook(
'DIAG_SURF_BUDGET_TEB',0,zhook_handle)
74 iswb =
SIZE(pdir_sw,2)
79 pswbd(:,jswb) = pdir_sw(:,jswb) + psca_sw(:,jswb)
80 pswbu(:,jswb) = pdir_sw(:,jswb) * pdir_alb(:,jswb) + psca_sw(:,jswb) * psca_alb(:,jswb)
86 pswd(:)=pswd(:)+pswbd(:,jswb)
87 pswu(:)=pswu(:)+pswbu(:,jswb)
93 plwu(:)=pemis(:)*xstefan*ptrad(:)**4 + (1.-pemis(:))*plw(:)
94 IF (lhook) CALL dr_hook(
'DIAG_SURF_BUDGET_TEB',1,zhook_handle)
subroutine diag_surf_budget_teb(PDIR_SW, PSCA_SW, PDIR_ALB, PSCA_ALB, PLW, PEMIS, PTRAD, PSWD, PSWU, PSWBD, PSWBU, PLWD, PLWU)