Index: LMDZ5/trunk/libf/dyn3dpar/fxhyp.F
===================================================================
--- LMDZ5/trunk/libf/dyn3dpar/fxhyp.F	(revision 1671)
+++ LMDZ5/trunk/libf/dyn3dpar/fxhyp.F	(revision 1674)
@@ -48,18 +48,18 @@
 c
        REAL   dzoom
-       REAL*8 xlon(iip1),xprimm(iip1),xuv
-       REAL*8 xtild(0:nmax2)
-       REAL*8 fhyp(0:nmax2),ffdx,beta,Xprimt(0:nmax2)
-       REAL*8 Xf(0:nmax2),xxpr(0:nmax2)
-       REAL*8 xvrai(iip1),xxprim(iip1) 
-       REAL*8 pi,depi,epsilon,xzoom,fa,fb
-       REAL*8 Xf1, Xfi , a0,a1,a2,a3,xi2
+       REAL(KIND=8) xlon(iip1),xprimm(iip1),xuv
+       REAL(KIND=8) xtild(0:nmax2)
+       REAL(KIND=8) fhyp(0:nmax2),ffdx,beta,Xprimt(0:nmax2)
+       REAL(KIND=8) Xf(0:nmax2),xxpr(0:nmax2)
+       REAL(KIND=8) xvrai(iip1),xxprim(iip1) 
+       REAL(KIND=8) pi,depi,epsilon,xzoom,fa,fb
+       REAL(KIND=8) Xf1, Xfi , a0,a1,a2,a3,xi2
        INTEGER i,it,ik,iter,ii,idif,ii1,ii2
-       REAL*8 xi,xo1,xmoy,xlon2,fxm,Xprimin
-       REAL*8 champmin,champmax,decalx
+       REAL(KIND=8) xi,xo1,xmoy,xlon2,fxm,Xprimin
+       REAL(KIND=8) champmin,champmax,decalx
        INTEGER is2
        SAVE is2
 
-       REAL*8 heavyside
+       REAL(KIND=8) heavyside
 
        pi       = 2. * ASIN(1.)
@@ -68,4 +68,27 @@
        xzoom    = xzoomdeg * pi/180. 
 c
+       if (iim==1) then
+
+          print*,'Longitudes calculees a la main pour iim=1'
+
+          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 +309,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/dyn3dpar/groupe_p.F
===================================================================
--- LMDZ5/trunk/libf/dyn3dpar/groupe_p.F	(revision 1671)
+++ LMDZ5/trunk/libf/dyn3dpar/groupe_p.F	(revision 1674)
@@ -37,13 +37,21 @@
       integer i,j,l
 
-      logical firstcall
-      save firstcall
-c$OMP THREADPRIVATE(firstcall)
+      logical firstcall,groupe_ok
+      save firstcall,groupe_ok
+c$OMP THREADPRIVATE(firstcall,groupe_ok)
 
       data firstcall/.true./
+      data groupe_ok/.true./
+
       integer ijb,ije,jjb,jje
       
+      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
@@ -66,5 +74,7 @@
 c$OMP END DO NOWAIT
 
-      call groupeun_p(jjp1,llm,jjb,jje,zconvmm)
+      if (groupe_ok) then
+         call groupeun_p(jjp1,llm,jjb,jje,zconvmm)
+      endif
       
       jjb=jj_begin-1
@@ -78,5 +88,7 @@
 c$OMP END DO NOWAIT
 
-      call groupeun_p(jjm,llm,jjb,jje,pbarvm)
+      if (groupe_ok) then
+         call groupeun_p(jjm,llm,jjb,jje,pbarvm)
+      endif
 
 c   Champs 3D
@@ -101,4 +113,5 @@
       enddo
 c$OMP END DO NOWAIT
+
 c    integration de la convergence de masse de haut  en bas ......
    
Index: LMDZ5/trunk/libf/dyn3dpar/paramet.h
===================================================================
--- LMDZ5/trunk/libf/dyn3dpar/paramet.h	(revision 1671)
+++ LMDZ5/trunk/libf/dyn3dpar/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 )
