Index: LMDZ5/trunk/libf/dyn3d/fxhyp.F
===================================================================
--- LMDZ5/trunk/libf/dyn3d/fxhyp.F	(revision 1671)
+++ LMDZ5/trunk/libf/dyn3d/fxhyp.F	(revision 1674)
@@ -68,4 +68,25 @@
        xzoom    = xzoomdeg * pi/180. 
 c
+       if (iim==1) then
+
+          rlonm025(1)=-pi/2.
+          rlonv(1)=0.
+          rlonu(1)=pi
+          rlonp025(1)=pi/2.
+          rlonm025(2)=rlonm025(1)+depi
+          rlonv(2)=rlonv(1)+depi
+          rlonu(2)=rlonu(1)+depi
+          rlonp025(2)=rlonp025(1)+depi
+
+          xprimm025(:)=1.
+          xprimv(:)=1.
+          xprimu(:)=1.
+          xprimp025(:)=1.
+          champmin=depi
+          champmax=depi
+          return
+
+       endif
+
            decalx   = .75
        IF( grossism.EQ.1..AND.scal180 )  THEN
@@ -286,8 +307,10 @@
 
 
+
        IF(ik.EQ.1.and.grossism.EQ.1.)  THEN
          xvrai(1)    = xvrai(iip1)-depi
          xxprim(1)   = xxprim(iip1)
        ENDIF
+
        DO i = 1 , iim
         xlon(i)     = xvrai(i)
Index: LMDZ5/trunk/libf/dyn3d/groupe.F
===================================================================
--- LMDZ5/trunk/libf/dyn3d/groupe.F	(revision 1671)
+++ LMDZ5/trunk/libf/dyn3d/groupe.F	(revision 1674)
@@ -38,13 +38,21 @@
       integer i,j,l
 
-      logical firstcall
-      save firstcall
+      logical firstcall,groupe_ok
+      save firstcall,groupe_ok
 
       data firstcall/.true./
+      data groupe_ok/.true./
+
+      if (iim==1) then
+         groupe_ok=.false.
+      endif
 
       if (firstcall) then
-         if(mod(iim,2**ngroup).ne.0) stop'probleme du nombre ede point'
+         if (groupe_ok) then
+           if(mod(iim,2**ngroup).ne.0) stop'probleme du nombre de point'
+         endif
          firstcall=.false.
       endif
+
 
 c   Champs 1D
@@ -52,14 +60,12 @@
       call convflu(pbaru,pbarv,llm,zconvm)
 
-c
       call scopy(ijp1llm,zconvm,1,zconvmm,1)
       call scopy(ijmllm,pbarv,1,pbarvm,1)
 
-c
+      if (groupe_ok) then
       call groupeun(jjp1,llm,zconvmm)
       call groupeun(jjm,llm,pbarvm)
 
 c   Champs 3D
-
       do l=1,llm
          do j=2,jjm
@@ -74,4 +80,9 @@
          enddo
       enddo
+
+      else
+         pbarum(:,:,:)=pbaru(:,:,:)
+         pbarvm(:,:,:)=pbarv(:,:,:)
+      endif
 
 c    integration de la convergence de masse de haut  en bas ......
Index: LMDZ5/trunk/libf/dyn3d/paramet.h
===================================================================
--- LMDZ5/trunk/libf/dyn3d/paramet.h	(revision 1671)
+++ LMDZ5/trunk/libf/dyn3d/paramet.h	(revision 1674)
@@ -17,5 +17,5 @@
       INTEGER jcfil,jcfllm
 
-      PARAMETER( iip1= iim+1-1/iim,iip2=iim+2,iip3=iim+3                &
+      PARAMETER( iip1= iim+1,iip2=iim+2,iip3=iim+3                       &
      &    ,jjp1=jjm+1-1/jjm)
       PARAMETER( llmp1 = llm+1,  llmp2 = llm+2, llmm1 = llm-1 )
