1 |
|
module coordij_m |
2 |
|
|
3 |
! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/coordij.F,v 1.1.1.1 2004/05/19 |
IMPLICIT NONE |
|
! 12:53:05 lmdzadmin Exp $ |
|
4 |
|
|
5 |
SUBROUTINE coordij(lon, lat, ilon, jlat) |
contains |
6 |
|
|
7 |
! ======================================================================= |
SUBROUTINE coordij(lon, lat, ilon, jlat) |
8 |
|
|
9 |
! calcul des coordonnees i et j de la maille scalaire dans |
! From LMDZ4/libf/dyn3d/coordij.F, version 1.1.1.1 2004/05/19 12:53:05 |
|
! laquelle se trouve le point (lon,lat) en radian |
|
10 |
|
|
11 |
! ======================================================================= |
! calcul des coordonnees i et j de la maille scalaire dans |
12 |
|
! laquelle se trouve le point (lon, lat) en radian |
13 |
|
|
14 |
USE dimens_m |
USE dimens_m, only: iim, jjm |
15 |
USE paramet_m |
USE comgeom, only: rlonu, rlatv |
16 |
USE comconst |
USE nr_util, ONLY: pi |
17 |
USE comgeom |
|
18 |
USE serre |
REAL, intent(in):: lon, lat |
19 |
USE nr_util, ONLY: pi |
INTEGER ilon, jlat |
20 |
IMPLICIT NONE |
INTEGER i, j |
21 |
REAL lon, lat |
|
22 |
INTEGER ilon, jlat |
DO i = 1, iim + 1 |
23 |
INTEGER i, j |
IF (rlonu(i)>lon) THEN |
24 |
|
ilon = i |
25 |
|
exit |
26 |
REAL zlon, zlat |
END IF |
27 |
|
END DO |
28 |
zlon = lon*pi/180. |
|
29 |
zlat = lat*pi/180. |
j = 0 |
30 |
|
DO j = 1, jjm |
31 |
DO i = 1, iim + 1 |
IF (rlatv(j)<lat) THEN |
32 |
IF (rlonu(i)>zlon) THEN |
jlat = j |
33 |
ilon = i |
exit |
34 |
GO TO 10 |
END IF |
35 |
END IF |
END DO |
36 |
END DO |
|
37 |
10 CONTINUE |
IF (j==0) j = jjm + 1 |
38 |
|
|
39 |
j = 0 |
END SUBROUTINE coordij |
|
DO j = 1, jjm |
|
|
IF (rlatv(j)<zlat) THEN |
|
|
jlat = j |
|
|
GO TO 20 |
|
|
END IF |
|
|
END DO |
|
|
20 CONTINUE |
|
|
IF (j==0) j = jjm + 1 |
|
40 |
|
|
41 |
RETURN |
end module coordij_m |
|
END SUBROUTINE coordij |
|