Index: LMDZ5/trunk/libf/phy1d/lmdz1d.F
===================================================================
--- LMDZ5/trunk/libf/phy1d/lmdz1d.F	(revision 1648)
+++ LMDZ5/trunk/libf/phy1d/lmdz1d.F	(revision 1649)
@@ -273,4 +273,5 @@
       elseif (forcing_type .eq.61) THEN
        forcing_armcu = .true.
+       IF(llm.NE.19.AND.llm.NE.40) stop 'Erreur nombre de niveaux !!'
       else
        write (*,*) 'ERROR : unknown forcing_type ', forcing_type
@@ -399,7 +400,16 @@
       rho(1)=psurf/(rd*tsurf*(1.+(rv/rd-1.)*qsurf)) 
 
-      ok_flux_surf=.false.
-      fsens=-wtsurf*rcpd*rho(1)
-      flat=-wqsurf*rlvtt*rho(1)
+!
+!! mpl et jyg le 22/08/2012 : 
+!!  pour que les cas a flux de surface imposes marchent
+      IF(.NOT.ok_flux_surf) THEN
+       fsens=-wtsurf*rcpd*rho(1)
+       flat=-wqsurf*rlvtt*rho(1)
+       print *,'Flux: ok_flux wtsurf wqsurf',ok_flux_surf,wtsurf,wqsurf
+      ENDIF
+!!      ok_flux_surf=.false.
+!!      fsens=-wtsurf*rcpd*rho(1)
+!!      flat=-wqsurf*rlvtt*rho(1)
+!!!!
 
 ! Vertical discretization and pressure levels at half and mid levels:
Index: LMDZ5/trunk/libf/phylmd/wake.F
===================================================================
--- LMDZ5/trunk/libf/phylmd/wake.F	(revision 1648)
+++ LMDZ5/trunk/libf/phylmd/wake.F	(revision 1649)
@@ -561,7 +561,8 @@
       ENDDO
 
-c      On evite kupper = 1
+c      On evite kupper = 1 et kupper = klev
       DO i=1,klon
         kupper(i) = max(kupper(i),2)
+        kupper(i) = min(kupper(i),klev-1)
       ENDDO
 
