42 TYPE(
diag_t),
INTENT(INOUT) :: D
44 REAL,
DIMENSION(:,:),
INTENT(IN) :: PDIR_SW
46 REAL,
DIMENSION(:,:),
INTENT(IN) :: PSCA_SW
48 REAL,
DIMENSION(:),
INTENT(IN) :: PLW
49 REAL,
DIMENSION(:),
INTENT(IN) :: PTRAD
50 REAL,
DIMENSION(:,:),
INTENT(IN) :: PDIR_ALB
51 REAL,
DIMENSION(:,:),
INTENT(IN) :: PSCA_ALB
52 REAL,
DIMENSION(:),
INTENT(IN) :: PEMIS
58 REAL(KIND=JPRB) :: ZHOOK_HANDLE
62 IF (
lhook)
CALL dr_hook(
'DIAG_SURF_BUDGET_TEB',0,zhook_handle)
63 iswb =
SIZE(pdir_sw,2)
68 d%XSWBD(:,jswb) = pdir_sw(:,jswb) + psca_sw(:,jswb)
69 d%XSWBU(:,jswb) = pdir_sw(:,jswb) * pdir_alb(:,jswb) + psca_sw(:,jswb) * psca_alb(:,jswb)
75 d%XSWD(:)=d%XSWD(:)+d%XSWBD(:,jswb)
76 d%XSWU(:)=d%XSWU(:)+d%XSWBU(:,jswb)
82 d%XLWU(:)=pemis(:)*
xstefan*ptrad(:)**4 + (1.-pemis(:))*plw(:)
84 IF (
lhook)
CALL dr_hook(
'DIAG_SURF_BUDGET_TEB',1,zhook_handle)
subroutine diag_surf_budget_teb(D, PDIR_SW, PSCA_SW, PDIR_ALB, PSCA_ALB, PLW, PEMIS, PTRAD)