62 TYPE(
sso_t),
INTENT(INOUT) :: USS
66 REAL,
DIMENSION(NSSO) :: ZMAXX
67 REAL,
DIMENSION(NSSO) :: ZMAXY
68 LOGICAL,
DIMENSION(NSSO) :: GSEGX
69 LOGICAL,
DIMENSION(NSSO) :: GSEGY
70 REAL(KIND=JPRB) :: ZHOOK_HANDLE
77 IF (
lhook)
CALL dr_hook(
'AVERAGE2_OROGRAPHY',0,zhook_handle)
88 uss%XSSO_STDEV(:) = sqrt( max(0.,
xsumval(:,2)/
nsize(:,1) - uss%XAVG_ZS
96 DO jl=1,
SIZE(uss%XSIL_ZS)
97 IF (
nsize(jl,1)==0) cycle
98 zmaxx(:) = maxval(
xssqo(jl,:,:),dim=2)
99 gsegx(:) = any(
lssqo(jl,:,:),dim=2)
100 zmaxy(:) = maxval(
xssqo(jl,:,:),dim=1)
101 gsegy(:) = any(
lssqo(jl,:,:),dim=1)
102 uss%XSIL_ZS(jl) =0.5*(
sum(zmaxx(:),
mask=gsegx(:)) /
count(gsegx(:))
108 DO ji = 1,
SIZE(uss%XAVG_ZS)
110 IF (uss%XAVG_ZS(ji)/=
xundef)
THEN 112 zint = aint(uss%XAVG_ZS(ji))
113 IF (uss%XAVG_ZS(ji)/=zint) &
114 uss%XAVG_ZS(ji) = zint + anint((uss%XAVG_ZS(ji)-zint)*
xprec)/
xprec 116 zint = aint(uss%XSSO_STDEV(ji))
117 IF (uss%XSSO_STDEV(ji)/=zint) &
118 uss%XSSO_STDEV(ji) = zint + anint((uss%XSSO_STDEV(ji)-zint)*
xprec)
121 IF (uss%XSIL_ZS(ji)/=zint) &
122 uss%XSIL_ZS(ji) = zint + anint((uss%XSIL_ZS(ji)-zint)*
xprec)/
xprec 128 IF (
lhook)
CALL dr_hook(
'AVERAGE2_OROGRAPHY',1,zhook_handle)
subroutine average2_orography(USS)
logical, dimension(:,:,:), allocatable lssqo
real, dimension(:,:), allocatable xsumval
real, dimension(:,:,:), allocatable xssqo
intent(out) overrides sub arrays one Sort by the least significant key first sum(iindex(1:n))
integer, dimension(:,:), allocatable nsize