6 SUBROUTINE get_xyall_ign(PX,PY,PDX,PDY,PXALL,PYALL,KDIMX,KDIMY)
45 REAL,
DIMENSION(:),
INTENT(IN) :: PX
46 REAL,
DIMENSION(:),
INTENT(IN) :: PY
47 REAL,
DIMENSION(:),
INTENT(IN) :: PDX
48 REAL,
DIMENSION(:),
INTENT(IN) :: PDY
49 REAL,
DIMENSION(:),
INTENT(OUT) :: PXALL
50 REAL,
DIMENSION(:),
INTENT(OUT) :: PYALL
51 INTEGER,
INTENT(OUT) :: KDIMX
52 INTEGER,
INTENT(OUT) :: KDIMY
57 REAL,
DIMENSION(MAX(SIZE(PXALL),SIZE(PYALL))*3) :: ZALL
58 REAL(KIND=JPRB) :: ZHOOK_HANDLE
68 pxall(1:kdimx) = zall(1:kdimx)
71 pyall(1:kdimy) = zall(1:kdimy)
81 REAL,
DIMENSION(:),
INTENT(IN) :: PIN
82 REAL,
DIMENSION(:),
INTENT(IN) :: PDIN
83 REAL,
DIMENSION(:),
INTENT(OUT) :: POUT
84 INTEGER,
INTENT(INOUT) :: KSIZE
85 REAL,
DIMENSION(SIZE(POUT)) :: ZDOUT, ZOUT, ZDOUT2
87 INTEGER :: I, J, IDMIN, ICPT, ISIZE
88 REAL(KIND=JPRB) :: ZHOOK_HANDLE
90 IF (
lhook)
CALL dr_hook(
'GET_XYALL_IGN:GET_COORD',0,zhook_handle)
93 zout(1:ksize) = pin(:)
94 zdout(1:ksize) = pdin(:)
96 zmax = maxval(zout(1:ksize))
98 zmin = minval(zout(1:ksize))
100 idmin = minloc(zout(1:ksize),1)
101 zdout2(j) = zdout(idmin)
105 zout(1:ksize) = pout(1:ksize)
106 zdout(1:ksize) = zdout2(1:ksize)
111 IF (zout(j)==zout(j+1))
THEN 113 pout(icpt+1:ksize-1) = zout(j+2:isize)
114 zdout(icpt+1:ksize-1) = zdout2(j+2:isize)
124 IF (pout(j)+zdout(j)/2.<pout(j+1)-zdout(j+1)/2.)
THEN 127 pout(ksize) = pout(j) + zdout(j)
128 zdout(ksize) = zdout(j)
129 DO WHILE ( pout(ksize)+zdout(ksize)/2. < pout(j+1)-zdout(j+1)/2. )
130 pout(ksize+1) = pout(ksize) + zdout(ksize)
131 zdout(ksize+1) = zdout(ksize)
137 zout(1:ksize) = pout(1:ksize)
139 zmax = maxval(zout(1:ksize))
141 zmin = minval(zout(1:ksize))
143 idmin = minloc(zout(1:ksize),1)
147 IF (
lhook)
CALL dr_hook(
'GET_XYALL_IGN:GET_COORD',1,zhook_handle)
subroutine get_xyall_ign(PX, PY, PDX, PDY, PXALL, PYALL, KDIMX, KDIMY)
subroutine get_coord(PIN, PDIN, POUT, KSIZE)