7 pdir_alb_tile, psca_alb_tile, pemis_tile, ptrad_tile, &
8 pdir_alb, psca_alb, pemis, ptrad )
53 USE yomhook
,ONLY : lhook, dr_hook
54 USE parkind1
,ONLY : jprb
60 REAL,
DIMENSION(:,:),
INTENT(IN) :: pfrac_tile
62 REAL,
DIMENSION(:,:),
INTENT(IN) :: pemis_tile
63 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: pdir_alb_tile
64 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: psca_alb_tile
65 REAL,
DIMENSION(:,:),
INTENT(IN) :: ptrad_tile
66 REAL,
DIMENSION(:),
INTENT(OUT):: pemis
67 REAL,
DIMENSION(:,:),
INTENT(OUT):: pdir_alb
68 REAL,
DIMENSION(:,:),
INTENT(OUT):: psca_alb
69 REAL,
DIMENSION(:),
INTENT(OUT):: ptrad
74 REAL,
PARAMETER :: zeps = 1.e-10
76 INTEGER :: ini, inp, inswb
77 INTEGER :: ji, jp, jswb
79 REAL(KIND=JPRB) :: zhook_handle
82 IF (lhook) CALL dr_hook(
'AVERAGE_RAD',0,zhook_handle)
84 ini =
SIZE(pfrac_tile,1)
85 inp =
SIZE(pfrac_tile,2)
86 inswb =
SIZE(pdir_alb_tile,2)
99 pdir_alb(ji,jswb) = pdir_alb(ji,jswb) + pfrac_tile(ji,jp) * pdir_alb_tile(ji,jswb,jp)
100 psca_alb(ji,jswb) = psca_alb(ji,jswb) + pfrac_tile(ji,jp) * psca_alb_tile(ji,jswb,jp)
111 pemis(ji) = pemis(ji) + pfrac_tile(ji,jp) * pemis_tile(ji,jp)
121 ptrad(ji) = ptrad(ji) + (ptrad_tile(ji,jp)**4)*pfrac_tile(ji,jp)*pemis_tile(ji,jp)
125 ptrad(:) = ( ptrad(:) / max(pemis(:),zeps) )**0.25
127 IF (lhook) CALL dr_hook(
'AVERAGE_RAD',1,zhook_handle)
subroutine average_rad(PFRAC_TILE, PDIR_ALB_TILE, PSCA_ALB_TILE, PEMIS_TILE, PTRAD_TILE, PDIR_ALB, PSCA_ALB, PEMIS, PTRAD)