Index: /dynamico_lmdz/simple_physics/phyparam/param/iniphyparam.F
===================================================================
--- /dynamico_lmdz/simple_physics/phyparam/param/iniphyparam.F	(revision 4191)
+++ /dynamico_lmdz/simple_physics/phyparam/param/iniphyparam.F	(revision 4192)
@@ -64,5 +64,5 @@
       INTEGER ig,ierr,offset
  
-      EXTERNAL inifrict,orbite
+      EXTERNAL inifrict
  
       print*,'INIPHYPARAM'
Index: namico_lmdz/simple_physics/phyparam/param/orbite.F
===================================================================
--- /dynamico_lmdz/simple_physics/phyparam/param/orbite.F	(revision 4191)
+++ 	(revision )
@@ -1,51 +1,0 @@
-      SUBROUTINE orbite(pls,pdist_sol,pdecli)
-      USE astronomy
-      IMPLICIT NONE
-
-c=======================================================================
-c
-c   Objet:
-c   ------
-c
-c   Distance from sun and declimation as a function of the solar
-c   longitude Ls
-c
-c   Interface:
-c   ----------
-c
-c    common 'comorbit.h' initialized by comorbit.f
-c
-c   Arguments:
-c   ----------
-c
-c   Input:
-c   ------
-c   pls          Ls
-c
-c   Output:
-c   -------
-c   pdist_sol     Distance Sun-Planet in UA
-c   pdecli        declinaison ( en radians )
-c
-c=======================================================================
-c-----------------------------------------------------------------------
-c   Declarations:
-c   -------------
-
-c arguments:
-c ----------
-
-      REAL pday,pdist_sol,pdecli,pls
-
-c-----------------------------------------------------------------------
-
-c Distance Sun-Planet
-
-      pdist_sol=p_elips/(1.+e_elips*cos(pls+timeperi))
-
-c Solar declination
-
-      pdecli= asin (sin(pls)*sin(obliquit*pi/180.))
-
-      RETURN
-      END
Index: /dynamico_lmdz/simple_physics/phyparam/param/phyparam.F
===================================================================
--- /dynamico_lmdz/simple_physics/phyparam/param/phyparam.F	(revision 4191)
+++ /dynamico_lmdz/simple_physics/phyparam/param/phyparam.F	(revision 4192)
@@ -164,5 +164,5 @@
 
       EXTERNAL convadj
-      EXTERNAL orbite,mucorr
+      EXTERNAL mucorr
       EXTERNAL ismin,ismax
 
@@ -482,7 +482,7 @@
          ENDDO
 
-         CALL zerophys(ngrid*nlayer,zdum1)
-         CALL zerophys(ngrid*nlayer,zdum2)
-c        CALL zerophys(ngrid*nlayer,zdum3)
+         zdum1(:,:)=0.
+         zdum2(:,:)=0.
+
          do l=1,nlayer
             do ig=1,ngrid
@@ -546,7 +546,9 @@
             ENDDO
          ENDDO
-         CALL zerophys(ngrid*nlayer,zdufr)
-         CALL zerophys(ngrid*nlayer,zdvfr)
-         CALL zerophys(ngrid*nlayer,zdhfr)
+
+         zdufr(:,:)=0.
+         zdvfr(:,:)=0.
+         zdhfr(:,:)=0.
+
          CALL convadj(ngrid,nlayer,ptimestep,
      $                pplay,pplev,zpopsk,
Index: /dynamico_lmdz/simple_physics/phyparam/param/sw.F
===================================================================
--- /dynamico_lmdz/simple_physics/phyparam/param/sw.F	(revision 4191)
+++ /dynamico_lmdz/simple_physics/phyparam/param/sw.F	(revision 4192)
@@ -204,7 +204,7 @@
 
       IF (ldiurn) THEN
-         CALL zerophys(ngrid,fsrfvis)
+         fsrfvis(:)=0.
          CALL monscatter(ncount,fsrfvis,index,zflux)
-         CALL zerophys(ngrid*nlayer,dtsw)
+         dtsw(:,:)=0.
          DO l=1,nlayer
             CALL monscatter(ncount,dtsw(1,l),index,zdtsw(1,l))
Index: namico_lmdz/simple_physics/phyparam/param/zerofi.F
===================================================================
--- /dynamico_lmdz/simple_physics/phyparam/param/zerofi.F	(revision 4191)
+++ 	(revision )
@@ -1,11 +1,0 @@
-      SUBROUTINE zerophys(n,x)
-      IMPLICIT NONE
-      INTEGER n
-      REAL x(n)
-      INTEGER i
-
-      DO i=1,n
-         x(i)=0.
-      ENDDO
-      RETURN
-      END
Index: /dynamico_lmdz/simple_physics/phyparam/physics/astronomy.F90
===================================================================
--- /dynamico_lmdz/simple_physics/phyparam/physics/astronomy.F90	(revision 4191)
+++ /dynamico_lmdz/simple_physics/phyparam/physics/astronomy.F90	(revision 4192)
@@ -7,4 +7,5 @@
   REAL, PARAMETER :: unitastr=149.597927, & ! millions of km
        pi=2.*ASIN(1.)
+
 CONTAINS
  
@@ -166,4 +167,48 @@
   END SUBROUTINE iniorbit
 
+  PURE SUBROUTINE orbite(pls,pdist_sol,pdecli)
+    !=======================================================================
+    !
+    !   Objet:
+    !   ------
+    !
+    !   Distance from sun and declimation as a function of the solar
+    !   longitude Ls
+    !
+    !   Arguments:
+    !   ----------
+    !
+    !   Input:
+    !   ------
+    !   pls          Ls
+    !
+    !   Output:
+    !   -------
+    !   pdist_sol     Distance Sun-Planet in UA
+    !   pdecli        declinaison ( en radians )
+    !
+    !=======================================================================
+    !-----------------------------------------------------------------------
+    !   Declarations:
+    !   -------------
+    
+    ! arguments:
+    ! ----------
+
+    REAL, INTENT(IN) :: pls
+    REAL, INTENT(OUT) :: pdist_sol,pdecli
+    
+    !-----------------------------------------------------------------------
+    
+    ! Distance Sun-Planet
+    
+    pdist_sol=p_elips/(1.+e_elips*cos(pls+timeperi))
+    
+    ! Solar declination
+    
+    pdecli= asin (sin(pls)*sin(obliquit*pi/180.))
+    
+  END SUBROUTINE orbite
+
 END MODULE astronomy
 
