8 pswd, pswu, pswbd, pswbu, plwd, plwu )
37 USE yomhook
,ONLY : lhook, dr_hook
38 USE parkind1
,ONLY : jprb
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) :: pdir_alb
50 REAL,
DIMENSION(:,:),
INTENT(IN) :: psca_alb
51 REAL,
DIMENSION(:),
INTENT(IN) :: prn
53 REAL,
DIMENSION(:,:),
INTENT(OUT):: pswbd
54 REAL,
DIMENSION(:,:),
INTENT(OUT):: pswbu
55 REAL,
DIMENSION(:),
INTENT(OUT) :: pswd
56 REAL,
DIMENSION(:),
INTENT(OUT) :: pswu
57 REAL,
DIMENSION(:),
INTENT(OUT) :: plwd
58 REAL,
DIMENSION(:),
INTENT(OUT) :: plwu
65 REAL(KIND=JPRB) :: zhook_handle
69 IF (lhook) CALL dr_hook(
'DIAG_SURF_BUDGET_ISBA',0,zhook_handle)
70 iswb =
SIZE(pdir_sw,2)
75 pswbd(:,jswb) = pdir_sw(:,jswb) + psca_sw(:,jswb)
76 pswbu(:,jswb) = pdir_sw(:,jswb) * pdir_alb(:,jswb) + psca_sw(:,jswb) * psca_alb(:,jswb)
82 pswd(:)=pswd(:)+pswbd(:,jswb)
83 pswu(:)=pswu(:)+pswbu(:,jswb)
92 plwu(:)=pswd(:)-pswu(:)+plwd(:)-prn(:)
93 IF (lhook) CALL dr_hook(
'DIAG_SURF_BUDGET_ISBA',1,zhook_handle)
subroutine diag_surf_budget_isba(PDIR_SW, PSCA_SW, PDIR_ALB, PSCA_ALB, PLW, PRN, PSWD, PSWU, PSWBD, PSWBU, PLWD, PLWU)