Index: LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3d/iniacademic.F90
===================================================================
--- LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3d/iniacademic.F90	(revision 1473)
+++ LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3d/iniacademic.F90	(revision 1474)
@@ -16,4 +16,6 @@
 
   !   Author:    Frederic Hourdin      original: 15/01/93
+  ! The forcing defined here is from Held and Suarez, 1994, Bulletin
+  ! of the American Meteorological Society, 75, 1825.
 
   IMPLICIT NONE
@@ -54,5 +56,6 @@
   REAL pkf(ip1jmp1,llm)                  ! exner filt.au milieu des couches
   REAL phi(ip1jmp1,llm)                  ! geopotentiel
-  REAL ddsin,tetastrat,zsig,tetapv,w_pv  ! variables auxiliaires
+  REAL ddsin,zsig,tetapv,w_pv  ! variables auxiliaires
+  real tetastrat ! potential temperature in the stratosphere, in K
   real tetajl(jjp1,llm)
   INTEGER i,j,l,lsup,ij
Index: LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3d/ugeostr.F
===================================================================
--- LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3d/ugeostr.F	(revision 1473)
+++ 	(revision )
@@ -1,69 +1,0 @@
-!
-! $Id$
-!
-      subroutine ugeostr(phi,ucov)
-
-
-c  Calcul du vent covariant geostrophique a partir du champs de
-c  geopotentiel en supposant que le vent au sol est nul.
-
-      implicit none
-
-#include "dimensions.h"
-#include "paramet.h"
-#include "comconst.h"
-#include "comgeom2.h"
-
-      real ucov(iip1,jjp1,llm),phi(iip1,jjp1,llm)
-      real um(jjm,llm),fact,u(iip1,jjm,llm)
-      integer i,j,l
-
-      real zlat
-
-      um(:,:)=0 ! initialize um()
-
-      DO j=1,jjm
-
-         if (abs(sin(rlatv(j))).lt.1.e-4) then
-             zlat=1.e-4
-         else
-             zlat=rlatv(j)
-         endif
-         fact=cos(zlat)
-         fact=fact*fact
-         fact=fact*fact
-         fact=fact*fact
-         fact=(1.-fact)/
-     s    (2.*omeg*sin(zlat)*(rlatu(j+1)-rlatu(j)))
-         fact=-fact/rad
-         DO l=1,llm
-            DO i=1,iim
-               u(i,j,l)=fact*(phi(i,j+1,l)-phi(i,j,l))
-               um(j,l)=um(j,l)+u(i,j,l)/REAL(iim)
-            ENDDO
-         ENDDO
-      ENDDO
-      call dump2d(jjm,llm,um,'Vent-u geostrophique')
-
-c
-c-----------------------------------------------------------------------
-c   calcul des champ de vent:
-c   -------------------------
-
-      DO 301 l=1,llm
-         DO 302 i=1,iip1
-            ucov(i,1,l)=0.
-            ucov(i,jjp1,l)=0.
-302      CONTINUE
-         DO 304 j=2,jjm
-            DO 305 i=1,iim
-               ucov(i,j,l) = 0.5*(u(i,j,l)+u(i,j-1,l))*cu(i,j)
-305         CONTINUE
-            ucov(iip1,j,l)=ucov(1,j,l)
-304      CONTINUE
-301   CONTINUE
-
-      print*,301
-
-      return
-      end
Index: LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3d/ugeostr.F90
===================================================================
--- LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3d/ugeostr.F90	(revision 1474)
+++ LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3d/ugeostr.F90	(revision 1474)
@@ -0,0 +1,68 @@
+!
+! $Id$
+!
+subroutine ugeostr(phi,ucov)
+
+  ! Calcul du vent covariant geostrophique a partir du champ de
+  ! geopotentiel.
+  ! We actually compute: (1 - cos^8 \phi) u_g
+  ! to have a wind going smoothly to 0 at the equator.
+  ! We assume that the surface pressure is uniform so that model
+  ! levels are pressure levels.
+
+  implicit none
+
+  include "dimensions.h"
+  include "paramet.h"
+  include "comconst.h"
+  include "comgeom2.h"
+
+  real ucov(iip1,jjp1,llm),phi(iip1,jjp1,llm)
+  real um(jjm,llm),fact,u(iip1,jjm,llm)
+  integer i,j,l
+
+  real zlat
+
+  um(:,:)=0 ! initialize um()
+
+  DO j=1,jjm
+
+     if (abs(sin(rlatv(j))).lt.1.e-4) then
+        zlat=1.e-4
+     else
+        zlat=rlatv(j)
+     endif
+     fact=cos(zlat)
+     fact=fact*fact
+     fact=fact*fact
+     fact=fact*fact
+     fact=(1.-fact)/ &
+          (2.*omeg*sin(zlat)*(rlatu(j+1)-rlatu(j)))
+     fact=-fact/rad
+     DO l=1,llm
+        DO i=1,iim
+           u(i,j,l)=fact*(phi(i,j+1,l)-phi(i,j,l))
+           um(j,l)=um(j,l)+u(i,j,l)/REAL(iim)
+        ENDDO
+     ENDDO
+  ENDDO
+  call dump2d(jjm,llm,um,'Vent-u geostrophique')
+
+  !   calcul des champ de vent:
+
+  DO l=1,llm
+     DO i=1,iip1
+        ucov(i,1,l)=0.
+        ucov(i,jjp1,l)=0.
+     end DO
+     DO  j=2,jjm
+        DO  i=1,iim
+           ucov(i,j,l) = 0.5*(u(i,j,l)+u(i,j-1,l))*cu(i,j)
+        end DO
+        ucov(iip1,j,l)=ucov(1,j,l)
+     end DO
+  end DO
+
+  print *, 301
+
+end subroutine ugeostr
Index: LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3dpar/iniacademic.F90
===================================================================
--- LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3dpar/iniacademic.F90	(revision 1473)
+++ LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3dpar/iniacademic.F90	(revision 1474)
@@ -16,4 +16,6 @@
 
   !   Author:    Frederic Hourdin      original: 15/01/93
+  ! The forcing defined here is from Held and Suarez, 1994, Bulletin
+  ! of the American Meteorological Society, 75, 1825.
 
   IMPLICIT NONE
@@ -54,5 +56,6 @@
   REAL pkf(ip1jmp1,llm)                  ! exner filt.au milieu des couches
   REAL phi(ip1jmp1,llm)                  ! geopotentiel
-  REAL ddsin,tetastrat,zsig,tetapv,w_pv  ! variables auxiliaires
+  REAL ddsin,zsig,tetapv,w_pv  ! variables auxiliaires
+  real tetastrat ! potential temperature in the stratosphere, in K
   real tetajl(jjp1,llm)
   INTEGER i,j,l,lsup,ij
Index: LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3dpar/ugeostr.F
===================================================================
--- LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3dpar/ugeostr.F	(revision 1473)
+++ 	(revision )
@@ -1,69 +1,0 @@
-!
-! $Id$
-!
-      subroutine ugeostr(phi,ucov)
-
-
-c  Calcul du vent covariant geostrophique a partir du champs de
-c  geopotentiel en supposant que le vent au sol est nul.
-
-      implicit none
-
-#include "dimensions.h"
-#include "paramet.h"
-#include "comconst.h"
-#include "comgeom2.h"
-
-      real ucov(iip1,jjp1,llm),phi(iip1,jjp1,llm)
-      real um(jjm,llm),fact,u(iip1,jjm,llm)
-      integer i,j,l
-
-      real zlat
-
-      um(:,:)=0 ! initialize um()
-
-      DO j=1,jjm
-
-         if (abs(sin(rlatv(j))).lt.1.e-4) then
-             zlat=1.e-4
-         else
-             zlat=rlatv(j)
-         endif
-         fact=cos(zlat)
-         fact=fact*fact
-         fact=fact*fact
-         fact=fact*fact
-         fact=(1.-fact)/
-     s    (2.*omeg*sin(zlat)*(rlatu(j+1)-rlatu(j)))
-         fact=-fact/rad
-         DO l=1,llm
-            DO i=1,iim
-               u(i,j,l)=fact*(phi(i,j+1,l)-phi(i,j,l))
-               um(j,l)=um(j,l)+u(i,j,l)/REAL(iim)
-            ENDDO
-         ENDDO
-      ENDDO
-      call dump2d(jjm,llm,um,'Vent-u geostrophique')
-
-c
-c-----------------------------------------------------------------------
-c   calcul des champ de vent:
-c   -------------------------
-
-      DO 301 l=1,llm
-         DO 302 i=1,iip1
-            ucov(i,1,l)=0.
-            ucov(i,jjp1,l)=0.
-302      CONTINUE
-         DO 304 j=2,jjm
-            DO 305 i=1,iim
-               ucov(i,j,l) = 0.5*(u(i,j,l)+u(i,j-1,l))*cu(i,j)
-305         CONTINUE
-            ucov(iip1,j,l)=ucov(1,j,l)
-304      CONTINUE
-301   CONTINUE
-
-      print*,301
-
-      return
-      end
Index: LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3dpar/ugeostr.F90
===================================================================
--- LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3dpar/ugeostr.F90	(revision 1474)
+++ LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3dpar/ugeostr.F90	(revision 1474)
@@ -0,0 +1,68 @@
+!
+! $Id$
+!
+subroutine ugeostr(phi,ucov)
+
+  ! Calcul du vent covariant geostrophique a partir du champ de
+  ! geopotentiel.
+  ! We actually compute: (1 - cos^8 \phi) u_g
+  ! to have a wind going smoothly to 0 at the equator.
+  ! We assume that the surface pressure is uniform so that model
+  ! levels are pressure levels.
+
+  implicit none
+
+  include "dimensions.h"
+  include "paramet.h"
+  include "comconst.h"
+  include "comgeom2.h"
+
+  real ucov(iip1,jjp1,llm),phi(iip1,jjp1,llm)
+  real um(jjm,llm),fact,u(iip1,jjm,llm)
+  integer i,j,l
+
+  real zlat
+
+  um(:,:)=0 ! initialize um()
+
+  DO j=1,jjm
+
+     if (abs(sin(rlatv(j))).lt.1.e-4) then
+        zlat=1.e-4
+     else
+        zlat=rlatv(j)
+     endif
+     fact=cos(zlat)
+     fact=fact*fact
+     fact=fact*fact
+     fact=fact*fact
+     fact=(1.-fact)/ &
+          (2.*omeg*sin(zlat)*(rlatu(j+1)-rlatu(j)))
+     fact=-fact/rad
+     DO l=1,llm
+        DO i=1,iim
+           u(i,j,l)=fact*(phi(i,j+1,l)-phi(i,j,l))
+           um(j,l)=um(j,l)+u(i,j,l)/REAL(iim)
+        ENDDO
+     ENDDO
+  ENDDO
+  call dump2d(jjm,llm,um,'Vent-u geostrophique')
+
+  !   calcul des champ de vent:
+
+  DO l=1,llm
+     DO i=1,iip1
+        ucov(i,1,l)=0.
+        ucov(i,jjp1,l)=0.
+     end DO
+     DO  j=2,jjm
+        DO  i=1,iim
+           ucov(i,j,l) = 0.5*(u(i,j,l)+u(i,j-1,l))*cu(i,j)
+        end DO
+        ucov(iip1,j,l)=ucov(1,j,l)
+     end DO
+  end DO
+
+  print *, 301
+
+end subroutine ugeostr
