7 kluout,knblines,plat,plon,pvalue,pnodata)
47 USE modd_pgdwork, ONLY : xsumval, xsumval2, nsize, xssqo, lssqo, nsso
49 USE modi_get_mesh_index
53 USE yomhook
,ONLY : lhook, dr_hook
54 USE parkind1
,ONLY : jprb
64 INTEGER,
INTENT(IN) :: kluout
65 INTEGER,
INTENT(IN) :: knblines
66 REAL,
DIMENSION(:),
INTENT(IN) :: plat
67 REAL,
DIMENSION(:),
INTENT(IN) :: plon
68 REAL,
DIMENSION(:),
INTENT(IN) :: pvalue
69 REAL,
OPTIONAL,
INTENT(IN) :: pnodata
74 INTEGER,
DIMENSION(NOVMX,SIZE(PLAT)) :: iindex
76 INTEGER,
DIMENSION(NOVMX,SIZE(PLAT)) :: issox
77 INTEGER,
DIMENSION(NOVMX,SIZE(PLAT)) :: issoy
79 INTEGER :: jloop, jover
80 REAL,
DIMENSION(SIZE(PLAT)) :: zvalue
82 REAL(KIND=JPRB) :: zhook_handle
89 IF (lhook) CALL dr_hook(
'AVERAGE1_OROGRAPHY',0,zhook_handle)
91 IF (present(pnodata))
THEN
94 CALL
get_mesh_index(kluout,knblines,plat,plon,iindex,zvalue,znodata,nsso,issox,issoy)
98 CALL
get_mesh_index(kluout,knblines,plat,plon,iindex,ksso=nsso,kissox=issox,kissoy=issoy)
105 DO jloop = 1 ,
SIZE(plat)
112 IF (iindex(jover,jloop)==0) cycle bloop
117 nsize(iindex(jover,jloop))=nsize(iindex(jover,jloop))+1
122 xsumval(iindex(jover,jloop))=xsumval(iindex(jover,jloop))+pvalue(jloop)
127 xsumval2(iindex(jover,jloop))=xsumval2(iindex(jover,jloop))+pvalue(jloop)**2
132 lssqo(issox(jover,jloop),issoy(jover,jloop),iindex(jover,jloop)) = .true.
133 xssqo(issox(jover,jloop),issoy(jover,jloop),iindex(jover,jloop)) = &
134 max( xssqo(issox(jover,jloop),issoy(jover,jloop),iindex(jover,jloop)) , pvalue(jloop) )
140 uss%XMAX_ZS(iindex(jover,jloop))=max(uss%XMAX_ZS(iindex(jover,jloop)),pvalue(jloop))
146 uss%XMIN_ZS(iindex(jover,jloop))=min(uss%XMIN_ZS(iindex(jover,jloop)),pvalue(jloop))
152 IF (lhook) CALL dr_hook(
'AVERAGE1_OROGRAPHY',1,zhook_handle)
subroutine get_mesh_index(KLUOUT, KNBLINES, PLAT, PLON, KINDEX, PVALUE, PNODATA, KSSO, KISSOX, KISSOY)
subroutine average1_orography(USS, KLUOUT, KNBLINES, PLAT, PLON, PVALUE, PNODATA)