Index: LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 5902)
+++ LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 5903)
@@ -485,4 +485,5 @@
   !    (/ ('', i=1, 10) /))
   !FC
+
   TYPE(ctrl_out), SAVE :: o_lwtoab130 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     'lwtoab130', 'LW TOA  band 130cm-1 ', 'W m-2', (/ ('', i=1, 10) /))
@@ -553,6 +554,6 @@
  TYPE(ctrl_out), SAVE :: o_lwtoa0btot = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     'lwtoa0btot', 'LW TOA  band total CS', 'W m-2', (/ ('', i=1, 10) /))
-  TYPE(ctrl_out), SAVE :: o_lwtoa0b = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
-    'lwtoa0b', 'LW TOA CS band ', 'W m-2', (/ ('', i=1, 10) /))
+!  TYPE(ctrl_out), SAVE :: o_lwtoa0b = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+!    'lwtoa0b', 'LW TOA CS band ', 'W m-2', (/ ('', i=1, 10) /))
   TYPE(ctrl_out), SAVE :: o_lwtoab4co2 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     'lwtoab4co2', 'LW TOA  band 4xCO2', 'W m-2', (/ ('', i=1, 10) /))
Index: LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 5902)
+++ LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 5903)
@@ -258,7 +258,5 @@
          o_lwtoa0b2165, o_lwtoa0b2315, o_lwtoa0b2490, o_lwtoa0b2800, &
          o_lwtoabtot, o_lwtoa0btot, &  !Somme de tous les canaux
-         o_lwtoa0b, &  ! les 16 canaux FC
          o_lwtoab4co2,o_lwtoacsb4co2,                            &   ! les 16 canaux FC
-!FC
 !GG         o_zxfluxt,o_zxfluxq
          o_fcds, o_fcdi, o_dh_basal_growth, o_dh_basal_melt, &
@@ -512,5 +510,5 @@
         iflag_seaice, iflag_seaice_alb
     !GG
-    USE aero_mod, ONLY: naero_tot, id_STRAT_phy
+    USE aero_mod, ONLY: naero_tot, id_STRAT_phy,nbands_lw_rrtm
     USE ioipsl, ONLY: histend, histsync
     USE iophy, ONLY: set_itau_iophy, histwrite_phy
@@ -997,20 +995,21 @@
 !FC
       IF (vars_defined) THEN
-                DO i=1, klon
-             zx_tmp_fi2d(i)=0.
-          DO ll=1,nlw
-!             zx_tmp_fi2d(i)=zx_tmp_fi2d(i)+lwtoab(i,ll)*deltanu(ll)
-             zx_tmp_fi2d(i)=zx_tmp_fi2d(i)+lwtoab(i,ll)
+!                DO i=1, klon
+             zx_tmp_fi2d(:)=0.
+!          DO ll=1,nlw
+          DO ll=1,nbands_lw_rrtm
+             zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+lwtoab(:,ll)
           ENDDO
-          ENDDO
+!          ENDDO
        ENDIF
        CALL histwrite_phy(o_lwtoabtot, zx_tmp_fi2d)
            IF (vars_defined) THEN
-                DO i=1, klon
-             zx_tmp_fi2d(i)=0.
-          DO ll=1,nlw
-             zx_tmp_fi2d(i)=zx_tmp_fi2d(i)+lwtoa0b(i,ll)
+!                DO i=1, klon
+             zx_tmp_fi2d(:)=0.
+!          DO ll=1,nlw
+          DO ll=1,nbands_lw_rrtm
+             zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+lwtoa0b(:,ll)
           ENDDO
-          ENDDO
+!          ENDDO
        ENDIF
        CALL histwrite_phy(o_lwtoa0btot, zx_tmp_fi2d)
@@ -1018,5 +1017,4 @@
 
        IF (vars_defined) zx_tmp_fi2d=lwtoab(:,1)
-!       CALL histwrite_phy(o_lwtoab, zx_tmp_fi3dsplw)
        CALL histwrite_phy(o_lwtoab130, zx_tmp_fi2d)
 
@@ -1864,4 +1862,6 @@
           ENDIF
                CALL histwrite_phy(o_delta_tsurf,zx_tmp_fi2d) 
+
+
                CALL histwrite_phy(o_cdragh_x   ,cdragh_x   ) 
                CALL histwrite_phy(o_cdragh_w   ,cdragh_w   ) 
Index: LMDZ6/trunk/libf/phylmd/radlwsw_m.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/radlwsw_m.F90	(revision 5902)
+++ LMDZ6/trunk/libf/phylmd/radlwsw_m.F90	(revision 5903)
@@ -998,4 +998,7 @@
                ok_ade, ok_aie, ok_volcan, flag_aerosol,flag_aerosol_strat, flag_aer_feedback) ! flags aerosols
 
+          !   write(*,*)  ' apres recmwf_aero '
+          !   write(*,*) 'ok_ade, ok_aie, ok_volcan, flag_aerosol,flag_aerosol_strat, flag_aer_feedback)'
+          !   write(*,*)  ok_ade, ok_aie, ok_volcan, flag_aerosol,flag_aerosol_strat, flag_aer_feedback
           !--OB diagnostics
           ! & PTOPSWAIAERO,PSOLSWAIAERO,&
Index: LMDZ6/trunk/libf/phylmd/rrtm/recmwf_aero.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/rrtm/recmwf_aero.F90	(revision 5902)
+++ LMDZ6/trunk/libf/phylmd/rrtm/recmwf_aero.F90	(revision 5903)
@@ -349,4 +349,8 @@
   REAL(KIND=JPRB) ::  LWUP0_AERO(KPROMA,KLEV+1,5)
   REAL(KIND=JPRB) ::  LWDN0_AERO(KPROMA,KLEV+1,5)
+  !--LW SPEC FC) :
+  REAL(KIND=JPRB) ::  PTOAB_AERO(KPROMA,NLW,5)
+  REAL(KIND=JPRB) ::  PTOACB_AERO(KPROMA,NLW,5)
+
 
 #include "radlsw.intfb.h"
@@ -374,4 +378,8 @@
   LWUP0_AERO(:,:,:)=0.
   LWDN0_AERO(:,:,:)=0.
+
+  !FC
+  PTOAB_AERO (:,:,:) =0.
+  PTOACB_AERO (:,:,:)=0.
 
   PTAU_ZERO(:,:,:) =1.e-15
@@ -473,4 +481,9 @@
   !----aerosol flags are on
 
+!  write(*,*) ' FC flag_aerosol flag_aerosol_strat '
+!  write(*,*) flag_aerosol, flag_aerosol_strat 
+!  write(*,*) ' FC ok_ade ok_aie swaero_diag '
+!  write(*,*) ok_ade, ok_aie ,swaero_diag 
+
   IF (flag_aerosol .GT. 0 .OR. flag_aerosol_strat) THEN
 
@@ -501,4 +514,5 @@
              & PFSDN , PFSUP  , PFSCDN  , PFSCUP ,&
              & PTOAB, PTOACB  )   !FC
+!        write(*,*) 'FC cas 1'
 
         !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
@@ -514,4 +528,7 @@
         LWUP_AERO(:,:,1) = PFLUX(:,1,:)
         LWDN_AERO(:,:,1) = PFLUX(:,2,:)
+
+        PTOAB_AERO(:,:,1)  = PTOAB(:,:) 
+        PTOACB_AERO(:,:,1)  = PTOACB(:,:) 
 
      ENDIF
@@ -543,4 +560,5 @@
              & PTOAB,  PTOACB )  !FC
 
+!        write(*,*) 'FC cas 2 ok_ade ok_aie swaero_diag', ok_ade , ok_aie , swaero_diag
         !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
         ZFSUP0_AERO(:,:,2) = PFSCUP(:,:)
@@ -555,4 +573,7 @@
         LWUP_AERO(:,:,2) = PFLUX(:,1,:)
         LWDN_AERO(:,:,2) = PFLUX(:,2,:)
+
+        PTOAB_AERO(:,:,2)  = PTOAB(:,:) 
+        PTOACB_AERO(:,:,2)  = PTOACB(:,:) 
 
      ENDIF ! ok_aie      
@@ -584,4 +605,5 @@
              & PTOAB,  PTOACB )   !FC
 
+!        write(*,*) 'FC cas 3 ok_ade ok_aie swaero_diag' ,ok_ade , ok_aie , swaero_diag
         !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
         ZFSUP0_AERO(:,:,3) = PFSCUP(:,:)
@@ -596,4 +618,7 @@
         LWUP_AERO(:,:,3) = PFLUX(:,1,:)
         LWDN_AERO(:,:,3) = PFLUX(:,2,:)
+
+        PTOAB_AERO(:,:,3)  = PTOAB(:,:) 
+        PTOACB_AERO(:,:,3)  = PTOACB(:,:) 
 
      ENDIF !-end ok_ade
@@ -624,4 +649,5 @@
              & PTOAB, PTOACB )   !FC
 
+!        write(*,*) 'FC cas 4 ok_ade ok_aie ', ok_ade , ok_aie 
         !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
         ZFSUP0_AERO(:,:,4) = PFSCUP(:,:)
@@ -636,4 +662,7 @@
         LWUP_AERO(:,:,4) = PFLUX(:,1,:)
         LWDN_AERO(:,:,4) = PFLUX(:,2,:)
+
+        PTOAB_AERO(:,:,4)  = PTOAB(:,:) 
+        PTOACB_AERO(:,:,4)  = PTOACB(:,:) 
 
      ENDIF ! ok_ade .and. ok_aie
@@ -665,4 +694,6 @@
           & PFSDN , PFSUP  , PFSCDN  , PFSCUP , &
           & PTOAB, PTOACB )   !FC
+!        write(*,*) 'FC cas 5'
+!        write(*,*) 'FC cas 5 AEROSOLFEEDBACK_ACTIVE  flag_aerosol  swaerofree_diag', AEROSOLFEEDBACK_ACTIVE , flag_aerosol , swaerofree_diag
 
      !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
@@ -678,4 +709,7 @@
      LWUP_AERO(:,:,5) = PFLUX(:,1,:)
      LWDN_AERO(:,:,5) = PFLUX(:,2,:)
+
+     PTOAB_AERO(:,:,5)  = PTOAB(:,:) 
+     PTOACB_AERO(:,:,5)  = PTOACB(:,:) 
 
   ENDIF ! .not. AEROSOLFEEDBACK_ACTIVE
@@ -754,4 +788,8 @@
         PFLUC(:,1,:) =  LWUP0_AERO(:,:,4)
         PFLUC(:,2,:) =  LWDN0_AERO(:,:,4)    
+
+        PTOAB(:,:)  = PTOAB_AERO(:,:,4)
+        PTOACB(:,:)  = PTOACB_AERO(:,:,4)
+!        write(*,*) 'je remplis 4'
      ENDIF
 
@@ -766,4 +804,8 @@
         PFLUC(:,1,:) =  LWUP0_AERO(:,:,3)
         PFLUC(:,2,:) =  LWDN0_AERO(:,:,3) 
+
+        PTOAB(:,:)  = PTOAB_AERO(:,:,3)
+        PTOACB(:,:)  = PTOACB_AERO(:,:,3)
+!        write(*,*) 'je remplis 3'
      ENDIF
 
@@ -778,4 +820,8 @@
         PFLUC(:,1,:) =  LWUP0_AERO(:,:,2)
         PFLUC(:,2,:) =  LWDN0_AERO(:,:,2) 
+
+        PTOAB(:,:)  = PTOAB_AERO(:,:,2)
+        PTOACB(:,:)  = PTOACB_AERO(:,:,2)
+!        write(*,*) 'je remplis 2'
      ENDiF
 
@@ -790,9 +836,12 @@
         PFLUC(:,1,:) =  LWUP0_AERO(:,:,1)
         PFLUC(:,2,:) =  LWDN0_AERO(:,:,1) 
+
+        PTOAB(:,:)  = PTOAB_AERO(:,:,1)
+        PTOACB(:,:)  = PTOACB_AERO(:,:,1)
+!        write(*,*) 'je remplis 1'
      ENDIF
 
      ! The following allows to compute the forcing diagostics without
      ! letting the aerosol forcing act on the meteorology
-     ! SEE logic above
 
   ELSE  !--not AEROSOLFEEDBACK_ACTIVE
@@ -808,4 +857,7 @@
      PFLUC(:,2,:) =  LWDN0_AERO(:,:,5) 
 
+     PTOAB(:,:)  = PTOAB_AERO(:,:,5)
+     PTOACB(:,:)  = PTOACB_AERO(:,:,5)
+!        write(*,*) 'je remplis 5'
   ENDIF
 
