Index: LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/atm2geo.F
===================================================================
--- LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/atm2geo.F	(revision 1124)
+++ 	(revision )
@@ -1,60 +1,0 @@
-!
-! $Header$
-!
-C
-      SUBROUTINE atm2geo ( im, jm, pte, ptn, plon, plat, pxx, pyy, pzz )
-      USE dimphy
-      USE mod_phys_lmdz_para
-      IMPLICIT NONE
-      include 'dimensions.h'
-cc
-cc Change wind local atmospheric coordinates to
-cc geocentric
-cc
-cxxx      INCLUDE 'param.h'
-c
-      INTEGER, INTENT (in)              :: im, jm
-      REAL, DIMENSION (im,jm), INTENT (in) :: pte, ptn
-      REAL, DIMENSION (im,jm), INTENT (in) :: plon, plat
-      REAL, DIMENSION (im,jm), INTENT(out) :: pxx, pyy, pzz
-c
-      REAL, PARAMETER :: rpi = 3.141592653E0
-      REAL, PARAMETER :: rad = rpi / 180.0E0
-c
-      REAL, DIMENSION (im,jm) :: zsinlon, zcoslon
-      REAL, DIMENSION (im,jm) :: zsinlat, zcoslat
-c
-      LOGICAL, SAVE :: linit = .FALSE.
-c$OMP THREADPRIVATE(linit)
-
-cym utilise pour le couple, ne fonctionne que en MPI seul
-c
-cxxx      IF ( .NOT. linit ) THEN 
-          zsinlon = SIN (rad * plon)
-          zcoslon = COS (rad * plon)
-          zsinlat = SIN (rad * plat)
-          zcoslat = COS (rad * plat)
-          linit = .TRUE.
-cxxx      ENDIF 
-c
-      pxx = - zsinlon * pte - zsinlat * zcoslon * ptn
-      pyy =   zcoslon * pte - zsinlat * zsinlon * ptn
-      pzz =   zcoslat * ptn
-
-c
-c Value at North Pole
-      IF (is_north_pole) THEN
-        pxx ( :,  1) = - ptn ( 1, 1)
-        pyy ( :,  1) = - pte ( 1, 1)
-        pzz ( :,  1) = 0.0
-      ENDIF
-c Value at South Pole
-      
-      IF (is_south_pole) THEN
-        pxx ( :, jm) = + ptn ( 1, jm)
-        pyy ( :, jm) = + pte ( 1, jm)
-        pzz ( :, jm) = 0.0
-      ENDIF
- 
-      RETURN 
-      END SUBROUTINE atm2geo
Index: LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/atm2geo.F90
===================================================================
--- LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/atm2geo.F90	(revision 1126)
+++ LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/atm2geo.F90	(revision 1126)
@@ -0,0 +1,48 @@
+!
+! $Header$
+!
+SUBROUTINE atm2geo ( im, jm, pte, ptn, plon, plat, pxx, pyy, pzz )
+  USE dimphy
+  USE mod_phys_lmdz_para
+  IMPLICIT NONE
+  INCLUDE 'dimensions.h'
+  INCLUDE 'YOMCST.h'
+!
+! Change wind local atmospheric coordinates to geocentric
+!
+  INTEGER, INTENT (in)                 :: im, jm
+  REAL, DIMENSION (im,jm), INTENT (in) :: pte, ptn
+  REAL, DIMENSION (im,jm), INTENT (in) :: plon, plat
+  REAL, DIMENSION (im,jm), INTENT(out) :: pxx, pyy, pzz
+  
+  REAL :: rad
+
+
+  rad = rpi / 180.0E0
+  
+  pxx(:,:) = & 
+       - pte(:,:) * SIN(rad * plon(:,:)) &
+       - ptn(:,:) * SIN(rad * plat(:,:)) * COS(rad * plon(:,:))
+
+  pyy(:,:) = &
+       + pte(:,:) * COS(rad * plon(:,:)) &
+       - ptn(:,:) * SIN(rad * plat(:,:)) * SIN(rad * plon(:,:))
+  
+  pzz(:,:) = &
+       + ptn(:,:) * COS(rad * plat (:,:))
+  
+! Value at North Pole  
+  IF (is_north_pole) THEN
+     pxx(:, 1) = pxx(1,1)
+     pyy(:, 1) = pyy(1,1)
+     pzz(:, 1) = pzz(1,1)
+  ENDIF
+
+! Value at South Pole
+  IF (is_south_pole) THEN
+     pxx(:,jm) = pxx(1,jm)
+     pyy(:,jm) = pyy(1,jm)
+     pzz(:,jm) = pzz(1,jm)
+  ENDIF
+  
+END SUBROUTINE atm2geo
