Index: LMDZ.3.3/branches/rel-LF/libf/phylmd/interface_surf.F90
===================================================================
--- LMDZ.3.3/branches/rel-LF/libf/phylmd/interface_surf.F90	(revision 538)
+++ LMDZ.3.3/branches/rel-LF/libf/phylmd/interface_surf.F90	(revision 544)
@@ -1258,8 +1258,11 @@
 !   alb_ice      albedo de la glace
 !
-
+#ifdef CPP_PSMILE  
+  USE oasis
+#endif
 
 ! Parametres d'entree
   integer, intent(IN) :: itime
+  integer :: il_time_secs                !time in seconds
   integer, intent(IN) :: iim, jjm
   real, intent(IN) :: dtime
@@ -1402,6 +1405,11 @@
 !
     idtime = int(dtime)
-    call inicma(npas , nexca, idtime,(jjm+1)*iim)
-
+#ifdef CPP_COUPLE
+#ifdef CPP_PSMILE
+   CALL inicma(iim, (jjm+1))
+#else
+   call inicma(npas , nexca, idtime,(jjm+1)*iim)
+#endif
+#endif
 !
 ! initialisation sorties netcdf
@@ -1507,6 +1515,14 @@
     if (nisurf == is_oce .and. .not. cumul) then
       if (check) write(*,*)'rentree fromcpl, itime-1 = ',itime-1
+#ifdef CPP_COUPLE
+#ifdef CPP_PSMILE
+      il_time_secs=(itime-1)*dtime
+      CALL fromcpl(il_time_secs, iim, (jjm+1),                           &
+     &        read_sst, read_sic, read_sit, read_alb_sic)
+#else
       call fromcpl(itime-1,(jjm+1)*iim,                                  &
      &        read_sst, read_sic, read_sit, read_alb_sic)
+#endif
+#endif
 !
 ! sorties NETCDF des champs recus
@@ -1707,8 +1723,19 @@
       CALL histsync(nidct)
 ! pas utile      IF (lafin) CALL histclo(nidct)
+#ifdef CPP_COUPLE
+#ifdef CPP_PSMILE
+      il_time_secs=(itime-1)*dtime
+
+      CALL intocpl(il_time_secs, iim, jjm+1, wri_sol_ice, wri_sol_sea, wri_nsol_ice,&
+      & wri_nsol_sea, wri_fder_ice, wri_evap_ice, wri_evap_sea, wri_rain, &
+      & wri_snow, wri_rcoa, wri_rriv, wri_calv, wri_tauxx, wri_tauyy,     &
+      & wri_tauzz, wri_tauxx, wri_tauyy, wri_tauzz,lafin )
+#else
       call intocpl(itime, (jjm+1)*iim, wri_sol_ice, wri_sol_sea, wri_nsol_ice,&
       & wri_nsol_sea, wri_fder_ice, wri_evap_ice, wri_evap_sea, wri_rain, &
       & wri_snow, wri_rcoa, wri_rriv, wri_calv, wri_tauxx, wri_tauyy,     &
       & wri_tauzz, wri_tauxx, wri_tauyy, wri_tauzz,lafin )
+#endif
+#endif
 ! 
       cpl_sols = 0.; cpl_nsol = 0.; cpl_rain = 0.; cpl_snow = 0.
Index: LMDZ.3.3/branches/rel-LF/libf/phylmd/oasis.psmile
===================================================================
--- LMDZ.3.3/branches/rel-LF/libf/phylmd/oasis.psmile	(revision 538)
+++ LMDZ.3.3/branches/rel-LF/libf/phylmd/oasis.psmile	(revision 544)
@@ -20,8 +20,8 @@
    integer, dimension(jpfldo2a), save              :: in_var_id
    integer, dimension(jpflda2o1+jpflda2o2), save  :: il_out_var_id
-   CHARACTER (len=8), dimension(jpmaxfld), save   :: cl_writ, cl_read
+   CHARACTER (len=8), dimension(jpmaxfld), public, save   :: cl_writ, cl_read
    CHARACTER (len=8), dimension(jpmaxfld), save   :: cl_f_writ, cl_f_read
 
-CONTAINS
+	CONTAINS
 
 !****
@@ -58,9 +58,9 @@
 !
    integer                                  :: comp_id
-   integer                                  :: ierror
+   integer                                  :: ierror, il_commlocal
    integer                                  :: il_part_id
    integer, dimension(:), allocatable       :: ig_paral
-   integer, dimension(jpfldo2a)             :: in_var_id
-   integer, dimension(jpflda2o1+jpflda2o2)  :: il_out_var_id
+!   integer, dimension(jpfldo2a)             :: in_var_id
+!   integer, dimension(jpflda2o1+jpflda2o2)  :: il_out_var_id
    integer, dimension(2)                    :: il_var_nodims
    integer, dimension(4)                    :: il_var_actual_shape
@@ -103,4 +103,7 @@
    ENDIF
 
+! PSMILe attribution of local communicator
+!
+   call prism_get_localcomm_proto (il_commlocal, ierror)
 !
 ! and domain decomposition
@@ -108,9 +111,14 @@
 ! monoproc case
 !
-   allocate(ig_paral(3))
-   ig_paral(1) = 0
-   ig_paral(2) = 0
-   ig_paral(3) = im * jm
-
+!   allocate(ig_paral(3))
+!   ig_paral(1) = 0
+!   ig_paral(2) = 0
+!   ig_paral(3) = im * jm
+   allocate(ig_paral(5))
+   ig_paral (1) = 2
+   ig_paral (2) = 0
+   ig_paral (3) = im
+   ig_paral (4) = jm
+   ig_paral (5) = im
    call prism_def_partition_proto (il_part_id, ig_paral, ierror)
    deallocate(ig_paral)
@@ -238,5 +246,8 @@
 
    call prism_get_proto(in_var_id(1), kt, sst, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Recvd .and. &
+ &     ierror.ne.PRISM_FromRest &
+ &     .and. ierror.ne.PRISM_Input .and. ierror.ne.PRISM_RecvOut &
+ &     .and. ierror.ne.PRISM_FromRestOut ) THEN
      WRITE (nuout,*)  cl_read(1), kt   
      abort_message=' Probleme dans prism_get_proto '
@@ -244,5 +255,8 @@
    endif
    call prism_get_proto(in_var_id(2), kt, gla, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Recvd .and. &
+ &     ierror.ne.PRISM_FromRest &
+ &     .and. ierror.ne.PRISM_Input .and. ierror.ne.PRISM_RecvOut &
+ &     .and. ierror.ne.PRISM_FromRestOut ) THEN
      WRITE (nuout,*)  cl_read(2), kt   
      abort_message=' Probleme dans prism_get_proto '
@@ -250,5 +264,8 @@
    endif
    call prism_get_proto(in_var_id(3), kt, albedo, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Recvd .and. &
+ &     ierror.ne.PRISM_FromRest &
+ &     .and. ierror.ne.PRISM_Input .and. ierror.ne.PRISM_RecvOut &
+ &     .and. ierror.ne.PRISM_FromRestOut ) THEN
      WRITE (nuout,*)  cl_read(3), kt   
      abort_message=' Probleme dans prism_get_proto '
@@ -256,5 +273,8 @@
    endif
    call prism_get_proto(in_var_id(4), kt, tice, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Recvd .and. &
+ &     ierror.ne.PRISM_FromRest &
+ &     .and. ierror.ne.PRISM_Input .and. ierror.ne.PRISM_RecvOut &
+ &     .and. ierror.ne.PRISM_FromRestOut ) THEN
      WRITE (nuout,*)  cl_read(4), kt   
      abort_message=' Probleme dans prism_get_proto '
@@ -306,5 +326,7 @@
 
    call prism_put_proto(il_out_var_id(1), kt, fsolice, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(1), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -312,5 +334,7 @@
    endif
    call prism_put_proto(il_out_var_id(2), kt, fsolwat, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(2), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -318,5 +342,7 @@
    endif
    call prism_put_proto(il_out_var_id(3), kt, fnsolice, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(3), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -324,5 +350,7 @@
    endif
    call prism_put_proto(il_out_var_id(4), kt, fnsolwat, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(4), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -330,5 +358,7 @@
    endif
    call prism_put_proto(il_out_var_id(5), kt, fnsicedt, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(5), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -336,5 +366,7 @@
    endif
    call prism_put_proto(il_out_var_id(6), kt, evice, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(6), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -342,5 +374,7 @@
    endif
    call prism_put_proto(il_out_var_id(7), kt, evwat, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(7), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -348,5 +382,7 @@
    endif
    call prism_put_proto(il_out_var_id(8), kt, lpre, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(8), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -354,5 +390,7 @@
    endif
    call prism_put_proto(il_out_var_id(9), kt, spre, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(9), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -360,5 +398,7 @@
    endif
    call prism_put_proto(il_out_var_id(10), kt, dirunoff, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(10), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -366,5 +406,7 @@
    endif
    call prism_put_proto(il_out_var_id(11), kt, rivrunoff, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(11), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -372,5 +414,7 @@
    endif
    call prism_put_proto(il_out_var_id(12), kt, calving, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(12), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -378,5 +422,7 @@
    endif
    call prism_put_proto(il_out_var_id(13), kt, tauxx_u, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(13), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -384,5 +430,7 @@
    endif
    call prism_put_proto(il_out_var_id(14), kt, tauyy_u, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(14), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -390,5 +438,7 @@
    endif
    call prism_put_proto(il_out_var_id(15), kt, tauzz_u, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(15), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -396,5 +446,7 @@
    endif
    call prism_put_proto(il_out_var_id(16), kt, tauxx_v, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(16), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -402,5 +454,7 @@
    endif
    call prism_put_proto(il_out_var_id(17), kt, tauyy_v, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(17), kt   
      abort_message=' Probleme dans prism_put_proto '
@@ -408,5 +462,7 @@
    endif
    call prism_put_proto(il_out_var_id(18), kt, tauzz_v, ierror)
-   IF (ierror .ne. PRISM_Ok) THEN
+   IF (ierror .ne. PRISM_Ok .and. ierror.ne.PRISM_Sent .and. ierror.ne.PRISM_ToRest &
+ &     .and. ierror.ne.PRISM_LocTrans .and. ierror.ne.PRISM_Output .and. &
+ &     ierror.ne.PRISM_SentOut .and. ierror.ne.PRISM_ToRestOut ) THEN
      WRITE (nuout,*)  cl_writ(18), kt   
      abort_message=' Probleme dans prism_put_proto '
Index: LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F
===================================================================
--- LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F	(revision 538)
+++ LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F	(revision 544)
@@ -85,5 +85,4 @@
 c      PARAMETER (npas=1440)
 c      PARAMETER (nexca=48)
-      EXTERNAL fromcpl, intocpl, inicma
 c      ocean = type de modele ocean a utiliser: force, slab, couple
       character*6 ocean
Index: LMDZ.3.3/trunk/libf/dyn3d/bilan_dyn.F
===================================================================
--- LMDZ.3.3/trunk/libf/dyn3d/bilan_dyn.F	(revision 538)
+++ LMDZ.3.3/trunk/libf/dyn3d/bilan_dyn.F	(revision 544)
@@ -110,4 +110,7 @@
       character*10 znom(ntr,nQ)
       character*20 znoml(ntr,nQ)
+cvg>>
+      save znom, nom
+cvg<<
       character*10 zunites(ntr,nQ)
       integer iave,itot,immc,itrs,istn
Index: LMDZ.3.3/trunk/libf/dyn3d/fxyhyper.F
===================================================================
--- LMDZ.3.3/trunk/libf/dyn3d/fxyhyper.F	(revision 538)
+++ LMDZ.3.3/trunk/libf/dyn3d/fxyhyper.F	(revision 544)
@@ -114,5 +114,9 @@
         WRITE(6,*) ' *********** '
         WRITE(6,18)
-        WRITE(6,3)  dymin, dymax
+cvg>>
+        WRITE(6,3) dymin
+        WRITE(6,4) dymax
+cvg<<
+cvg        WRITE(6,3)  dymin, dymax
         WRITE(6,*) ' Si cette derniere est trop lache , modifiez les par
      ,ametres  grossism , tau , dzoom pour Y et repasser ! '
@@ -122,13 +126,23 @@
         WRITE(6,*) ' ************ '
         WRITE(6,18)
-        WRITE(6,3)  dxmin, dxmax
+cvg>>
+        WRITE(6,3) dxmin
+        WRITE(6,4) dxmax
+cvg<<
+cvg        WRITE(6,3)  dxmin, dxmax
         WRITE(6,*) ' Si cette derniere est trop lache , modifiez les par
      ,ametres  grossism , tau , dzoom pour Y et repasser ! '
         WRITE(6,18)
 c
+cvg3      Format(1x, ' Au centre du zoom , la longueur de la maille est',
+cvg     ,  ' d environ ',f8.2 ,' degres  ',
+cvg     , ' alors que la maille en dehors de la zone du zoom est d environ
+cvg     , ', f8.2,' degres ' )
+cvg>>
 3      Format(1x, ' Au centre du zoom , la longueur de la maille est',
-     ,  ' d environ ',f8.2 ,' degres  ',
-     , ' alors que la maille en dehors de la zone du zoom est d environ
-     , ', f8.2,' degres ' )
+     ,  ' d environ ',f8.2 ,' degres  ')
+4      Format(1x, ' alors que la maille en dehors de la zone du zoom',
+     ,  ' est d environ ', f8.2,' degres ' )
+cvg<<
 18      FORMAT(/)
 
Index: LMDZ.3.3/trunk/libf/phylmd/inc_cpl.h
===================================================================
--- LMDZ.3.3/trunk/libf/phylmd/inc_cpl.h	(revision 538)
+++ LMDZ.3.3/trunk/libf/phylmd/inc_cpl.h	(revision 544)
@@ -1,16 +1,23 @@
-C
-C -- inc_cpl.h  
-C    **********
-C@
-C@  Contents : variables describing field restart file names 
-C@  --------
-C@
-C@ -- cl_write/cl_read  : for fields to write/READ
-C@ -- cl_f_write/cl_f_read  : for fields to write/read
-C@
-C     -------------------------------------------------------------------
-C
+!
+! $Header$
+!
+! -- inc_cpl.h   1998-04
+!    **********
+!@
+!@  Contents : variables describing pipe and field names
+!@  --------
+!@
+!@ -- cl_write  : for fields to write
+!@
+!@ -- cl_read  : for fields to read
+!@
+!     -------------------------------------------------------------------
+!
+      INTEGER jpread, jpwrit
+      PARAMETER (jpread=0, jpwrit=1)
+      CHARACTER*8 cl_f_writ(jpmaxfld), cl_f_read(jpmaxfld)
+#ifndef CPP_PSMILE
       CHARACTER*8 cl_writ(jpmaxfld), cl_read(jpmaxfld)
-      CHARACTER*8 cl_f_writ(jpmaxfld), cl_f_read(jpmaxfld)
       COMMON / comcpl / cl_writ, cl_read, cl_f_writ, cl_f_read
-C     -------------------------------------------------------------------
+#endif
+!     -------------------------------------------------------------------
