Index: LMDZ4/branches/V3_test/libf/phylmd/calcul_simulISCCP.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/calcul_simulISCCP.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/calcul_simulISCCP.h	(revision 735)
@@ -64,15 +64,20 @@
 c
       IF (debut) THEN
+c$OMP MASTER
 c     open(99,file='tautab.bin',access='sequential',
 c    $     form='unformatted',status='old')
-c     read(99) tautab
+c     read(99) tautab_omp
 c
       open(99,file='tautab.formatted', FORM='FORMATTED')
-      read(99,'(f30.20)') tautab
+      read(99,'(f30.20)') tautab_omp
       close(99)
 c
       open(99,file='invtau.formatted',form='FORMATTED')
-      read(99,'(i10)') invtau
+      read(99,'(i10)') invtau_omp
       close(99)
+c$OMP END MASTER
+c$OMP BARRIER
+      tautab=tautab_omp
+      invtau=invtau_omp
 c
       ENDIF !debut
Index: LMDZ4/branches/V3_test/libf/phylmd/conf_phys.F90
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/conf_phys.F90	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/conf_phys.F90	(revision 735)
@@ -874,5 +874,5 @@
  & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra
 
-!$OMP_END_MASTER
+!$OMP END MASTER
 
   return
Index: LMDZ4/branches/V3_test/libf/phylmd/ini_histISCCP.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/ini_histISCCP.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/ini_histISCCP.h	(revision 735)
@@ -4,4 +4,5 @@
       IF (ok_isccp) THEN
 c
+c$OMP MASTER
       ndex2d = 0
       ndex3d = 0
@@ -62,7 +63,7 @@
 c
 cIM BEG region
-cym Desole dans un premier temps le mode région ne marchera pas
+cym Desole dans un premier temps le mode region ne marchera pas
 cym Il faudra voir dans un second temps pour l'implementer
-cym Mais cela posera des problèmes au niveau de la reconstruction
+cym Mais cela posera des problemes au niveau de la reconstruction
 
           imin_ins=1
@@ -81,7 +82,7 @@
           print*,'On stoke le fichier histISCCP instantanne sur ',
      s   imin_ins,imax_ins,jmin_ins,jmax_ins
-          print*,'On stoke le fichier histISCCP instantanne sur ',
-     s   zx_lon(imin_ins,1),zx_lon(imax_ins,1),
-     s   zx_lat(1,jmin_ins),zx_lat(1,jmax_ins)
+cym          print*,'On stoke le fichier histISCCP instantanne sur ',
+cym     s   zx_lon(imin_ins,1),zx_lon(imax_ins,1),
+cym     s   zx_lat(1,jmin_ins),zx_lat(1,jmax_ins)
 cIM END region
 c
@@ -256,3 +257,4 @@
         CALL histend(nid_isccp)
 c
+c$OMP END MASTER
       ENDIF ! ok_isccp
Index: LMDZ4/branches/V3_test/libf/phylmd/ini_histday.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/ini_histday.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/ini_histday.h	(revision 735)
@@ -3,4 +3,6 @@
 c
       IF (ok_journe) THEN
+
+c$OMP MASTER
 c
        zstophy = dtime
@@ -59,5 +61,5 @@
      .                "ave(X)", zstophy,zout)
 c
-c Champs retires momentann�ment en attendant un hypothetique
+c Champs retires momentannement en attendant un hypothetique
 c debugage
 
@@ -644,3 +646,4 @@
 c
 c=================================================================
+c$OMP END MASTER
       ENDIF ! fin de test sur ok_journe
Index: LMDZ4/branches/V3_test/libf/phylmd/ini_histhf.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/ini_histhf.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/ini_histhf.h	(revision 735)
@@ -4,4 +4,5 @@
 
       IF (ok_hf) THEN
+c$OMP MASTER
 c
        zstohf = ecrit_hf
@@ -398,3 +399,4 @@
       CALL histend(nid_hf)
 c
+c$OMP END MASTER
       ENDIF ! ok_hf
Index: LMDZ4/branches/V3_test/libf/phylmd/ini_histins.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/ini_histins.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/ini_histins.h	(revision 735)
@@ -3,4 +3,5 @@
 !
       IF (ok_instan) THEN
+c$OMP MASTER
 c
           zsto = ecrit_ins
@@ -287,3 +288,5 @@
          ndex3d = 0
 c
+c$OMP END MASTER
+
       ENDIF
Index: LMDZ4/branches/V3_test/libf/phylmd/ini_histmth.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/ini_histmth.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/ini_histmth.h	(revision 735)
@@ -3,4 +3,5 @@
 c
       IF (ok_mensuel) THEN
+c$OMP MASTER
 c
        zstophy = dtime
@@ -1761,3 +1762,4 @@
          ndex3d = 0
 c
+c$OMP END MASTER
       ENDIF ! fin de test sur ok_mensuel
Index: LMDZ4/branches/V3_test/libf/phylmd/ini_histmthNMC.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/ini_histmthNMC.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/ini_histmthNMC.h	(revision 735)
@@ -4,4 +4,6 @@
       IF (ok_mensuel) THEN
 c
+c$OMP MASTER
+
        zstophy = dtime
        zstohf = ecrit_hf
@@ -179,3 +181,5 @@
          CALL histend(nid_nmc)
 c
+c$OMP END MASTER
+
       ENDIF ! fin de test sur ok_mensuel
Index: LMDZ4/branches/V3_test/libf/phylmd/interface_surf.F90
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/interface_surf.F90	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/interface_surf.F90	(revision 735)
@@ -233,5 +233,5 @@
 !jld a rajouter   real, dimension(klon), intent(INOUT):: ffonte
   real, dimension(klon), intent(INOUT):: ffonte
-! Flux d'eau "perdue" par la surface et n�essaire pour que limiter la
+! Flux d'eau "perdue" par la surface et necessaire pour que limiter la
 ! hauteur de neige, en kg/m2/s. Et quantite d'eau de fonte de la calotte.
 !jld a rajouter   real, dimension(klon), intent(INOUT):: fqcalving, fqfonte
@@ -471,5 +471,5 @@
      & alb_new, z0_new)
 !  
-! calcul snow et qsurf, hydrol adapt�!
+! calcul snow et qsurf, hydrol adapte !
        CALL calbeta(dtime, nisurf, knon, snow, qsol, beta, capsol, dif_grnd)
 
@@ -1502,5 +1502,5 @@
 #ifdef CPP_PARA
   USE parallel,only : COMM_LMDZ
-#endif  
+#endif
   USE dimphy
   IMPLICIT NONE
@@ -1927,5 +1927,5 @@
 ! initialisation sorties netcdf
 !
- !ym  IO de check deconnect�pour le moment en //
+ !ym  IO de check deconnecte pour le moment en //
     IF (monocpu) THEN
     idayref = day_ini
@@ -2270,5 +2270,5 @@
 !      wri_calv = coeff_iceberg * cte_flux_iceberg / (num_antarctic * surf_maille)
 !
-! on passe les coordonn�s de la grille
+! on passe les coordonnees de la grille
 !
 
@@ -2295,5 +2295,5 @@
       ENDIF  
 !
-! calcul 3 coordonn�s du vent
+! calcul 3 coordonnees du vent
 !
       CALL atm2geo (iim , jjphy_nb, wri_taux, wri_tauy, tmp_lon, tmp_lat, &
@@ -2485,9 +2485,13 @@
   REAL :: amn, amx
   INTEGER, save :: lmt_pas, julien, idayvrai
+!$OMP THREADPRIVATE(lmt_pas, julien, idayvrai) 
   REAL, parameter :: unjour=86400.
   real, allocatable, dimension(:), save :: tmp_tslab, tmp_seaice
   REAL, allocatable, dimension(:), save :: slab_bils
   REAL, allocatable, dimension(:), save :: lmt_bils
+!$OMP THREADPRIVATE(tmp_tslab, tmp_seaice,slab_bils,lmt_bils)
   logical,save              :: check = .false.
+!$OMP THREADPRIVATE(check) 
+
 !
   REAL, parameter :: cyang=50.0 * 4.228e+06 ! capacite calorifique volumetrique de l'eau J/(m2 K)
@@ -2745,5 +2749,5 @@
   integer, dimension(2) :: start, epais
 !
-! Fin d�laration
+! Fin declaration
 !
   
@@ -2968,5 +2972,5 @@
 !   lmt_sst      SST lues dans le fichier de CL
 !   lmt_alb      Albedo lu 
-!   lmt_rug      longueur de rugosit�lue
+!   lmt_rug      longueur de rugosite lue
 !   pctsrf_new   sous-maille fractionnelle
 !
@@ -3023,5 +3027,5 @@
 !$OMP THREADPRIVATE(start, epais) 
 !
-! Fin d�laration
+! Fin declaration
 !
   
@@ -3082,5 +3086,5 @@
     endif
 !
-! Lecture rugosit�!
+! Lecture rugosite !
     ierr = NF_INQ_VARID(nid, 'RUG', nvarid)
     if (ierr /= NF_NOERR) then
@@ -3464,4 +3468,5 @@
   real, dimension(klon)     :: tamp
   logical ,save                  :: check = .false.
+!$OMP THREADPRIVATE(check)
 
 !ym  ig = 1
@@ -3542,5 +3547,5 @@
 
 ! Routine de traitement de la fonte de la neige dans le cas du traitement
-! de sol simplifi�!
+! de sol simplifie !
 ! LF 03/2001
 ! input:
@@ -3572,5 +3577,5 @@
 !   dflux_l      derivee du flux de chaleur latente  / Ts
 ! in/out:
-!   run_off_lic_0 run off glacier du pas de temps pr�edent
+!   run_off_lic_0 run off glacier du pas de temps precedent
 !
 
Index: LMDZ4/branches/V3_test/libf/phylmd/iophy.F90
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/iophy.F90	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/iophy.F90	(revision 735)
@@ -134,5 +134,5 @@
   include 'dimensions90.h'
   
-    real,dimension(klon,nlev),intent(in) :: field_phy
+    real,dimension(klon_mpi,nlev),intent(in) :: field_phy
     real,dimension(iim,jjphy_nb,nlev),intent(out) :: field_dyn
     integer,intent(in) :: nlev
@@ -145,5 +145,5 @@
 	if (jjphy_begin==jjphy_end) then
 	  field_dyn(:,1,l)=0.
-	  field_dyn(iiphy_begin:iiphy_end,1,l)=field_phy(1:klon,l)
+	  field_dyn(iiphy_begin:iiphy_end,1,l)=field_phy(1:klon_mpi,l)
 	else
 	
@@ -163,5 +163,5 @@
 	  
 	  if (jjphy_end==jjm+1) then
-             field_dyn(:,jjphy_nb,l)=field_phy(klon,l)
+             field_dyn(:,jjphy_nb,l)=field_phy(klon_mpi,l)
 	  else
 	   field_dyn(:,jjphy_nb,l)=0.
Index: LMDZ4/branches/V3_test/libf/phylmd/phyredem.F
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/phyredem.F	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/phyredem.F	(revision 735)
@@ -95,4 +95,5 @@
       real clwcon(klon2,klev),rnebcon(klon2,klev),ratqs(klon2,klev)
       REAL run_off_lic_0(klon2)
+      REAL masq(klon2)
 c
       INTEGER nid, nvarid, idim1, idim2, idim3
@@ -138,4 +139,5 @@
       REAL,SAVE,ALLOCATABLE :: ratqs_mpi(:,:)
       REAL,SAVE,ALLOCATABLE :: run_off_lic_0_mpi(:)
+      REAL,SAVE,ALLOCATABLE :: masq_mpi(:)
       
 c$OMP MASTER
@@ -173,4 +175,5 @@
       ALLOCATE( ratqs_mpi(klon_mpi,klev))
       ALLOCATE( run_off_lic_0_mpi(klon_mpi))
+      ALLOCATE( masq_mpi(klon_mpi))
 c$OMP END MASTER
 c$OMP BARRIER      
@@ -211,5 +214,6 @@
       call GatherField_omp( clwcon_p,clwcon_mpi,klev)
       call GatherField_omp( ratqs_p,ratqs_mpi,klev)
-      
+      call GatherField_omp( zmasq,masq_mpi,1)
+
 c$OMP MASTER      
       call GatherField( rlat_mpi,rlat,1)
@@ -248,5 +252,6 @@
       call GatherField( clwcon_mpi,clwcon,klev)
       call GatherField( ratqs_mpi,ratqs,klev)
-
+      call GatherField( masq_mpi,masq,1)
+      
       DEALLOCATE( rlat_mpi, rlon_mpi)
       DEALLOCATE( tsol_mpi)
@@ -282,4 +287,5 @@
       DEALLOCATE( ratqs_mpi)
       DEALLOCATE( run_off_lic_0_mpi)
+      DEALLOCATE( masq_mpi)
 
       if (phy_rank==0) then
@@ -296,6 +302,6 @@
 c
       ierr = NF_DEF_DIM (nid, "index", length, idim1)
-      ierr = NF_DEF_DIM (nid, "points_physiques", klon, idim2)
-      ierr = NF_DEF_DIM (nid, "horizon_vertical", klon*klev, idim3)
+      ierr = NF_DEF_DIM (nid, "points_physiques", klon2, idim2)
+      ierr = NF_DEF_DIM (nid, "horizon_vertical", klon2*klev, idim3)
 c
       ierr = NF_ENDDEF(nid)
@@ -378,7 +384,7 @@
       ierr = NF_ENDDEF(nid)
 #ifdef NC_DOUBLE
-      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,zmasq)
-#else
-      ierr = NF_PUT_VAR_REAL (nid,nvarid,zmasq)
+      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,masq)
+#else
+      ierr = NF_PUT_VAR_REAL (nid,nvarid,masq)
 #endif      
 c BP ajout des fraction de chaque sous-surface
@@ -396,7 +402,7 @@
       ierr = NF_ENDDEF(nid)
 #ifdef NC_DOUBLE
-      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon, is_ter))
-#else
-      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon, is_ter))
+      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon2, is_ter))
+#else
+      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon2, is_ter))
 #endif
 C 
@@ -413,7 +419,7 @@
       ierr = NF_ENDDEF(nid)
 #ifdef NC_DOUBLE
-      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon,is_lic))
-#else
-      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon, is_lic))
+      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon2,is_lic))
+#else
+      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon2, is_lic))
 #endif
 C
@@ -430,7 +436,7 @@
       ierr = NF_ENDDEF(nid)
 #ifdef NC_DOUBLE
-      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon, is_oce))
-#else
-      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon, is_oce))
+      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon2, is_oce))
+#else
+      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon2, is_oce))
 #endif
 C
@@ -447,7 +453,7 @@
       ierr = NF_ENDDEF(nid)
 #ifdef NC_DOUBLE
-      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon, is_sic))
-#else
-      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon, is_sic))
+      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon2, is_sic))
+#else
+      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon2, is_sic))
 #endif
 C
@@ -757,4 +763,9 @@
 #endif
 c
+       endif
+c$OMP END MASTER
+cc ----> necessaire pour eviter bug openMP sur SX6
+c$OMP MASTER
+      if (phy_rank==0) then
       DO nsrf = 1, nbsrf
         IF (nsrf.LE.99) THEN
Index: LMDZ4/branches/V3_test/libf/phylmd/physiq.F
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/physiq.F	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/physiq.F	(revision 735)
@@ -251,7 +251,9 @@
       CHARACTER*3 ctetaSTD(nbteta)
       DATA ctetaSTD/'350','380','405'/
+      SAVE ctetaSTD
 c$OMP THREADPRIVATE(ctetaSTD)
       REAL rtetaSTD(nbteta)
       DATA rtetaSTD/350., 380., 405./
+      SAVE rtetaSTD
 c$OMP THREADPRIVATE(rtetaSTD)     
 c
@@ -299,4 +301,5 @@
      .60000., 50000., 40000., 30000., 25000., 20000.,
      .15000., 10000., 7000., 5000., 3000., 2000., 1000./
+      SAVE rlevstd
 c$OMP THREADPRIVATE(rlevSTD)
       CHARACTER*4 clevSTD(nlevSTD)
@@ -304,4 +307,5 @@
      .'500 ','400 ','300 ','250 ','200 ','150 ','100 ',
      .'70  ','50  ','30  ','20  ','10  '/
+      SAVE clevSTD
 c$OMP THREADPRIVATE(clevSTD)
 c
@@ -416,12 +420,14 @@
       DATA ifreq_isccp/3/
       SAVE ifreq_isccp
-c$OMP THREAPRIVATE(ifreq_isccp)
+c$OMP THREADPRIVATE(ifreq_isccp)
       CHARACTER*5 typinout(napisccp)
       DATA typinout/'i3od'/
-c$OMP THREAPRIVATE(typinout)
+      SAVE typinout
+c$OMP THREADPRIVATE(typinout)
 cIM verif boxptop BEG
       CHARACTER*1 verticaxe(napisccp)
       DATA verticaxe/'1'/ 
-c$OMP THREAPRIVATE(verticaxe)
+      SAVE verticaxe
+c$OMP THREADPRIVATE(verticaxe)
 cIM verif boxptop END
       INTEGER nvlev(napisccp)
@@ -446,6 +452,7 @@
 cIM verif boxptop END
 c
-      REAL tautab(0:255)
-      INTEGER invtau(-20:45000)
+      REAL,SAVE :: tautab_omp(0:255),tautab(0:255)
+      INTEGER,SAVE :: invtau_omp(-20:45000),invtau(-20:45000)
+c$OMP THREADPRIVATE(tautab,invtau)
       REAL emsfc_lw
       PARAMETER(emsfc_lw=0.99)
@@ -523,5 +530,6 @@
 c     save ok_isccp, ecrit_isccp, nid_isccp        
       save nid_isccp        
-c$OMP THREADPRIVATE(ok_isccp, ecrit_isccp, nid_isccp,nid_isccp)
+c$OMP THREADPRIVATE(nid_isccp)
+
 c     data ok_isccp,ecrit_isccp/.true.,0.125/      
 c     data ok_isccp,ecrit_isccp/.true.,1./      
@@ -533,6 +541,8 @@
       REAL zx_tau(kmaxm1), zx_pc(lmaxm1), zx_o500(iwmax)
       DATA zx_tau/0.0, 0.3, 1.3, 3.6, 9.4, 23., 60./
+      SAVE zx_tau
 cIM bad 151205     DATA zx_pc/50., 180., 310., 440., 560., 680., 800./
       DATA zx_pc/180., 310., 440., 560., 680., 800., 1000./
+      SAVE zx_pc
 c$OMP THREADPRIVATE(zx_tau,zx_pc)
 c cldtopres pression au sommet des nuages
@@ -541,4 +551,5 @@
       DATA cldtopres/180., 310., 440., 560., 680., 800., 1000./
       DATA cldtopres3/440., 680., 1000./
+      SAVE cldtopres,cldtopres3
 c$OMP THREADPRIVATE(cldtopres,cldtopres3)
 cIM 051005 BEG
@@ -556,4 +567,5 @@
       CHARACTER *3 pclev(lmaxm1)
       DATA pclev/'pc1','pc2','pc3','pc4','pc5','pc6','pc7'/
+      SAVE taulev,pclev
 c$OMP THREADPRIVATE(taulev,pclev)
 c
@@ -610,4 +622,5 @@
      .                'pc= 680-800hPa, tau> 60.',
      .                'pc= 800-1000hPa, tau> 60.'/
+       SAVE cnameisccp
 c$OMP THREADPRIVATE(cnameisccp)
 c
@@ -838,9 +851,9 @@
       REAL yv1(klon)            ! vents dans la premiere couche V
       REAL,SAVE,ALLOCATABLE :: ffonte(:,:)    !Flux thermique utilise pour fondre la neige
-c$OMP THREAPRIVATE(ffonte)
+c$OMP THREADPRIVATE(ffonte)
       REAL,SAVE,ALLOCATABLE :: fqcalving(:,:) !Flux d'eau "perdu" par la surface 
-c$OMP THREAPRIVATE(fqcalving)
+c$OMP THREADPRIVATE(fqcalving)
       REAL,SAVE,ALLOCATABLE :: fqfonte(:,:)  !Quantite d'eau de fonte des glaciers
-c$OMP THREAPRIVATE(fqcalving)
+c$OMP THREADPRIVATE(fqfonte)
 c                               !et necessaire pour limiter la
 c                               !hauteur de neige, en kg/m2/s
@@ -1074,23 +1087,23 @@
 c
       REAL,SAVE,ALLOCATABLE :: pblh(:, :)           ! Hauteur de couche limite
-c$OMP THREAPRIVATE(pblh)
+c$OMP THREADPRIVATE(pblh)
       REAL,SAVE,ALLOCATABLE :: plcl(:, :)           ! Niveau de condensation de la CLA
-c$OMP THREAPRIVATE(plcl)
+c$OMP THREADPRIVATE(plcl)
       REAL,SAVE,ALLOCATABLE :: capCL(:, :)          ! CAPE de couche limite
-c$OMP THREAPRIVATE(capCL)
+c$OMP THREADPRIVATE(capCL)
       REAL,SAVE,ALLOCATABLE :: oliqCL(:, :)          ! eau_liqu integree de couche limite
-c$OMP THREAPRIVATE(oliqCL)
+c$OMP THREADPRIVATE(oliqCL)
       REAL,SAVE,ALLOCATABLE :: cteiCL(:, :)          ! cloud top instab. crit. couche limite
-c$OMP THREAPRIVATE(cteiCL)
+c$OMP THREADPRIVATE(cteiCL)
       REAL,SAVE,ALLOCATABLE :: pblt(:, :)          ! T a la Hauteur de couche limite
-c$OMP THREAPRIVATE(pblt)
+c$OMP THREADPRIVATE(pblt)
       REAL,SAVE,ALLOCATABLE :: therm(:, :)
-c$OMP TREADPRIVATE(therm)
+c$OMP THREADPRIVATE(therm)
       REAL,SAVE,ALLOCATABLE :: trmb1(:, :)          ! deep_cape
-c$OMP TREADPRIVATE(trmb1)
+c$OMP THREADPRIVATE(trmb1)
       REAL,SAVE,ALLOCATABLE :: trmb2(:, :)          ! inhibition 
-c$OMP TREADPRIVATE(trmb2)
+c$OMP THREADPRIVATE(trmb2)
       REAL,SAVE,ALLOCATABLE :: trmb3(:, :)          ! Point Omega
-c$OMP TREADPRIVATE(trmb3)
+c$OMP THREADPRIVATE(trmb3)
 c Grdeurs de sorties
       REAL s_pblh(klon), s_lcl(klon), s_capCL(klon)
@@ -1289,9 +1302,9 @@
       REAL zx_tmp_fi2d(klon)      ! variable temporaire grille physique
       REAL zx_tmp_fi3d(klon,klev) ! variable temporaire pour champs 3D 
-#ifdef histmthNMC
+c#ifdef histmthNMC
 cym   A voir plus tard !!!!
 cym      REAL zx_tmp_NC(iim,jjmp1,nlevSTD)
       REAL zx_tmp_fiNC(klon,nlevSTD) 
-#endif
+c#endif
       REAL*8 zx_tmp2_fi3d(klon,klev) ! variable temporaire pour champs 3D 
       REAL zx_tmp_2d(iim,jjmp1), zx_tmp_3d(iim,jjmp1,klev)
@@ -1302,5 +1315,6 @@
       SAVE nid_day, nid_mth, nid_ins, nid_nmc, nid_day_seri
       SAVE nid_ctesGCM
-c$OMP THREADPRIVATE(nid_day, nid_mth, nid_ins, nid_nmc, nid_day_seri,nid_ctesGCM)
+c$OMP THREADPRIVATE(nid_day, nid_mth, nid_ins, nid_nmc)
+c$OMP THREADPRIVATE(nid_day_seri,nid_ctesGCM)
 c
 cIM 280405 BEG
@@ -1403,5 +1417,5 @@
 
       REAL,SAVE,ALLOCATABLE :: topswai(:), solswai(:) ! Aerosol indirect effect.
-c$OMP THREADPRIVATE(topswai(,solswai)
+c$OMP THREADPRIVATE(topswai,solswai)
       ! ok_aie=T ->
       !        ok_ade=T -AIE=topswai-topswad
@@ -1908,6 +1922,7 @@
 
 c#include "ini_histday_seri.h"
-
-c#include "ini_paramLMDZ_phy.h"
+#include "ini_histday_seri.h"
+
+#include "ini_paramLMDZ_phy.h"
 
 #endif
@@ -2857,5 +2872,5 @@
       ELSE IF (iflag_cldcon.eq.3) THEN
 c  On prend pour les nuages convectifs le max du calcul de la
-c  convection et du calcul du pas de temps pr��ent diminu�d'un facteur
+c  convection et du calcul du pas de temps precedent diminue d'un facteur
 c  facttemps
 c      facttemps=pdtphys/1.e4
@@ -2895,5 +2910,5 @@
 c
       IF (ok_isccp) THEN
-c#include "calcul_simulISCCP.h"
+#include "calcul_simulISCCP.h"
       ENDIF !ok_isccp
 
@@ -3581,7 +3596,7 @@
 #endif
 
-c#include "write_histday_seri.h"
-
-c#include "write_paramLMDZ_phy.h"
+#include "write_histday_seri.h"
+
+#include "write_paramLMDZ_phy.h"
 
 #endif
Index: LMDZ4/branches/V3_test/libf/phylmd/phytrac.F
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/phytrac.F	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/phytrac.F	(revision 735)
@@ -403,6 +403,8 @@
          if (debutphy) then
            allocate( trs(klon,nbtr) )
+c$OMP MASTER
 	   allocate( trs_mpi(klon_mpi) )  
-           allocate( masktr(klon,nbtr)) 
+c$OMP END MASTER           
+	   allocate( masktr(klon,nbtr)) 
            allocate( fshtr(klon,nbtr) )
            allocate( hsoltr(nbtr))
Index: LMDZ4/branches/V3_test/libf/phylmd/thermcell.F
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/thermcell.F	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/thermcell.F	(revision 735)
@@ -14,11 +14,11 @@
 c   de "thermiques" explicitement representes
 c
-c   R�criture �partir d'un listing papier �Habas, le 14/02/00
-c
-c   le thermique est suppos�homog�e et dissip�par m�ange avec
-c   son environnement. la longueur l_mix contr�e l'efficacit�du
-c   m�ange
-c
-c   Le calcul du transport des diff�entes esp�es se fait en prenant
+c   Reecriture a partir d'un listing papier à Habas, le 14/02/00
+c
+c   le thermique est suppose homogene et dissipe par melange avec
+c   son environnement. la longueur l_mix controle l'efficacite du
+c   melange
+c
+c   Le calcul du transport des differentes especes se fait en prenant
 c   en compte:
 c     1. un flux de masse montant
@@ -512,5 +512,5 @@
 c   calcul de la largeur de chaque ascendance dans le cas conservatif.
 c   dans ce cas simple, on suppose que la largeur de l'ascendance provenant
-c   d'une couche est �ale �la hauteur de la couche alimentante.
+c   d'une couche est egale a la hauteur de la couche alimentante.
 c   La vitesse maximale dans l'ascendance est aussi prise comme estimation
 c   de la vitesse d'entrainement horizontal dans la couche alimentante.
@@ -551,5 +551,5 @@
 c      print*,'10 OK convect8'
 c     print*,'WA2 ',wa_moy
-c   calcul de la fraction de la maille concern� par l'ascendance en tenant
+c   calcul de la fraction de la maille concerne  par l'ascendance en tenant
 c   compte de l'epluchage du thermique.
 c
@@ -1119,5 +1119,5 @@
             if ((fm(ig,k+1)+detr(ig,k))*ptimestep.gt.
      s         1.e-5*masse(ig,k)) then
-c   On it�e sur la valeur du coeff de freinage.
+c   On itere sur la valeur du coeff de freinage.
 c              gamma0=rho(ig,k)*(zlev(ig,k+1)-zlev(ig,k))
                gamma0=masse(ig,k)
@@ -1125,5 +1125,5 @@
      s         *0.5/larga(ig)
 c              gamma0=0.
-c   la premi�e fois on multiplie le coefficient de freinage
+c   la premiere fois on multiplie le coefficient de freinage
 c   par le module du vent dans la couche en dessous.
                dua=ua(ig,k-1)-u(ig,k-1)
@@ -1317,5 +1317,5 @@
             if ((fm(ig,k+1)+detr(ig,k))*ptimestep.gt.
      s         1.e-5*masse(ig,k)) then
-c   On it�e sur la valeur du coeff de freinage.
+c   On itere sur la valeur du coeff de freinage.
 c              gamma0=rho(ig,k)*(zlev(ig,k+1)-zlev(ig,k))
                gamma0=masse(ig,k)
@@ -1328,5 +1328,5 @@
                zf=0.
                zf2=1./(1.-zf)
-c   la premi�e fois on multiplie le coefficient de freinage
+c   la premiere fois on multiplie le coefficient de freinage
 c   par le module du vent dans la couche en dessous.
                dua=ua(ig,k-1)-u(ig,k-1)
Index: LMDZ4/branches/V3_test/libf/phylmd/write_histISCCP.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/write_histISCCP.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/write_histISCCP.h	(revision 735)
@@ -201,5 +201,7 @@
 c
        if (ok_sync) then
+c$OMP MASTER
         call histsync(nid_isccp)
+c$OMP END MASTER       
        endif
 
Index: LMDZ4/branches/V3_test/libf/phylmd/write_histday.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/write_histday.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/write_histday.h	(revision 735)
@@ -569,5 +569,7 @@
 c
       if (ok_sync) then
+c$OMP MASTER
         call histsync(nid_day)
+c$OMP END MASTER
       endif
 
Index: LMDZ4/branches/V3_test/libf/phylmd/write_histhf.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/write_histhf.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/write_histhf.h	(revision 735)
@@ -348,5 +348,7 @@
 c
       IF (ok_sync) THEN
+c$OMP MASTER
         call histsync(nid_hf)
+c$OMP END MASTER
       ENDIF
 
Index: LMDZ4/branches/V3_test/libf/phylmd/write_histhf3d.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/write_histhf3d.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/write_histhf3d.h	(revision 735)
@@ -23,4 +23,6 @@
       CALL histwrite_phy(nid_hf3d,"vitv",itau_w,v_seri)
       if (ok_sync) then
+c$OMP MASTER
         call histsync(nid_hf3d)
+c$OMP END MASTER      
       endif
Index: LMDZ4/branches/V3_test/libf/phylmd/write_histins.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/write_histins.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/write_histins.h	(revision 735)
@@ -228,5 +228,7 @@
 c
       if (ok_sync) then
+c$OMP MASTER
         call histsync(nid_ins)
+c$OMP END MASTER
       endif
       ENDIF
Index: LMDZ4/branches/V3_test/libf/phylmd/write_histmth.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/write_histmth.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/write_histmth.h	(revision 735)
@@ -1809,5 +1809,7 @@
 c
       if (ok_sync) then
+c$OMP MASTER
         call histsync(nid_mth)
+c$OMP END MASTER
       endif
 c
Index: LMDZ4/branches/V3_test/libf/phylmd/write_histmthNMC.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/write_histmthNMC.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/write_histmthNMC.h	(revision 735)
@@ -119,5 +119,7 @@
 c
       if (ok_sync) then
+c$OMP MASTER
         call histsync(nid_nmc)
+c$OMP END MASTER
       endif
 
Index: LMDZ4/branches/V3_test/libf/phylmd/write_histrac.h
===================================================================
--- LMDZ4/branches/V3_test/libf/phylmd/write_histrac.h	(revision 726)
+++ LMDZ4/branches/V3_test/libf/phylmd/write_histrac.h	(revision 735)
@@ -96,5 +96,7 @@
 
       if (ok_sync) then
-         call histsync(nid_tra)
+c$OMP MASTER
+        call histsync(nid_tra)
+c$OMP END MASTER
        endif
 
