43 REAL,
DIMENSION(:,:),
INTENT(IN) :: PDIR_SW
45 REAL,
DIMENSION(:,:),
INTENT(IN) :: PSCA_SW
47 REAL,
DIMENSION(:),
INTENT(IN) :: PLW
50 TYPE(
diag_t),
INTENT(INOUT) :: DK
56 REAL(KIND=JPRB) :: ZHOOK_HANDLE
60 IF (
lhook)
CALL dr_hook(
'DIAG_SURF_BUDGET_ISBA',0,zhook_handle)
61 iswb =
SIZE(pdir_sw,2)
66 dk%XSWBD(:,jswb) = pdir_sw(:,jswb) + psca_sw(:,jswb)
67 dk%XSWBU(:,jswb) = pdir_sw(:,jswb) * k%XDIR_ALB_WITH_SNOW(:,jswb) + &
68 psca_sw(:,jswb) * k%XSCA_ALB_WITH_SNOW(:,jswb)
74 dk%XSWD(:) = dk%XSWD(:) + dk%XSWBD(:,jswb)
75 dk%XSWU(:) = dk%XSWU(:) + dk%XSWBU(:,jswb)
84 dk%XLWU(:) = dk%XSWD(:) - dk%XSWU(:) + dk%XLWD(:) - dk%XRN(:)
86 IF (
lhook)
CALL dr_hook(
'DIAG_SURF_BUDGET_ISBA',1,zhook_handle)
subroutine diag_surf_budget_isba(PDIR_SW, PSCA_SW, PLW, K, DK)