6 SUBROUTINE get_adj_mes_ign(KGRID_PAR,KL,PGRID_PAR,KLEFT,KRIGHT,KTOP,KBOTTOM)
45 INTEGER,
INTENT(IN) :: KGRID_PAR
46 INTEGER,
INTENT(IN) :: KL
47 REAL,
DIMENSION(KGRID_PAR),
INTENT(IN) :: PGRID_PAR
48 INTEGER,
DIMENSION(KL),
INTENT(OUT) :: KLEFT
49 INTEGER,
DIMENSION(KL),
INTENT(OUT) :: KRIGHT
50 INTEGER,
DIMENSION(KL),
INTENT(OUT) :: KTOP
51 INTEGER,
DIMENSION(KL),
INTENT(OUT) :: KBOTTOM
56 REAL,
DIMENSION(KL) :: ZX
57 REAL,
DIMENSION(KL) :: ZY
58 REAL,
DIMENSION(KL) :: ZDX
59 REAL,
DIMENSION(KL) :: ZDY
60 REAL :: ZECX, ZECY, ZECDX, ZECDY
63 REAL(KIND=JPRB) :: ZHOOK_HANDLE
67 IF (
lhook)
CALL dr_hook(
'GET_ADJ_MES_IGN',0,zhook_handle)
80 zecx = abs(zx(jy)-zx(jx))
81 zecy = abs(zy(jy)-zy(jx))
83 zecdx = (zdx(jy)+zdx(jx))/2.
84 zecdy = (zdy(jy)+zdy(jx))/2.
86 IF ( zecx <= zecdx .AND. zecy <= zecdy )
THEN 88 IF ( zecdy-zecy <= zecdx-zecx .AND. zecx/=zecdx )
THEN 90 IF ( zy(jy) < zy(jx) .AND. &
91 ( kbottom(jx)==0 .OR. &
92 zecy < abs(zy(max(1,kbottom(jx)))-zy(jx)) .OR. &
93 zecx < abs(zx(max(1,kbottom(jx)))-zx(jx)) ) )
THEN 97 ELSEIF ( zy(jy) > zy(jx) .AND. &
99 zecy < abs(zy(max(1,ktop(jx)))-zy(jx)) .OR. &
100 zecx < abs(zx(max(1,ktop(jx)))-zx(jx)) ) )
THEN 106 ELSEIF (zecdx-zecx < zecdy-zecy )
THEN 108 IF ( zx(jy) < zx(jx) .AND. &
109 ( kleft(jx)==0 .OR. &
110 zecy < abs(zy(max(1,kleft(jx)))-zy(jx)) .OR. &
111 zecx < abs(zx(max(1,kleft(jx)))-zx(jx)) ) )
THEN 115 ELSEIF ( zx(jy) > zx(jx) .AND. &
116 ( kright(jx)==0 .OR. &
117 zecy < abs(zy(max(1,kright(jx)))-zy(jx)) .OR. &
118 zecx < abs(zx(max(1,kright(jx)))-zx(jx)) ) )
THEN 132 IF (
lhook)
CALL dr_hook(
'GET_ADJ_MES_IGN',1,zhook_handle)
subroutine get_gridtype_ign(PGRID_PAR, KLAMBERT, KL, PX, PY, PDX, PDY, KDIMX, KDIMY, PXALL, PYALL)
subroutine get_adj_mes_ign(KGRID_PAR, KL, PGRID_PAR, KLEFT, KRIGHT, KTO