Index: LMDZ.3.3/trunk/libf/dyn3d/conf_dat2d.F
===================================================================
--- LMDZ.3.3/trunk/libf/dyn3d/conf_dat2d.F	(revision 259)
+++ LMDZ.3.3/trunk/libf/dyn3d/conf_dat2d.F	(revision 269)
@@ -45,4 +45,5 @@
       ALLOCATE( xtemp(lons) )
       ALLOCATE( ytemp(lats) )
+      ALLOCATE( champf(lons,lats) )
 
       DO i = 1, lons
@@ -108,6 +109,9 @@
         IF ( invlon )   THEN
 
-           ALLOCATE(champf(lons,lats))
-           alloc = .TRUE.
+           DO j = 1, lats
+            DO i = 1,lons
+             champf(i,j) = champd(i,j)
+            ENDDO
+           ENDDO
 
            DO i = 1 ,lons
@@ -164,9 +168,4 @@
          IF ( invlat )    THEN
 
-           IF(.NOT.alloc)  THEN
-            ALLOCATE(champf(lons,lats))
-            alloc = .TRUE.
-           ENDIF
-
            DO j = 1,lats
             yf(j) = ytemp(j)
@@ -205,5 +204,5 @@
       ENDIF
 c
-       IF(alloc) DEALLOCATE(champf)
+        DEALLOCATE(champf)
 
        DO i = 1, lons
Index: LMDZ.3.3/trunk/libf/dyn3d/create_etat0_limit.F
===================================================================
--- LMDZ.3.3/trunk/libf/dyn3d/create_etat0_limit.F	(revision 259)
+++ LMDZ.3.3/trunk/libf/dyn3d/create_etat0_limit.F	(revision 269)
@@ -1,5 +1,2 @@
-C
-C $Header$
-C
        PROGRAM create_etat0_limit
 c
@@ -23,5 +20,13 @@
       CALL etat0_netcdf ( interbar )
 c
+      WRITE(6,1)
+      WRITE(6,*) '  *********************  '
+      WRITE(6,*) '  ***  Limit_netcdf ***  '
+      WRITE(6,*) '  *********************  '
+      WRITE(6,1)
+c
       CALL  limit_netcdf ( interbar, extrap , oldice )
+
+1     FORMAT(//)
 
       STOP
Index: LMDZ.3.3/trunk/libf/dyn3d/inter_barx.F
===================================================================
--- LMDZ.3.3/trunk/libf/dyn3d/inter_barx.F	(revision 259)
+++ LMDZ.3.3/trunk/libf/dyn3d/inter_barx.F	(revision 269)
@@ -1,5 +1,2 @@
-C
-C $Header$
-C
        SUBROUTINE inter_barx ( idatmax,xidat,fdat,imodmax,ximod,fmod ) 
 
@@ -24,25 +21,15 @@
       INTEGER idatmax, imodmax
       REAL xidat(idatmax),fdat(idatmax),ximod(imodmax),fmod(imodmax)
-      INTEGER imod,idat,i,ichang,id0,id1,nid,idatmax1
+
+c    ...  Variables locales ... 
+    
+      REAL xxid(idatmax+1), xxd(idatmax+1), fdd(idatmax+1)
+      REAL  fxd(idatmax+1), xchan(idatmax+1), fdchan(idatmax+1) 
+      REAL  xxim(imodmax)
+
       REAL x0,xim0,dx,dxm
       REAL chmin,chmax,pi
 
-    
-      REAL,ALLOCATABLE :: xxid(:)
-      REAL,ALLOCATABLE :: xxd(:)
-      REAL,ALLOCATABLE :: fdd(:)
-      REAL,ALLOCATABLE :: fxd(:)
-      REAL,ALLOCATABLE :: xchan(:)
-      REAL,ALLOCATABLE :: fdchan(:)
-      REAL,ALLOCATABLE :: xxim(:)
-
-      ALLOCATE( xxid(idatmax+1))
-      ALLOCATE( xxd(idatmax+1))
-      ALLOCATE( fdd(idatmax+1))
-      ALLOCATE( fxd(idatmax+1))
-      ALLOCATE( xchan(idatmax+1))
-      ALLOCATE( fdchan(idatmax+1))
-      ALLOCATE( xxim(imodmax))
-
+      INTEGER imod,idat,i,ichang,id0,id1,nid,idatmax1
       
       pi = 2. * ASIN(1.)
Index: LMDZ.3.3/trunk/libf/dyn3d/inter_barxy.F
===================================================================
--- LMDZ.3.3/trunk/libf/dyn3d/inter_barxy.F	(revision 259)
+++ LMDZ.3.3/trunk/libf/dyn3d/inter_barxy.F	(revision 269)
@@ -1,5 +1,2 @@
-C
-C $Header$
-C
        SUBROUTINE inter_barxy ( interfd,jnterfd,dlonid,dlatid ,
      ,        champ,imod,jmod,rlonimod,rlatimod, jsort,champint )
@@ -16,17 +13,13 @@
 #include "comgeom2.h"
 
-       REAL champx(iip1),chpn(iip1),chps(iip1)
+       REAL champx(imod),champy(jnterfd +1,imod),chpn(imod),chps(imod)
        REAL chhpn,chhps
        REAL fmody(jjp1)
-       INTEGER jmp1
-    
-       REAL,ALLOCATABLE :: champy(:,:)
-       ALLOCATE(champy(jnterfd+1,iip1))
 c
 
+         print *,' NEEEEE BY ** '
        DO j = 1, jnterfd + 1
         CALL inter_barx( interfd, dlonid, champ( 1,j ),
      ,                       imod, rlonimod , champx )
-        
          DO i = 1,imod
            champy(j,i) = champx(i)
@@ -36,5 +29,5 @@
        DO i = 1, imod
         CALL inter_bary( jjm,jnterfd,dlatid,champy(1,i),
-     ,                        jmod ,rlatimod,  fmody     )
+     ,                     jmod ,rlatimod,  fmody     )
           DO j = 1, jsort
            champint(i,j) = fmody(j)
@@ -60,6 +53,4 @@
        ENDIF
 
-         DEALLOCATE(champy)
-
        RETURN
        END
Index: LMDZ.3.3/trunk/libf/dyn3d/inter_bary.F
===================================================================
--- LMDZ.3.3/trunk/libf/dyn3d/inter_bary.F	(revision 259)
+++ LMDZ.3.3/trunk/libf/dyn3d/inter_bary.F	(revision 269)
@@ -1,5 +1,2 @@
-C
-C $Header$
-C
        SUBROUTINE inter_bary( jjm, jdatmax, yjdatt, fdatt  ,
      ,                       jmodmax, yjmodd,  fmod      )
@@ -34,8 +31,8 @@
 
 c  ....  Arguments  en entree  .......
-c
+
        INTEGER jjm , jdatmax, jmodmax
-       REAL    yjdatt( 1 ) , fdatt( 1 )
-       REAL    yjmodd( 1 )     
+       REAL    yjdatt( jdatmax ) , fdatt( jdatmax +1 )
+       REAL    yjmodd( jmodmax )     
 
 c  ....  Arguments  en sortie  .......
@@ -44,19 +41,15 @@
 c
 c   ...... Variables locales  ......
+
+       INTEGER      jmods
+
+       REAL       yjdat ( jdatmax +1 ), fdat( jdatmax +1) 
+       REAL       fscrat( jdatmax +1 )
+       REAL       yjmod ( jmodmax +1 )
        LOGICAL    decrois
        SAVE       decrois
-
+c
        REAL y0,dy,dym 
        INTEGER jdat, jmod,i
-
-       INTEGER     jmods
-       REAL , ALLOCATABLE :: fdat(:)
-       REAL , ALLOCATABLE :: yjdat(:)
-       REAL , ALLOCATABLE :: yjmod(:)
-       REAL , ALLOCATABLE :: fscrat(:)
-       ALLOCATE (fdat(jdatmax+1))
-       ALLOCATE (yjdat(jdatmax+1))
-       ALLOCATE (yjmod(jmodmax))
-       ALLOCATE (fscrat(jdatmax+1))
 c
 
@@ -136,9 +129,4 @@
        ENDIF
 
-       DEALLOCATE(fdat)
-       DEALLOCATE(yjdat)
-       DEALLOCATE(yjmod)
-       DEALLOCATE(fscrat)
-
        RETURN
        END
Index: LMDZ.3.3/trunk/libf/dyn3d/ord_coord.F
===================================================================
--- LMDZ.3.3/trunk/libf/dyn3d/ord_coord.F	(revision 259)
+++ LMDZ.3.3/trunk/libf/dyn3d/ord_coord.F	(revision 269)
@@ -1,5 +1,2 @@
-C
-C $Header$
-C
        SUBROUTINE ord_coord ( nmax, xi, xo, decrois )
 
@@ -13,25 +10,17 @@
 
        INTEGER nmax
-       REAL xi(1)
-       INTEGER nscr
-       PARAMETER ( nscr = 4000 )
-       REAL xscr(nscr)
+       REAL xi(nmax)
 
 c    .....  Arguments  en sortie  .....
 c
-       REAL xo(1) 
+       REAL xo(nmax+1) 
        LOGICAL decrois
 
 c    .... Variables  locales  ....
 
+       REAL xscr(nmax)
        INTEGER i,ii
        REAL pi, degres, chmin, chmax, mult
 c
-
-       IF( nmax.GT.nscr )   THEN
-         PRINT *,' Dans ord_coord  , nmax = ',nmax, 'est plus grand que'
-     ,, ' nscr !  Mettre nscr a la valeur de nmax et repasser ! '  
-         CALL ABORT
-       ENDIF
 
        pi     = 2.*ASIN(1.)
Index: LMDZ.3.3/trunk/libf/dyn3d/ord_coordm.F
===================================================================
--- LMDZ.3.3/trunk/libf/dyn3d/ord_coordm.F	(revision 259)
+++ LMDZ.3.3/trunk/libf/dyn3d/ord_coordm.F	(revision 269)
@@ -1,5 +1,2 @@
-C
-C $Header$
-C
        SUBROUTINE ord_coordm ( nmax, xi, xo, jjm, jmods, decrois )
 
@@ -12,13 +9,10 @@
 c    .....  Arguments  en entree  .....
 
-       INTEGER nmax
-       REAL xi(1)
-       INTEGER nscr
-       PARAMETER ( nscr = 4000 )
-       REAL xscr(nscr)
+       INTEGER nmax,jjm
+       REAL xi(nmax)
 
 c    .....  Arguments  en sortie  .....
 c
-       REAL xo(1) 
+       REAL xo(nmax+1) 
        LOGICAL decrois
        INTEGER jmods
@@ -26,5 +20,6 @@
 c    .... Variables  locales  ....
 
-       INTEGER i,jjm
+       REAL xscr(nmax)
+       INTEGER i
        REAL pi, degres, chmin, chmax,mult
 c
@@ -38,10 +33,4 @@
        IF( nmax.EQ.jjm +1 ) jmods = nmax -1 
      
-       IF( nmax.GT.nscr )   THEN
-         PRINT *,' Dans ord_coord  , nmax = ',nmax, 'est plus grand que'
-     ,, ' nscr !  Mettre nscr a la valeur de nmax et repasser ! '  
-         CALL ABORT
-       ENDIF
-
        pi     = 2.*ASIN(1.)
        degres = 180./pi
