7 PDIR_ALB, PSCA_ALB, PLWUP, PSFZON, PSFMER )
40 TYPE(
diag_t),
INTENT(INOUT) :: D
42 REAL,
DIMENSION(:),
INTENT(IN) :: PRHOA
43 REAL,
DIMENSION(:),
INTENT(IN) :: PSFTH
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) :: PLWUP
50 REAL,
DIMENSION(:,:),
INTENT(IN):: PDIR_ALB
51 REAL,
DIMENSION(:,:),
INTENT(IN):: PSCA_ALB
52 REAL,
DIMENSION(:),
INTENT(IN) :: PSFZON
53 REAL,
DIMENSION(:),
INTENT(IN) :: PSFMER
59 REAL(KIND=JPRB) :: ZHOOK_HANDLE
63 IF (
lhook)
CALL dr_hook(
'DIAG_SURF_BUDGET_FLAKE',0,zhook_handle)
64 iswb =
SIZE(pdir_sw,2)
69 d%XSWBD(:,jswb) = pdir_sw(:,jswb) + psca_sw(:,jswb)
70 d%XSWBU(:,jswb) = pdir_sw(:,jswb) * pdir_alb(:,jswb) + psca_sw(:,jswb) * psca_alb(:,jswb)
76 d%XSWD(:)=d%XSWD(:)+d%XSWBD(:,jswb)
77 d%XSWU(:)=d%XSWU(:)+d%XSWBU(:,jswb)
87 d%XRN = d%XSWD(:) - d%XSWU(:) + d%XLWD(:) - d%XLWU(:)
95 d%XGFLUX = d%XRN - d%XH - d%XLE
102 IF (
lhook)
CALL dr_hook(
'DIAG_SURF_BUDGET_FLAKE',1,zhook_handle)
subroutine diag_surf_budget_flake(D, PRHOA, PSFTH, PDIR_SW, PSCA_SW, PLW, PDIR_ALB, PSCA_ALB, PLWUP, PSFZON, PSFMER)