Index: /LMDZ4/branches/LMDZ4-dev/libf/dyn3d/conf_gcm.F
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/libf/dyn3d/conf_gcm.F	(revision 1142)
+++ /LMDZ4/branches/LMDZ4-dev/libf/dyn3d/conf_gcm.F	(revision 1143)
@@ -546,4 +546,12 @@
       CALL getin('config_inca',config_inca)
 
+
+!Config  Key  = ok_dynzon 
+!Config  Desc = calcul et sortie des transports 
+!Config  Def  = n 
+!Config  Help = Permet de mettre en route le calcul des transports 
+!Config          
+      ok_dynzon = .FALSE. 
+      CALL getin('ok_dynzon',ok_dynzon) 
 
       write(lunout,*)' #########################################'
@@ -583,4 +591,5 @@
       write(lunout,*)' offline = ', offline
       write(lunout,*)' config_inca = ', config_inca
+      write(lunout,*)' ok_dynzon = ', ok_dynzon 
 
       RETURN
@@ -707,4 +716,12 @@
       config_inca = 'none'
       CALL getin('config_inca',config_inca)
+
+!Config  Key  = ok_dynzon 
+!Config  Desc = calcul et sortie des transports 
+!Config  Def  = n 
+!Config  Help = Permet de mettre en route le calcul des transports 
+!Config          
+       ok_dynzon = .FALSE.
+       CALL getin('ok_dynzon',ok_dynzon) 
 
 !Config key = ok_strato
@@ -760,4 +777,5 @@
       write(lunout,*)' offline = ', offline
       write(lunout,*)' config_inca = ', config_inca
+      write(lunout,*)' ok_dynzon = ', ok_dynzon
       write(lunout,*)' ok_strato = ', ok_strato
       write(lunout,*)' ok_gradsfile = ', ok_gradsfile
Index: /LMDZ4/branches/LMDZ4-dev/libf/dyn3d/control.h
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/libf/dyn3d/control.h	(revision 1142)
+++ /LMDZ4/branches/LMDZ4-dev/libf/dyn3d/control.h	(revision 1143)
@@ -15,5 +15,5 @@
      &              periodav,iecrimoy,dayref,anneeref,                  &
      &              raz_date,offline,ip_ebil_dyn,config_inca,           &
-     &              planet_type,output_grads_dyn
+     &              planet_type,output_grads_dyn,ok_dynzon
 
       INTEGER   nday,day_step,iperiod,iapp_tracvl,iconser,iecri,        &
@@ -21,8 +21,9 @@
      &          ,ip_ebil_dyn
       REAL periodav
-      logical offline
+      LOGICAL offline
       CHARACTER (len=4) :: config_inca
       CHARACTER(len=10) :: planet_type ! planet type ('earth','mars',...)
       LOGICAL :: output_grads_dyn ! output dynamics diagnostics in
                                   ! binary grads file 'dyn.dat' (y/n)
+      LOGICAL :: ok_dynzon
 !-----------------------------------------------------------------------
Index: /LMDZ4/branches/LMDZ4-dev/libf/dyn3d/gcm.F
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/libf/dyn3d/gcm.F	(revision 1142)
+++ /LMDZ4/branches/LMDZ4-dev/libf/dyn3d/gcm.F	(revision 1143)
@@ -404,9 +404,10 @@
      .              t_ops, t_wrt, histid, histvid)
 
-      t_ops = iperiod * time_step
-      t_wrt = periodav * daysec
-      CALL initdynav(dynhistave_file,day_ref,annee_ref,time_step,
-     .              t_ops, t_wrt, histaveid)
-
+      IF (ok_dynzon) THEN 
+         t_ops = iperiod * time_step
+         t_wrt = periodav * daysec
+         CALL initdynav(dynhistave_file,day_ref,annee_ref,time_step,
+     .        t_ops, t_wrt, histaveid)
+      END IF
       dtav = iperiod*dtvr/daysec
       endif
Index: /LMDZ4/branches/LMDZ4-dev/libf/dyn3d/leapfrog.F
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/libf/dyn3d/leapfrog.F	(revision 1142)
+++ /LMDZ4/branches/LMDZ4-dev/libf/dyn3d/leapfrog.F	(revision 1143)
@@ -540,10 +540,13 @@
                   iav=0
                ENDIF
+               
+               IF (ok_dynzon) THEN
 #ifdef CPP_IOIPSL
-              CALL writedynav(histaveid, itau,vcov ,
-     ,                          ucov,teta,pk,phi,q,masse,ps,phis)
-               call bilan_dyn (2,dtvr*iperiod,dtvr*day_step*periodav,
-     ,           ps,masse,pk,pbaru,pbarv,teta,phi,ucov,vcov,q)
-#endif
+                  CALL writedynav(histaveid, itau,vcov ,
+     ,                 ucov,teta,pk,phi,q,masse,ps,phis)
+                  CALL bilan_dyn (2,dtvr*iperiod,dtvr*day_step*periodav,
+     ,                 ps,masse,pk,pbaru,pbarv,teta,phi,ucov,vcov,q)
+#endif
+               END IF
 
             ENDIF
@@ -651,10 +654,13 @@
                   iav=0
                ENDIF
+
+               IF (ok_dynzon) THEN 
 #ifdef CPP_IOIPSL
-               CALL writedynav(histaveid, itau,vcov ,
-     ,                          ucov,teta,pk,phi,q,masse,ps,phis)
-               call bilan_dyn (2,dtvr*iperiod,dtvr*day_step*periodav,
-     ,           ps,masse,pk,pbaru,pbarv,teta,phi,ucov,vcov,q)
-#endif
+                  CALL writedynav(histaveid, itau,vcov ,
+     ,                 ucov,teta,pk,phi,q,masse,ps,phis)
+                  CALL bilan_dyn (2,dtvr*iperiod,dtvr*day_step*periodav,
+     ,                 ps,masse,pk,pbaru,pbarv,teta,phi,ucov,vcov,q)
+#endif
+               END IF
 
               ENDIF ! of IF(MOD(itau,iperiod).EQ.0 .OR. itau.EQ.itaufin)
Index: /LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/conf_gcm.F
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/conf_gcm.F	(revision 1142)
+++ /LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/conf_gcm.F	(revision 1143)
@@ -556,4 +556,12 @@
       config_inca = 'none'
       CALL getin('config_inca',config_inca)
+
+!Config  Key  = ok_dynzon 
+!Config  Desc = calcul et sortie des transports 
+!Config  Def  = n 
+!Config  Help = Permet de mettre en route le calcul des transports 
+!Config          
+      ok_dynzon = .FALSE. 
+      CALL getin('ok_dynzon',ok_dynzon) 
 
 
@@ -593,4 +601,5 @@
       write(lunout,*)' offline = ', offline
       write(lunout,*)' config_inca = ', config_inca
+      write(lunout,*)' ok_dynzon = ', ok_dynzon 
 
       RETURN
@@ -717,4 +726,12 @@
       config_inca = 'none'
       CALL getin('config_inca',config_inca)
+
+!Config  Key  = ok_dynzon 
+!Config  Desc = calcul et sortie des transports 
+!Config  Def  = n 
+!Config  Help = Permet de mettre en route le calcul des transports 
+!Config          
+      ok_dynzon = .FALSE. 
+      CALL getin('ok_dynzon',ok_dynzon) 
 
 !Config  Key  = use_filtre_fft
@@ -807,4 +824,5 @@
       write(lunout,*)' offline = ', offline
       write(lunout,*)' config_inca = ', config_inca
+      write(lunout,*)' ok_dynzon = ', ok_dynzon 
       write(lunout,*)' use_filtre_fft = ', use_filtre_fft
       write(lunout,*)' use_mpi_alloc = ', use_mpi_alloc
Index: /LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/control.h
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/control.h	(revision 1142)
+++ /LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/control.h	(revision 1143)
@@ -15,5 +15,5 @@
      &              periodav,iecrimoy,dayref,anneeref,                  &
      &              raz_date,offline,ip_ebil_dyn,config_inca,           &
-     &              planet_type,output_grads_dyn
+     &              planet_type,output_grads_dyn,ok_dynzon
 
       INTEGER   nday,day_step,iperiod,iapp_tracvl,iconser,iecri,        &
@@ -26,3 +26,4 @@
       LOGICAL :: output_grads_dyn ! output dynamics diagnostics in
                                   ! binary grads file 'dyn.dat' (y/n)
+      LOGICAL :: ok_dynzon 
 !-----------------------------------------------------------------------
Index: /LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/gcm.F
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/gcm.F	(revision 1142)
+++ /LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/gcm.F	(revision 1143)
@@ -427,9 +427,10 @@
      .              t_ops, t_wrt, histid, histvid)
 
-      t_ops = iperiod * time_step
-      t_wrt = periodav * daysec
-      CALL initdynav_p(dynhistave_file,day_ref,annee_ref,time_step,
-     .              t_ops, t_wrt, histaveid)
-
+      IF (ok_dynzon) THEN 
+         t_ops = iperiod * time_step
+         t_wrt = periodav * daysec
+         CALL initdynav_p(dynhistave_file,day_ref,annee_ref,time_step,
+     .        t_ops, t_wrt, histaveid)
+      END IF
       dtav = iperiod*dtvr/daysec
       endif
Index: /LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/leapfrog_p.F
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/leapfrog_p.F	(revision 1142)
+++ /LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/leapfrog_p.F	(revision 1143)
@@ -1294,4 +1294,5 @@
                ENDIF
 #ifdef CPP_IOIPSL
+             IF (ok_dynzon) THEN 
              call Register_Hallo(vcov,ip1jm,llm,1,0,0,1,TestRequest)
              call SendRequest(TestRequest)
@@ -1302,6 +1303,10 @@
               CALL writedynav_p(histaveid, itau,vcov ,
      ,                          ucov,teta,pk,phi,q,masse,ps,phis)
-c$OMP END MASTER
-
+
+c ATTENTION!!! bilan_dyn_p ne marche probablement pas avec OpenMP
+              CALL bilan_dyn_p(2,dtvr*iperiod,dtvr*day_step*periodav, 
+     ,             ps,masse,pk,pbaru,pbarv,teta,phi,ucov,vcov,q) 
+c$OMP END MASTER
+              ENDIF !ok_dynzon
 #endif
             ENDIF
@@ -1456,4 +1461,5 @@
                ENDIF
 #ifdef CPP_IOIPSL
+               IF (ok_dynzon) THEN
 c$OMP BARRIER
 
@@ -1467,7 +1473,8 @@
                CALL writedynav_p(histaveid, itau,vcov ,
      ,                          ucov,teta,pk,phi,q,masse,ps,phis)
-               call bilan_dyn_p (2,dtvr*iperiod,dtvr*day_step*periodav,
+               CALL bilan_dyn_p(2,dtvr*iperiod,dtvr*day_step*periodav,
      ,           ps,masse,pk,pbaru,pbarv,teta,phi,ucov,vcov,q)
 c$OMP END MASTER
+               END IF !ok_dynzon
 #endif
               ENDIF ! of IF(MOD(itau,iperiod).EQ.0 .OR. itau.EQ.itaufin)
Index: /LMDZ4/branches/LMDZ4-dev/libf/phylmd/clesphys.h
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/libf/phylmd/clesphys.h	(revision 1142)
+++ /LMDZ4/branches/LMDZ4-dev/libf/phylmd/clesphys.h	(revision 1143)
@@ -40,4 +40,6 @@
        INTEGER lev_histhf, lev_histday, lev_histmth
        CHARACTER*4 type_run
+! aer_type: pour utiliser un fichier constant dans readsulfate 
+       CHARACTER*8 :: aer_type 
        LOGICAL ok_isccp, ok_regdyn
        REAL lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
@@ -62,5 +64,5 @@
      &     , ecrit_mth, ecrit_tra, ecrit_reg                            &
      &     , freq_ISCCP, ecrit_ISCCP, ip_ebil_phy                       &
-     &     , ok_lic_melt, cvl_corr                                      &
+     &     , ok_lic_melt, cvl_corr, aer_type                            &
      &     , qsol0, iflag_rrtm, ok_strato,ok_hines,ecrit_LES
      
Index: /LMDZ4/branches/LMDZ4-dev/libf/phylmd/conf_phys.F90
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/libf/phylmd/conf_phys.F90	(revision 1142)
+++ /LMDZ4/branches/LMDZ4-dev/libf/phylmd/conf_phys.F90	(revision 1143)
@@ -66,4 +66,5 @@
 
   character (len = 6),SAVE  :: type_ocean_omp, version_ocean_omp, ocean_omp
+  CHARACTER(len = 8),SAVE   :: aer_type_omp
   logical,SAVE              :: ok_veget_omp, ok_newmicro_omp
   logical,SAVE        :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp        
@@ -237,4 +238,13 @@
   aerosol_couple_omp = .false.
   CALL getin('aerosol_couple',aerosol_couple_omp)
+
+! 
+!Config Key  = aer_type 
+!Config Desc = Use a constant field for the aerosols 
+!Config Def  = scenario 
+!Config Help = Used in readsulfate.F 
+! 
+  aer_type_omp = 'scenario' 
+  call getin('aer_type', aer_type_omp) 
 
 !
@@ -1256,4 +1266,5 @@
     ok_aie = ok_aie_omp
     aerosol_couple = aerosol_couple_omp
+    aer_type = aer_type_omp
     bl95_b0 = bl95_b0_omp
     bl95_b1 = bl95_b1_omp
@@ -1310,5 +1321,5 @@
     END IF
 
-    IF (type_ocean=='slab' .AND. version_ocean/='xxxxxx') THEN
+    IF (type_ocean=='slab' .AND. version_ocean=='xxxxxx') THEN
        version_ocean='sicOBS'
     ELSE IF (type_ocean=='slab' .AND. version_ocean/='sicOBS') THEN
@@ -1385,4 +1396,5 @@
   write(numout,*)' ok_aie = ',ok_aie
   write(numout,*)' aerosol_couple = ', aerosol_couple
+  write(numout,*)' aer_type = ',aer_type
   write(numout,*)' bl95_b0 = ',bl95_b0
   write(numout,*)' bl95_b1 = ',bl95_b1
Index: /LMDZ4/branches/LMDZ4-dev/libf/phylmd/isccp_cloud_types.F
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/libf/phylmd/isccp_cloud_types.F	(revision 1142)
+++ /LMDZ4/branches/LMDZ4-dev/libf/phylmd/isccp_cloud_types.F	(revision 1143)
@@ -530,6 +530,6 @@
 !     Initialised frac_out to zero
 
-      do ibox=1,ncol
-        do ilev=1,nlev
+      do ilev=1,nlev
+        do ibox=1,ncol
           do j=1,npoints
 	    frac_out(j,ibox,ilev)=0.0
@@ -1219,5 +1219,5 @@
           enddo
           do 29 ilev=1,nlev-1
-            !cdir nodep
+!cdir nodep
             do j=1,npoints 
               if ((at(j,ilev)   .ge. tb(j,ibox) .and. 
Index: /LMDZ4/branches/LMDZ4-dev/libf/phylmd/readsulfate.F
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/libf/phylmd/readsulfate.F	(revision 1142)
+++ /LMDZ4/branches/LMDZ4-dev/libf/phylmd/readsulfate.F	(revision 1143)
@@ -36,6 +36,7 @@
 #include "chem.h"      
 #include "dimensions.h"      
-cym#include "dimphy.h"      
 #include "temps.h"      
+#include "clesphys.h"
+#include "iniprint.h"
 c 
 c Input:
@@ -84,4 +85,13 @@
 
       if (is_mpi_root) then
+
+        IF (aer_type /= 'actuel  ' .AND. aer_type /= 'preind  ' .AND.   &
+     &      aer_type /= 'scenario') THEN
+          WRITE(lunout,*)' *** Warning ***'
+          WRITE(lunout,*)'Option aer_type pour les aerosols = ',        &
+     &        aer_type
+          WRITE(lunout,*)'Cas non prevu, force a preind'
+          aer_type = 'preind  '
+        ENDIF
             
       iday = INT(r_day) 
@@ -118,56 +128,66 @@
 
 
-      IF (iyr .lt. 1850) THEN
-         cyear='.nat'
-         WRITE(*,*) 'getso4  iyr=', iyr,'   ',cyear
-         CALL getso4fromfile(cyear, so4_1)
-      ELSE IF (iyr .ge. 2100) THEN
-         cyear='2100'
-         WRITE(*,*) 'getso4  iyr=', iyr,'   ',cyear
-         CALL getso4fromfile(cyear, so4_1)
+
+      IF (aer_type == 'actuel  ') then
+        cyear='1980'
+        CALL getso4fromfile(cyear, so4_1)
+      ELSE IF (aer_type == 'preind  ') THEN
+        cyear='.nat'
+        CALL getso4fromfile(cyear, so4_1)
       ELSE
+        IF (iyr .lt. 1850) THEN
+           cyear='.nat'
+           WRITE(*,*) 'getso4  iyr=', iyr,'   ',cyear
+           CALL getso4fromfile(cyear, so4_1)
+        ELSE IF (iyr .ge. 2100) THEN
+           cyear='2100'
+           WRITE(*,*) 'getso4  iyr=', iyr,'   ',cyear
+           CALL getso4fromfile(cyear, so4_1)
+        ELSE
 
       	! Read in data:
-      ! a) from actual 10-yr-period
-
-      IF (iyr.LT.1900) THEN
-         iyr1 = 1850
-         iyr2 = 1900
-      ELSE IF (iyr.ge.1900.and.iyr.lt.1920) THEN
-         iyr1 = 1900
-         iyr2 = 1920
-      ELSE 
-         iyr1 = INT(iyr/10)*10
-         iyr2 = INT(1+iyr/10)*10
-      ENDIF
-      WRITE(cyear,'(I4)') iyr1
-      WRITE(*,*) 'getso4  iyr=', iyr,'   ',cyear
-      CALL getso4fromfile(cyear, so4_1)
+        ! a) from actual 10-yr-period
+
+          IF (iyr.LT.1900) THEN
+             iyr1 = 1850
+             iyr2 = 1900
+          ELSE IF (iyr.ge.1900.and.iyr.lt.1920) THEN
+             iyr1 = 1900
+             iyr2 = 1920
+          ELSE 
+             iyr1 = INT(iyr/10)*10
+             iyr2 = INT(1+iyr/10)*10
+          ENDIF
+          WRITE(cyear,'(I4)') iyr1
+        ENDIF
+        WRITE(*,*) 'getso4  iyr=', iyr,'   ',cyear
+        CALL getso4fromfile(cyear, so4_1)
 
       
       ! If to read two decades:
-      IF (.NOT.lonlyone) THEN
+        IF (.NOT.lonlyone) THEN
          
       ! b) from the next following one
-      WRITE(cyear,'(I4)') iyr2
-      WRITE(*,*) 'getso4  iyr=', iyr,'   ',cyear
-      CALL getso4fromfile(cyear, so4_2)
-
+          WRITE(cyear,'(I4)') iyr2
+          WRITE(*,*) 'getso4  iyr=', iyr,'   ',cyear
+          CALL getso4fromfile(cyear, so4_2)
+
+ 
       ! Interpolate linarily to the actual year:
-      DO it=1,12
-         DO k=1,klev
-            DO j=1,jjm
-               DO i=1,iim
-                  so4_1(i,j,k,it)=so4_1(i,j,k,it)
+        DO it=1,12
+           DO k=1,klev
+              DO j=1,jjm
+                 DO i=1,iim
+                    so4_1(i,j,k,it)=so4_1(i,j,k,it)
      .                 - FLOAT(iyr-iyr1)/FLOAT(iyr2-iyr1)
      .                 * (so4_1(i,j,k,it) - so4_2(i,j,k,it))
-               ENDDO
-            ENDDO
-         ENDDO
-      ENDDO                           
-      
-      ENDIF !lonlyone
-      ENDIF !(iyr .lt. 1850)
- 
+                 ENDDO
+              ENDDO
+           ENDDO
+        ENDDO                           
+
+
+        ENDIF !lonlyone    
+      ENDIF !aer_type
       
       ! Transform the horizontal 2D-field into the physics-field
@@ -537,8 +557,7 @@
 
       SUBROUTINE getso4fromfile (cyr, so4)
-      use dimphy
+      USE dimphy
 #include "netcdf.inc"
 #include "dimensions.h"      
-cccc#include "dimphy.h"
       CHARACTER*15 fname
       CHARACTER*4 cyr
