44 USE modd_pgdwork, ONLY : nsize, xsumval, xsumval2, lssqo, xssqo, nsso
47 USE yomhook
,ONLY : lhook, dr_hook
48 USE parkind1
,ONLY : jprb
63 REAL,
DIMENSION(NSSO) :: zmaxx
64 REAL,
DIMENSION(NSSO) :: zmaxy
65 LOGICAL,
DIMENSION(NSSO) :: gsegx
66 LOGICAL,
DIMENSION(NSSO) :: gsegy
67 REAL(KIND=JPRB) :: zhook_handle
74 IF (lhook) CALL dr_hook(
'AVERAGE2_OROGRAPHY',0,zhook_handle)
76 uss%XAVG_ZS(:)=xsumval(:)/nsize(:)
85 uss%XSSO_STDEV(:)=sqrt( max(0.,xsumval2(:)/nsize(:) - uss%XAVG_ZS(:)*uss%XAVG_ZS(:)) )
93 DO jl=1,
SIZE(uss%XSIL_ZS)
94 IF (nsize(jl)==0) cycle
95 zmaxx(:) = maxval(xssqo(:,:,jl),dim=2)
96 gsegx(:) = any(lssqo(:,:,jl),dim=2)
97 zmaxy(:) = maxval(xssqo(:,:,jl),dim=1)
98 gsegy(:) = any(lssqo(:,:,jl),dim=1)
99 uss%XSIL_ZS(jl) =0.5*( sum(zmaxx(:),mask=gsegx(:)) / count(gsegx(:)) &
100 + sum(zmaxy(:),mask=gsegy(:)) / count(gsegy(:)) )
103 IF (lhook) CALL dr_hook(
'AVERAGE2_OROGRAPHY',1,zhook_handle)
subroutine average2_orography(USS)