45 INTEGER,
INTENT(IN) :: KSSO
46 REAL,
DIMENSION(:),
INTENT(IN) :: PGRID_PAR
47 REAL,
DIMENSION(:),
INTENT(IN) :: PLAT
48 REAL,
DIMENSION(:),
INTENT(IN) :: PLON
49 INTEGER,
DIMENSION(:,:),
INTENT(OUT) :: KINDEX
50 INTEGER,
DIMENSION(:,:),
INTENT(OUT) :: KISSOX
51 INTEGER,
DIMENSION(:,:),
INTENT(OUT) :: KISSOY
59 REAL,
DIMENSION(SIZE(PLON)) :: ZLON
61 REAL,
DIMENSION(:),
ALLOCATABLE :: ZX
62 REAL,
DIMENSION(:),
ALLOCATABLE :: ZY
63 REAL,
DIMENSION(:),
ALLOCATABLE :: ZXLIM
65 INTEGER :: ISIZE, IFACT
69 INTEGER,
DIMENSION(SIZE(PLAT),2) :: ICI
70 INTEGER,
DIMENSION(1) :: IDX0
72 LOGICAL,
DIMENSION(SIZE(PLAT)) :: GMASK
74 REAL(KIND=JPRB) :: ZHOOK_HANDLE, ZHOOK_HANDLE_OMP
78 IF (
lhook)
CALL dr_hook(
'GET_MESH_INDEX_LONLATVAL_1',0,zhook_handle)
79 IF (.NOT.
ALLOCATED(
xxlim))
THEN 86 ifact = floor(sqrt(float(il)))
87 isize = floor(float(il) / ifact)
92 nfracd(jj) = 1 + (jj-1)*isize
124 zvalx = maxval(zxlim) + 1.
127 xxlims(ji) = zxlim(idx0(1))
129 zxlim(idx0(1)) = zvalx
146 zlon(:) = plon(:)+nint((xlon0-plon(:))/360.)*360.
151 .OR. plat(jl)<
xy_min .OR. plat(jl)>
xy_max ) gmask(jl) = .true.
166 IF (
lhook)
CALL dr_hook(
'GET_MESH_INDEX_LONLATVAL_1',1,zhook_handle)
169 IF (
lhook)
CALL dr_hook(
'GET_MESH_INDEX_LONLATVAL_2',0,zhook_handle_omp)
181 IF (zlon(jl)>
xxlims(ji))
THEN 187 DO ji = ici(jl,2),0,-1
202 IF (
lhook)
CALL dr_hook(
'GET_MESH_INDEX_LONLATVAL_2',1,zhook_handle_omp)
205 IF (
lhook)
CALL dr_hook(
'GET_MESH_INDEX_LONLATVAL_3',0,zhook_handle)
212 DO ji=ici(jl,1),ici(jl,2)
219 kindex(icpt,jl) =
nxids(ji)
222 kissox(icpt,jl) = 1 + int( float(ksso) * (zlon(jl)-
xxlim(
nxids(ji
226 IF (icpt==
novmx)
EXIT 234 IF (
lhook)
CALL dr_hook(
'GET_MESH_INDEX_LONLATVAL_3',1,zhook_handle)
subroutine get_gridtype_lonlatval(PGRID_PAR, KL, PX, PY, PDX, PDY)
real, dimension(:), allocatable xxlim
real, dimension(:), allocatable xdx
subroutine get_mesh_index_lonlatval(KSSO, PGRID_PAR, PLAT, PLON, KINDE
integer, dimension(:), allocatable nxids
real, dimension(:), allocatable xxlims
real, dimension(:), allocatable xdy
integer, dimension(:), allocatable nfracd
real, dimension(:), allocatable xylim