8 |
|
|
9 |
! From LMDZ4/libf/dyn3d/coordij.F, version 1.1.1.1 2004/05/19 12:53:05 |
! From LMDZ4/libf/dyn3d/coordij.F, version 1.1.1.1 2004/05/19 12:53:05 |
10 |
|
|
11 |
! calcul des coordonnees i et j de la maille scalaire dans |
! Calcul des coordonnées ilon et jlat de la maille scalaire dans |
12 |
! laquelle se trouve le point (lon, lat) en radian |
! laquelle se trouve le point (lon, lat). |
13 |
|
|
|
USE dimens_m, only: iim, jjm |
|
14 |
USE comgeom, only: rlonu, rlatv |
USE comgeom, only: rlonu, rlatv |
15 |
USE nr_util, ONLY: pi |
USE dimens_m, only: iim, jjm |
16 |
|
|
17 |
|
REAL, intent(in):: lon, lat ! in rad |
18 |
|
INTEGER, intent(out):: ilon, jlat |
19 |
|
|
20 |
REAL, intent(in):: lon, lat |
!---------------------------------------------------------- |
|
INTEGER ilon, jlat |
|
|
INTEGER i, j |
|
|
|
|
|
DO i = 1, iim + 1 |
|
|
IF (rlonu(i)>lon) THEN |
|
|
ilon = i |
|
|
exit |
|
|
END IF |
|
|
END DO |
|
|
|
|
|
j = 0 |
|
|
DO j = 1, jjm |
|
|
IF (rlatv(j)<lat) THEN |
|
|
jlat = j |
|
|
exit |
|
|
END IF |
|
|
END DO |
|
21 |
|
|
22 |
IF (j==0) j = jjm + 1 |
ilon = 1 |
23 |
|
do while (ilon <= iim .and. rlonu(ilon) <= lon) |
24 |
|
ilon = ilon + 1 |
25 |
|
end do |
26 |
|
|
27 |
|
jlat = 1 |
28 |
|
do while (jlat <= jjm - 1 .and. rlatv(jlat) >= lat) |
29 |
|
jlat = jlat + 1 |
30 |
|
end do |
31 |
|
|
32 |
END SUBROUTINE coordij |
END SUBROUTINE coordij |
33 |
|
|