Index: LMDZ6/trunk/DefLists/field_def_lmdz.xml
===================================================================
--- LMDZ6/trunk/DefLists/field_def_lmdz.xml	(revision 5676)
+++ LMDZ6/trunk/DefLists/field_def_lmdz.xml	(revision 5677)
@@ -663,5 +663,27 @@
    </field_group>
           <!-- end Added SN isotopes 2D fields 07 2023 -->
-   </field_group>
+        <field id="lwtoab130" long_name="LW TOA  band 130cm-1" unit="W m-2" />
+        <field id="lwtoab375" long_name="LW TOA  band 375cm-1 " unit="W m-2" />
+        <field id="lwtoab565" long_name="LW TOA  band 565cm-1" unit="W m-2" />
+        <field id="lwtoab665" long_name="LW TOA  band 665cm-1" unit="W m-2" />
+        <field id="lwtoab760" long_name="LW TOA  band 760cm-1" unit="W m-2" />
+        <field id="lwtoab900" long_name="LW TOA  band 900cm-1" unit="W m-2" />
+        <field id="lwtoab1030" long_name="LW TOA  band 1030cm-1" unit="W m-2" />
+        <field id="lwtoab1130" long_name="LW TOA  band 1130cm-1" unit="W m-2" />
+        <field id="lwtoab1285" long_name="LW TOA  band 1285cm-1" unit="W m-2" />
+        <field id="lwtoab1435" long_name="LW TOA  band 1435cm-1" unit="W m-2" />
+        <field id="lwtoab1640" long_name="LW TOA  band 1640cm-1" unit="W m-2" />
+        <field id="lwtoab1940" long_name="LW TOA  band 1940cm-1" unit="W m-2" />
+        <field id="lwtoab2165" long_name="LW TOA  band 2165cm-1" unit="W m-2" />
+        <field id="lwtoab2315" long_name="LW TOA  band 2315cm-1" unit="W m-2" />
+        <field id="lwtoab2490" long_name="LW TOA  band 2490cm-1" unit="W m-2" />
+        <field id="lwtoab2800" long_name="LW TOA  band 2800cm-1" unit="W m-2" />
+        <field id="lwtoabtot" long_name="LW TOA  band total" unit="W m-2" />
+        <field id="lwtoa0b" long_name="LW TOA CS band" unit="W m-2" />
+        <field id="lwtoab4co2" long_name="LW TOA  band 4xCO2" unit="W m-2" />
+        <field id="lwtoacsb4co2" long_name="LW TOA CS band 4xCO2 CS" unit="W m-2" />
+        <field id="lwtoab_s2" long_name="Ecrad LW toab" unit="-" />
+        <field id="lwtoa0b_s2" long_name="Ecrad LW toa0b" unit="-" />
+</field_group>
 
     <field_group id="fields_3D" grid_ref="grid_glo_presnivs" >
Index: LMDZ6/trunk/DefLists/file_def_histLES_lmdz.xml
===================================================================
--- LMDZ6/trunk/DefLists/file_def_histLES_lmdz.xml	(revision 5676)
+++ LMDZ6/trunk/DefLists/file_def_histLES_lmdz.xml	(revision 5677)
@@ -78,4 +78,21 @@
                 <field field_ref="tops0" level="10" />
                 <field field_ref="topl" level="10" />
+                <field field_ref="lwtoab130" level="10" />
+                <field field_ref="lwtoab375" level="10" />
+                <field field_ref="lwtoab565" level="10" />
+                <field field_ref="lwtoab665" level="10" />
+                <field field_ref="lwtoab760" level="10" />
+                <field field_ref="lwtoab900" level="10" />
+                <field field_ref="lwtoab1030" level="10" />
+                <field field_ref="lwtoab1130" level="10" />
+                <field field_ref="lwtoab1285" level="10" />
+                <field field_ref="lwtoab1435" level="10" />
+                <field field_ref="lwtoab1640" level="10" />
+                <field field_ref="lwtoab1940" level="10" />
+                <field field_ref="lwtoab2165" level="10" />
+                <field field_ref="lwtoab2315" level="10" />
+                <field field_ref="lwtoab2315" level="10" />
+                <field field_ref="lwtoab2490" level="10" />
+                <field field_ref="lwtoab2800" level="10" />
                 <field field_ref="topl0" level="10" />
                 <field field_ref="SWupTOA" level="10" />
Index: LMDZ6/trunk/DefLists/file_def_histday_lmdz.xml
===================================================================
--- LMDZ6/trunk/DefLists/file_def_histday_lmdz.xml	(revision 5676)
+++ LMDZ6/trunk/DefLists/file_def_histday_lmdz.xml	(revision 5677)
@@ -89,4 +89,22 @@
                 <field field_ref="tops0" level="5" />
                 <field field_ref="topl" level="1" />
+                <field field_ref="lwtoab130" level="10" />
+                <field field_ref="lwtoab375" level="10" />
+                <field field_ref="lwtoab565" level="10" />
+                <field field_ref="lwtoab665" level="10" />
+                <field field_ref="lwtoab760" level="10" />
+                <field field_ref="lwtoab900" level="10" />
+                <field field_ref="lwtoab1030" level="10" />
+                <field field_ref="lwtoab1130" level="10" />
+                <field field_ref="lwtoab1285" level="10" />
+                <field field_ref="lwtoab1435" level="10" />
+                <field field_ref="lwtoab1640" level="10" />
+                <field field_ref="lwtoab1940" level="10" />
+                <field field_ref="lwtoab2165" level="10" />
+                <field field_ref="lwtoab2315" level="10" />
+                <field field_ref="lwtoab2315" level="10" />
+                <field field_ref="lwtoab2490" level="10" />
+                <field field_ref="lwtoab2800" level="10" />
+                <field field_ref="lwtoabtot" level="10" />
                 <field field_ref="topl0" level="5" />
                 <field field_ref="SWupTOA" level="4" />
Index: LMDZ6/trunk/DefLists/file_def_histhf_lmdz.xml
===================================================================
--- LMDZ6/trunk/DefLists/file_def_histhf_lmdz.xml	(revision 5676)
+++ LMDZ6/trunk/DefLists/file_def_histhf_lmdz.xml	(revision 5677)
@@ -93,4 +93,21 @@
                 <field field_ref="tops0" level="10" />
                 <field field_ref="topl" level="10" />
+                <field field_ref="lwtoab130" level="10" />
+                <field field_ref="lwtoab375" level="10" />
+                <field field_ref="lwtoab565" level="10" />
+                <field field_ref="lwtoab665" level="10" />
+                <field field_ref="lwtoab760" level="10" />
+                <field field_ref="lwtoab900" level="10" />
+                <field field_ref="lwtoab1030" level="10" />
+                <field field_ref="lwtoab1130" level="10" />
+                <field field_ref="lwtoab1285" level="10" />
+                <field field_ref="lwtoab1435" level="10" />
+                <field field_ref="lwtoab1640" level="10" />
+                <field field_ref="lwtoab1940" level="10" />
+                <field field_ref="lwtoab2165" level="10" />
+                <field field_ref="lwtoab2315" level="10" />
+                <field field_ref="lwtoab2315" level="10" />
+                <field field_ref="lwtoab2490" level="10" />
+                <field field_ref="lwtoab2800" level="10" />
                 <field field_ref="topl0" level="10" />
                 <field field_ref="SWupTOA" level="10" />
Index: LMDZ6/trunk/DefLists/file_def_histins_lmdz.xml
===================================================================
--- LMDZ6/trunk/DefLists/file_def_histins_lmdz.xml	(revision 5676)
+++ LMDZ6/trunk/DefLists/file_def_histins_lmdz.xml	(revision 5677)
@@ -89,4 +89,21 @@
                 <field field_ref="tops0" level="10" />
                 <field field_ref="topl" level="10" />
+                <field field_ref="lwtoab130" level="10" />
+                <field field_ref="lwtoab375" level="10" />
+                <field field_ref="lwtoab565" level="10" />
+                <field field_ref="lwtoab665" level="10" />
+                <field field_ref="lwtoab760" level="10" />
+                <field field_ref="lwtoab900" level="10" />
+                <field field_ref="lwtoab1030" level="10" />
+                <field field_ref="lwtoab1130" level="10" />
+                <field field_ref="lwtoab1285" level="10" />
+                <field field_ref="lwtoab1435" level="10" />
+                <field field_ref="lwtoab1640" level="10" />
+                <field field_ref="lwtoab1940" level="10" />
+                <field field_ref="lwtoab2165" level="10" />
+                <field field_ref="lwtoab2315" level="10" />
+                <field field_ref="lwtoab2315" level="10" />
+                <field field_ref="lwtoab2490" level="10" />
+                <field field_ref="lwtoab2800" level="10" />
                 <field field_ref="topl0" level="10" />
                 <field field_ref="SWupTOA" level="10" />
Index: LMDZ6/trunk/DefLists/file_def_histmth_lmdz.xml
===================================================================
--- LMDZ6/trunk/DefLists/file_def_histmth_lmdz.xml	(revision 5676)
+++ LMDZ6/trunk/DefLists/file_def_histmth_lmdz.xml	(revision 5677)
@@ -123,4 +123,21 @@
                 <field field_ref="tops0"    level="1" />
                 <field field_ref="topl"     level="1" />
+                <field field_ref="lwtoab130" level="10" />
+                <field field_ref="lwtoab375" level="10" />
+                <field field_ref="lwtoab565" level="10" />
+                <field field_ref="lwtoab665" level="10" />
+                <field field_ref="lwtoab760" level="10" />
+                <field field_ref="lwtoab900" level="10" />
+                <field field_ref="lwtoab1030" level="10" />
+                <field field_ref="lwtoab1130" level="10" />
+                <field field_ref="lwtoab1285" level="10" />
+                <field field_ref="lwtoab1435" level="10" />
+                <field field_ref="lwtoab1640" level="10" />
+                <field field_ref="lwtoab1940" level="10" />
+                <field field_ref="lwtoab2165" level="10" />
+                <field field_ref="lwtoab2315" level="10" />
+                <field field_ref="lwtoab2315" level="10" />
+                <field field_ref="lwtoab2490" level="10" />
+                <field field_ref="lwtoab2800" level="10" />
                 <field field_ref="topl0"    level="1" />
                 <field field_ref="SWupTOA"  level="1" />
Index: LMDZ6/trunk/libf/phylmd/iophy.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/iophy.F90	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/iophy.F90	(revision 5677)
@@ -535,5 +535,5 @@
     USE phys_output_var_mod, ONLY: type_ecri, zoutm, lev_files, nid_files, &
                                    nhorim, zdtime_moy, levmin, levmax, &
-                                   nvertm, nfiles
+                                   nvertm, nfiles , ncanaux !FC
     USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat
     USE print_control_mod, ONLY: prt_level,lunout
@@ -701,5 +701,5 @@
                                    clef_stations, phys_out_filenames, lev_files, &
                                    nid_files, nhorim, swaerofree_diag, levmin, &
-                                   levmax, nvertm
+                                   levmax, nvertm, ncanaux !FC
     USE print_control_mod, ONLY: prt_level,lunout
     USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat
Index: LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 5677)
@@ -484,4 +484,49 @@
   !  type(ctrl_out),save :: o_LWdnTOAclr  = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWdnTOAclr', &
   !    (/ ('', 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) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab375 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab375', 'LW TOA  band 375cm-1', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab565 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab565', 'LW TOA  band 565cm-1 ', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab665 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab665', 'LW TOA  band 665cm-1', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab760 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab760', 'LW TOA  band 760cm-1', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab900 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab900', 'LW TOA  band 900cm-1', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab1030 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab1030', 'LW TOA  band 1030cm-1', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab1130 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab1130', 'LW TOA  band 1130cm-1', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab1285 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab1285', 'LW TOA  band 1285cm-1', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab1435 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab1435', 'LW TOA  band 1435cm-1', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab1640 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab1640', 'LW TOA  band 1640cm-1', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab1940 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab1940', 'LW TOA  band 1940cm-1', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab2165 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab2165', 'LW TOA  band 2165cm-1', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab2315 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab2315', 'LW TOA  band 2315cm-1', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab2490 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab2490', 'LW TOA  band 2490cm-1', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoab2800 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab2800', 'LW TOA  band 2800cm-1 ', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoabtot = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoabtot', 'LW TOA  band total', '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) /))
+  TYPE(ctrl_out), SAVE :: o_lwtoacsb4co2 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoacsb4co2', 'LW TOA CS band 4xCO2 CS', 'W m-2', (/ ('', i=1, 10) /))
+
+
+!FC voir si on ajoute le ciel clair 4xco2
+
   TYPE(ctrl_out), SAVE :: o_LWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     'LWup200', 'LWup at 200mb', 'W/m2', (/ ('', i=1, 10) /))
@@ -850,4 +895,11 @@
 !AI Ecrad 3Deffect
 #ifdef CPP_ECRAD
+!FC ajouter les sorties o_lwtoab_s2  pour chaque bande
+ TYPE(ctrl_out), SAVE :: o_lwtoab_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoab_s2', 'Ecrad LW toab ', '-', (/ ('', i=1, 10) /))
+ TYPE(ctrl_out), SAVE :: o_lwtoa0b_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwtoa0b_s2', 'Ecrad LW toa0b ', '-', (/ ('', i=1, 10) /))
+!FC
+
   TYPE(ctrl_out), SAVE :: o_ZFLUX_DIR_SUN = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     'ZFLUX_DIR_SUN', 'Direct radiation into a plane perpendicular to the sun', 'W m-2', (/ ('', i=1, 10) /))
Index: LMDZ6/trunk/libf/phylmd/phys_output_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_mod.F90	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/phys_output_mod.F90	(revision 5677)
@@ -51,4 +51,7 @@
     USE vertical_layers_mod, ONLY: ap,bp,preff,presnivs, aps, bps, pseudoalt, presinter
     USE time_phylmdz_mod, ONLY: day_ini, itau_phy, start_time, annee_ref, day_ref
+
+    USE AERO_MOD, ONLY : nbands_lw_rrtm !FC
+
     ! ug Pour les sorties XIOS
     use wxios_mod
@@ -155,7 +158,24 @@
     REAL, DIMENSION(NSW)            :: spectband  !mean wavenumb. of each sp.band
     REAL, DIMENSION(NSW,2)          :: spbnds_sun !bounds of spectband
+!FC
+    INTEGER                         :: ILW
+    REAL,  DIMENSION(nbands_lw_rrtm)  :: wl1_lw, wl2_lw
 
     WRITE(lunout,*) 'Debut phys_output_mod.F90'
-    ! Initialisations (Valeurs par defaut
+! Initialisations (Valeurs par defaut
+!FC
+       wl1_lw = [ 10., 250., 500., 630., 700., 820., 980.,1080. &
+     & ,1180.,1390.,1480.,1800.,2080.,2250.,2380.,2600.]
+       wl2_lw = [250., 500., 630., 700., 820., 980.,1080.,1180. &
+     & ,1390.,1480.,1800.,2080.,2250.,2380.,2600.,3000.]
+!         print*, 'avant boucle', nbands_lw_rrtm
+!        DO ILW=1,nbands_lw_rrtm
+!        spectbandLW(ILW)= (wl1_lw(ilw) + wl2_lw(ILW) )/2
+!        print*, 'on a les canaux ? ',ILW,spectbandLW(ILW),wl1_lw(ILW),wl2_lw(ilw)
+!        enddo
+!        print*, 'spectbandLW',spectbandLW
+
+!FC
+
 
     DO ilev=1,klev
@@ -502,4 +522,10 @@
           CALL histvert(nid_files(iff), "Alt","Height approx for scale heigh of 8km at levels", "Km", &                       
                levmax(iff) - levmin(iff) + 1,pseudoalt,nvertAlt(iff))
+!FC
+!          CALL histvert(nid_files(iff), "spectbandLW"," LW bands ", "cm-1", &
+!                  nbands_lw_rrtm ,wl1_lw, ncanaux(iff))
+!          print *, ' apres ncanaux = ' , ncanaux(iff),iff
+!FC
+
 
           ELSE
Index: LMDZ6/trunk/libf/phylmd/phys_output_var_mod.f90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_var_mod.f90	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/phys_output_var_mod.f90	(revision 5677)
@@ -105,4 +105,6 @@
   INTEGER, DIMENSION(nfiles), SAVE :: nnhorim
   INTEGER, DIMENSION(nfiles), SAVE :: nhorim, nvertm
+  INTEGER, DIMENSION(nfiles), SAVE :: ncanaux  !FC
+  !$OMP THREADPRIVATE(ncanaux)
   INTEGER, DIMENSION(nfiles), SAVE :: nvertap, nvertbp, nvertAlt
   REAL, DIMENSION(nfiles), SAVE                :: zoutm
Index: LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 5677)
@@ -247,11 +247,19 @@
          o_delta_sst, o_delta_sal, o_ds_ns, o_dt_ns, o_dter, o_dser, o_tkt, &
          o_tks, o_taur, o_sss, &
+         o_zxfluxt,o_zxfluxq, &
+         o_lwtoab130, o_lwtoab375 ,o_lwtoab565, o_lwtoab665, &
+         o_lwtoab760, o_lwtoab900, o_lwtoab1030, o_lwtoab1130, &  ! les 16 canaux FC
+         o_lwtoab1285, o_lwtoab1435, o_lwtoab1640, o_lwtoab1940, &
+         o_lwtoab2165, o_lwtoab2315, o_lwtoab2490, o_lwtoab2800, &
+         o_lwtoabtot, &  !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_zxfluxt,o_zxfluxq, &
          o_fcds, o_fcdi, o_dh_basal_growth, o_dh_basal_melt, &
          o_dh_top_melt, o_dh_snow2sic, &
          o_dtice_melt, o_dtice_snow2sic
 !GG
+
 
 #ifdef CPP_ECRAD
@@ -313,4 +321,6 @@
          ratqs, entr_therm, zqasc, detr_therm, f0, &
          lwup, lwdn, lwupc0, lwup0, coefm, &
+         lwtoab, lwtoa0b, &
+         lwtoabp, lwtoa0bp, &
          swupp, lwupp, swupc0p, swup0p, lwupc0p, lwup0p, swdnp, lwdnp, &
          swdnc0p, swdn0p, lwdnc0p, lwdn0p, tnondef, O3sumSTD, uvsumSTD, &
@@ -335,4 +345,5 @@
         toplw0_s2,toplw_s2,topsw0_s2,topsw_s2, &
         swup0_s2,swup_s2,swdn_s2,swdn0_s2,sollwdownclr_s2, &
+        lwtoab_s2, lwtoa0b_s2, &
         sollwdown_s2,lwdn0_s2,lwup_s2,lwdn_s2,lwup0_s2,lwdn0_s2
     USE phys_output_var_mod, ONLY: cloud_cover_sw, &
@@ -507,4 +518,6 @@
 
 #ifdef CPP_RRTM
+    USE YOERAD, ONLY: NLW
+    USE FREQUENCES_LW_DATA, ONLY: deltanu ,wl1_lw, wl2_lw!FC
     USE YOESW, ONLY : RSUN
 #endif
@@ -553,4 +566,6 @@
     REAL, DIMENSION (klon,klev+1) :: zx_tmp_fi3d1
     REAL, DIMENSION (klon,NSW) :: zx_tmp_fi3dsp
+    REAL, DIMENSION (klon,16) :: zx_tmp_fi3dsplw  !FC
+
     CHARACTER (LEN=4)              :: bb2
     INTEGER, DIMENSION(nbp_lon*nbp_lat)  :: ndex2d
@@ -974,4 +989,69 @@
        CALL histwrite_phy(o_topl, toplw)
        CALL histwrite_phy(o_topl0, toplw0)
+
+!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)
+          ENDDO
+          ENDDO
+       ENDIF
+       CALL histwrite_phy(o_lwtoabtot, zx_tmp_fi2d)
+
+   IF (vars_defined) zx_tmp_fi2d=lwtoab(:,1)
+!       CALL histwrite_phy(o_lwtoab, zx_tmp_fi3dsplw)
+       CALL histwrite_phy(o_lwtoab130, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,2)
+       CALL histwrite_phy(o_lwtoab375, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,3)
+       CALL histwrite_phy(o_lwtoab565, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,4)
+       CALL histwrite_phy(o_lwtoab665, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,5)
+       CALL histwrite_phy(o_lwtoab760, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,6)
+       CALL histwrite_phy(o_lwtoab900, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,7)
+       CALL histwrite_phy(o_lwtoab1030, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,8)
+       CALL histwrite_phy(o_lwtoab1130, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,9)
+       CALL histwrite_phy(o_lwtoab1285, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,10)
+       CALL histwrite_phy(o_lwtoab1435, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,11)
+       CALL histwrite_phy(o_lwtoab1640, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,12)
+       CALL histwrite_phy(o_lwtoab1940, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,13)
+       CALL histwrite_phy(o_lwtoab2165, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,14)
+       CALL histwrite_phy(o_lwtoab2315, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,15)
+       CALL histwrite_phy(o_lwtoab2490, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,16)
+       CALL histwrite_phy(o_lwtoab2800, zx_tmp_fi2d)
+
+       IF (vars_defined) zx_tmp_fi3dsplw=lwtoa0b
+       CALL histwrite_phy(o_lwtoa0b, zx_tmp_fi3dsplw)
+
 
        !AM heterogeneous continental sub-surfaces
Index: LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90	(revision 5677)
@@ -169,4 +169,10 @@
 !$OMP THREADPRIVATE(clwcon0th,rnebcon0th)
 ! radiation outputs
+!FC
+      REAL,ALLOCATABLE,SAVE :: lwtoab(:,:), lwtoa0b(:,:)
+!$OMP THREADPRIVATE(lwtoab,lwtoa0b)
+      REAL,ALLOCATABLE,SAVE :: lwtoabp(:,:), lwtoa0bp(:,:)
+!$OMP THREADPRIVATE(lwtoabp,lwtoa0bp)
+! FC
       REAL,ALLOCATABLE,SAVE :: swdnc0(:,:), swdn0(:,:), swdn(:,:)
 !$OMP THREADPRIVATE(swdnc0,swdn0,swdn)
@@ -475,5 +481,9 @@
       REAL,ALLOCATABLE,SAVE :: swdnc0_s2(:,:), swdn0_s2(:,:), swdn_s2(:,:)
       REAL,ALLOCATABLE,SAVE :: swupc0_s2(:,:), swup0_s2(:,:), swup_s2(:,:)
-!$OMP THREADPRIVATE(swdnc0_s2, swdn0_s2, swdn_s2, swupc0_s2, swup0_s2, swup_s2)
+!$OMP THREADPRIVATE(swdnc0_s2, swdn0_s2, swdn_s2 , swupc0_s2, swup0_s2, swup_s2)
+!FC
+      REAL,ALLOCATABLE,SAVE :: lwtoab_s2(:,:), lwtoa0b_s2(:,:)
+!$OMP THREADPRIVATE(lwtoab_s2,lwtoa0b_s2)
+
 
 ! pbase : cloud base pressure
@@ -686,4 +696,9 @@
       ALLOCATE(clwcon0th(klon,klev),rnebcon0th(klon,klev))
 ! radiation outputs
+!FC
+      ALLOCATE(lwtoab(klon,nbands_lw_rrtm), lwtoa0b(klon,nbands_lw_rrtm))
+      ALLOCATE(lwtoab_s2(klon,nbands_lw_rrtm), lwtoa0b_s2(klon,nbands_lw_rrtm))
+      ALLOCATE(lwtoabp(klon,nbands_lw_rrtm), lwtoa0bp(klon,nbands_lw_rrtm))
+!FC
       ALLOCATE(swdnc0(klon,klevp1), swdn0(klon,klevp1), swdn(klon,klevp1))
       ALLOCATE(swupc0(klon,klevp1), swup0(klon,klevp1), swup(klon,klevp1))
@@ -925,4 +940,9 @@
       DEALLOCATE(clwcon0th, rnebcon0th)
 ! radiation outputs
+!FC 
+      DEALLOCATE(lwtoab, lwtoa0b)
+      DEALLOCATE(lwtoab_s2, lwtoa0b_s2)
+      DEALLOCATE(lwtoabp, lwtoa0bp)
+!FC
       DEALLOCATE(swdnc0, swdn0, swdn)
       DEALLOCATE(swupc0, swup0, swup)
Index: LMDZ6/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 5677)
@@ -4646,4 +4646,5 @@
                topsw0,toplw0,solsw0,sollw0, &
                lwdnc0, lwdn0, lwdn, lwupc0, lwup0, lwup,  &
+               lwtoa0b, lwtoab , &  !FC
                swdnc0, swdn0, swdn, swupc0, swup0, swup, &
                topswad_aero, solswad_aero, &
@@ -4725,4 +4726,5 @@
                      topsw0p,toplw0p,solsw0p,sollw0p, &
                      lwdnc0p, lwdn0p, lwdnp, lwupc0p, lwup0p, lwupp,  &
+                     lwtoa0bp, lwtoabp , &  !FC
                      swdnc0p, swdn0p, swdnp, swupc0p, swup0p, swupp, &
                      topswad_aerop, solswad_aerop, &
@@ -4772,4 +4774,5 @@
                      topsw0_s2,toplw0_s2,solsw0_s2,sollw0_s2, &
                      lwdnc0_s2, lwdn0_s2, lwdn_s2, lwupc0_s2, lwup0_s2, lwup_s2,  &
+                     lwtoa0b_s2, lwtoab_s2 , &  !FC
                      swdnc0_s2, swdn0_s2, swdn_s2, swupc0_s2, swup0_s2, swup_s2, &
                      topswad_aero_s2, solswad_aero_s2, &
Index: LMDZ6/trunk/libf/phylmd/radlwsw_m.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/radlwsw_m.F90	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/radlwsw_m.F90	(revision 5677)
@@ -31,4 +31,5 @@
        topsw0,toplw0,solsw0,sollw0,&
        lwdnc0, lwdn0, lwdn, lwupc0, lwup0, lwup,&
+       lwtoa0b, lwtoab , &                       !FC flux spectraux LW TOA
        swdnc0, swdn0, swdn, swupc0, swup0, swup,&
        topswad_aero, solswad_aero,&
@@ -265,4 +266,7 @@
     REAL,    INTENT(out) :: lwdn(KLON,kflev+1),lwdn0(KLON,kflev+1), lwdnc0(KLON,kflev+1)
     REAL,    INTENT(out) :: lwup(KLON,kflev+1),lwup0(KLON,kflev+1), lwupc0(KLON,kflev+1)
+       !FC je remplace NLW par nbands_lw_rrtm qui est defini dans aero_mod peut etre que a ce niveau NLW est attribué?
+    REAL,    INTENT(out) :: lwtoa0b(KLON,nbands_lw_rrtm), lwtoab(KLON,nbands_lw_rrtm)    !FC flux TOA LW par bandes
+
     REAL,    INTENT(out) :: topswad_aero(KLON), solswad_aero(KLON)         ! output: aerosol direct forcing at TOA and surface
     REAL,    INTENT(out) :: topswai_aero(KLON), solswai_aero(KLON)         ! output: aerosol indirect forcing atTOA and surface
@@ -296,5 +300,5 @@
     REAL(KIND=8) ZFLDNC0(KDLON,KFLEV+1)
     REAL(KIND=8) zx_alpha1, zx_alpha2
-    INTEGER k, kk, i, j, iof, nb_gr
+    INTEGER k, kk, i, j, iof, nb_gr,jb !FC
     INTEGER ist,iend,ktdia,kmode
     REAL(KIND=8) PSCT
@@ -463,4 +467,11 @@
     REAL(KIND=8) ZFLUX_i (klon,2,klev+1)
     REAL(KIND=8) ZFLUC_i (klon,2,klev+1)
+     !FC
+    !FC je remplace NLW par nbands_lw_rrtm qui est defini dans aero_mod
+
+    REAL(KIND=8) ZTOAB_i (klon,nbands_lw_rrtm)
+    REAL(KIND=8) ZTOACB_i (klon,nbands_lw_rrtm)
+    !FC
+
     REAL(KIND=8) ZFSDWN_i (klon,klev+1)
     REAL(KIND=8) ZFCDWN_i (klon,klev+1)
@@ -973,4 +984,5 @@
                PTAU_LW_TOT, PTAU_LW_NAT,               &  ! rajoute par C. Kleinschmitt
                ZFLUX_i  , ZFLUC_i ,&
+               ZTOAB_i   , ZTOACB_i, &                    ! FC flux spectraux TOA
                ZFSDWN_i , ZFSUP_i , ZFCDWN_i, ZFCUP_i, ZFCCDWN_i, ZFCCUP_i, ZFLCCDWN_i, ZFLCCUP_i, &
                ZTOPSWADAERO,ZSOLSWADAERO,&  ! rajoute par OB pour diagnostics
@@ -1161,4 +1173,12 @@
              ENDDO
           ENDDO
+                    !FC
+          DO i=1,kdlon
+          DO jb = 1, nbands_lw_rrtm !FC
+          lwtoab(i,jb) = ZTOAB_i(i,jb)
+          lwtoa0b(i,jb) = ZTOACB_i(i,jb)
+          ENDDO
+          ENDDO
+
 #else
           abort_message="You should compile with -rrtm if running with iflag_rrtm=1"
Index: LMDZ6/trunk/libf/phylmd/rrtm/parrrtm.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/rrtm/parrrtm.F90	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/rrtm/parrrtm.F90	(revision 5677)
@@ -54,4 +54,6 @@
 INTEGER(KIND=JPIM), PARAMETER :: NGS15 = 138
 
+INTEGER(KIND=JPIM), PARAMETER, DIMENSION(16) :: GP_PER_LWBAND = (/8,14,16,14,16,8,12,8,12,6,8,8,4,2,2,2/)   !FC
+
 !     ------------------------------------------------------------------
 END MODULE PARRRTM
Index: LMDZ6/trunk/libf/phylmd/rrtm/radlsw.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/rrtm/radlsw.F90	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/rrtm/radlsw.F90	(revision 5677)
@@ -13,5 +13,6 @@
  & LRDUST,PPIZA_DST,PCGA_DST,PTAUREL_DST,&
  & PTAU_LW,&
- & PFLUX,PFLUC,PFSDN ,PFSUP , PFSCDN , PFSCUP)
+ & PFLUX,PFLUC,PFSDN ,PFSUP , PFSCDN , PFSCUP,&
+ & PTOAB, PTOACB )   !FC
 
 use write_field_phy
@@ -78,4 +79,6 @@
 ! PFLUX  : (KLON,2,KLEV+1)   ; LW total sky flux (1=up, 2=down)
 ! PFLUC  : (KLON,2,KLEV+1)   ; LW clear sky flux (1=up, 2=down)
+!FC PTOAB : (klon,NLW)           ; LW total sky TOA flux bande
+!FC PTOACB : (klon,NLW)          ; LW clear sky TOA flux bande
 ! PFSDN(KLON,KLEV+1)         ; SW total sky flux down
 ! PFSUP(KLON,KLEV+1)         ; SW total sky flux up
@@ -154,4 +157,7 @@
 USE YOMLUN_IFSAUX , ONLY : NULOUT
 USE YOMCT3        , ONLY : NSTEP
+!FC
+USE PARRRTM, ONLY : JPGPT, GP_PER_LWBAND, JPBAND
+
 
 IMPLICIT NONE
@@ -218,4 +224,6 @@
 REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLUX(KLON,2,KLEV+1) ! LW total sky flux (1=up, 2=down)
 REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLUC(KLON,2,KLEV+1) ! LW clear sky flux (1=up, 2=down)
+REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTOAB(klon,NLW)  ! FC LW full sectral bande TOA
+REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTOACB(klon,NLW) ! FC LW clear spectral TOA
 REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFSDN(KLON,KLEV+1)   ! SW total sky flux down
 REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFSUP(KLON,KLEV+1)   ! SW total sky flux up
@@ -270,7 +278,13 @@
  & , ZRAINT(KLON)       , ZRES(KLON)&
  & , ZTICE(KLON)        , ZEMIT(KLON),  ZBICFU(KLON)&
- & , ZKICFU(KLON)
+ & , ZKICFU(KLON)&
+ & , PTOAG(KLON,JPGPT),PTOACG(KLON,JPGPT) !FC
+
+
 REAL(KIND=JPRB) :: ZSUDU(KLON)   , ZPARF(KLON)       , ZUVDF(KLON), ZPARCF(KLON)
 INTEGER(KIND=JPIM) :: IKL, JK, JKL, JKLP1, JKP1, JL, JNU, JRTM, JSW, INDLAY
+
+INTEGER(KIND=JPIM) :: JLW , JI , J1, J2, J  !FC
+
 
 REAL(KIND=JPRB) :: ZASYMX, ZDIFFD, ZGI, ZGL, ZGR, ZIWGKG, ZLWGKG,&
@@ -318,4 +332,15 @@
   PFLUC(JL,1,KLEV+1) = 0.0_JPRB
   PFLUC(JL,2,KLEV+1) = 0.0_JPRB
+!FC
+  DO JI = 1, JPGPT
+  PTOAG(JL,JI) = 0.0_JPRB
+  PTOACG(JL,JI) = 0.0_JPRB
+  ENDDO
+  DO JI = 1, NLW
+  PTOAB(JL,JI) = 0.0_JPRB
+  PTOACB(JL,JI) = 0.0_JPRB
+  ENDDO
+!FC
+
   ZFSDNN(JL) = 0.0_JPRB
   ZFSDNV(JL) = 0.0_JPRB
@@ -1069,4 +1094,6 @@
 IF (.NOT.LPHYLIN) THEN
   IF ( .NOT. LRRTM) THEN
+           !FC ON EST DANS LE CAS OU NOT.RRTM EST TRUE DONC ON NE PASSE PAS LA
+
 
     CALL LW &
@@ -1114,5 +1141,6 @@
      & ZCLDSW  , ZTAUCLD,&
      & PTAU_LW,&
-     & ZEMIT , PFLUX , PFLUC , ZTCLEAR )
+     & ZEMIT , PFLUX , PFLUC , ZTCLEAR,&
+     & PTOAG, PTOACG )  !FC 
 !   print *,'RADLSW: apres CALL RRTM_RRTM_140GP'
 
@@ -1218,4 +1246,21 @@
 ENDDO
 
+!FC
+  DO JL = KIDIA,KFDIA
+    J1 = 1
+    J2 = 0
+    DO JI = 1, NLW  !NLW=16
+      J2 = J2 + GP_PER_LWBAND(JI)
+      DO J = J1, J2
+      PRINT*, ' J1, J2, J ', J1,J2,J, PTOAB(JL,JI) , PTOAG(JL,J)
+        PTOAB(JL,JI) = PTOAB(JL,JI) + PTOAG(JL,J)
+!        print*,'FKC', JI,J, PTOAB(JL,JI), PTOAG(JL,J)
+        PTOACB(JL,JI) = PTOACB(JL,JI) + PTOACG(JL,J)
+      ENDDO
+      J1 = J1 + GP_PER_LWBAND(JI)
+    ENDDO
+  ENDDO
+!FC
+
 DO JL = KIDIA,KFDIA
   PFRSOD(JL)=ZFSDWN(JL,1)
Index: LMDZ6/trunk/libf/phylmd/rrtm/radlsw.intfb.h
===================================================================
--- LMDZ6/trunk/libf/phylmd/rrtm/radlsw.intfb.h	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/rrtm/radlsw.intfb.h	(revision 5677)
@@ -14,5 +14,6 @@
  & LRDUST,PPIZA_DST,PCGA_DST,PTAUREL_DST,&
  & PTAU_LW,&
- & PFLUX,PFLUC,PFSDN ,PFSUP , PFSCDN , PFSCUP)
+ & PFLUX,PFLUC,PFSDN ,PFSUP , PFSCDN , PFSCUP, &
+ & PTOAB, PTOACB )  !FC
 
 USE PARKIND1 ,ONLY : JPIM ,JPRB
@@ -86,4 +87,7 @@
 REAL(KIND=JPRB) ,INTENT(OUT) :: PFSCDN(KLON,KLEV+1)  ! SW clear sky flux down
 REAL(KIND=JPRB) ,INTENT(OUT) :: PFSCUP(KLON,KLEV+1)  ! SW clear sky flux up
+!FC
+REAL(KIND=JPRB) ,INTENT(OUT) :: PTOAB(KLON,NLW)  ! LW band all sky flux up
+REAL(KIND=JPRB) ,INTENT(OUT) :: PTOACB(KLON,NLW)  ! LW band clear sky flux up
 END SUBROUTINE RADLSW
 END INTERFACE
Index: LMDZ6/trunk/libf/phylmd/rrtm/recmwf_aero.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/rrtm/recmwf_aero.F90	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/rrtm/recmwf_aero.F90	(revision 5677)
@@ -24,4 +24,5 @@
      !--end
      & PFLUX,PFLUC,&
+     & PTOAB  , PTOACB, &  !FC
      & PFSDN ,PFSUP , PFSCDN , PFSCUP, PFSCCDN, PFSCCUP, PFLCCDN, PFLCCUP,&
      !--OB diagnostics
@@ -263,4 +264,6 @@
   REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLCCDN(KPROMA,KLEV+1) ! LW clear sky clean (no aerosol) flux down
   REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLCCUP(KPROMA,KLEV+1) ! LW clear sky clean (no aerosol) flux up
+  REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTOACB(KPROMA,NLW)  ! FC LW clear sky bandes
+  REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTOAB(KPROMA,NLW)   ! FC LW all sky bandes
   !--ajout VOLMIP
   REAL(KIND=JPRB)   ,INTENT(OUT)   :: volmip_solsw(KPROMA) ! SW clear sky in the case of VOLMIP
@@ -496,5 +499,6 @@
              & PSFSWDIF,PFSDNN, PFSDNV  ,&  
              & LRDUST,PPIZA_NAT,PCGA_NAT,PTAU_NAT,PTAU_LW_NAT,PFLUX,PFLUC,&
-             & PFSDN , PFSUP  , PFSCDN  , PFSCUP )
+             & PFSDN , PFSUP  , PFSCDN  , PFSCUP ,&
+             & PTOAB, PTOACB  )   !FC
 
         !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
@@ -536,5 +540,6 @@
              & PSFSWDIF,PFSDNN, PFSDNV  ,&  
              & LRDUST,PPIZA_NAT,PCGA_NAT,PTAU_NAT,PTAU_LW_NAT,PFLUX,PFLUC,&
-             & PFSDN , PFSUP  , PFSCDN  , PFSCUP )
+             & PFSDN , PFSUP  , PFSCDN  , PFSCUP , &
+             & PTOAB,  PTOACB )  !FC
 
         !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
@@ -576,5 +581,6 @@
              & PSFSWDIF,PFSDNN, PFSDNV  ,&  
              & LRDUST,PPIZA_TOT,PCGA_TOT,PTAU_TOT,PTAU_LW_TOT,PFLUX,PFLUC,&
-             & PFSDN , PFSUP  , PFSCDN  , PFSCUP )
+             & PFSDN , PFSUP  , PFSCDN  , PFSCUP ,& 
+             & PTOAB,  PTOACB )   !FC
 
         !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
@@ -615,5 +621,6 @@
              & PSFSWDIF,PFSDNN, PFSDNV  ,&  
              & LRDUST,PPIZA_TOT,PCGA_TOT,PTAU_TOT,PTAU_LW_TOT,PFLUX,PFLUC,&
-             & PFSDN , PFSUP  , PFSCDN  , PFSCUP )
+             & PFSDN , PFSUP  , PFSCDN  , PFSCUP , &
+             & PTOAB, PTOACB )   !FC
 
         !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
@@ -656,5 +663,6 @@
           & PSFSWDIF,PFSDNN, PFSDNV  ,&  
           & LRDUST,PPIZA_ZERO,PCGA_ZERO,PTAU_ZERO, PTAU_LW_ZERO,PFLUX,PFLUC,&
-          & PFSDN , PFSUP  , PFSCDN  , PFSCUP )
+          & PFSDN , PFSUP  , PFSCDN  , PFSCUP , &
+          & PTOAB, PTOACB )   !FC
 
      !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
Index: LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rrtm_140gp.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rrtm_140gp.F90	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rrtm_140gp.F90	(revision 5677)
@@ -41,6 +41,6 @@
  & PCLDF , PTAUCLD,&
  & PTAU_LW,&
- & PEMIT , PFLUX , PFLUC, PTCLEAR &
- & )  
+ & PEMIT , PFLUX , PFLUC, PTCLEAR, &
+ & PTOAG, PTOACG) !FC
 
 ! *** This program is the driver for RRTM, the AER rapid model.  
@@ -88,4 +88,8 @@
 REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLUC(KLON,2,KLEV+1) ! LW clear sky flux (1=up, 2=down)
 REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTCLEAR(KLON) ! clear-sky fraction of column
+
+REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTOAG(KLON,JPGPT) ! full-sky TOA G !FC
+REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTOACG(KLON,JPGPT) ! clear-sky TOA G !FC
+
 INTEGER(KIND=JPIM) :: ICLDLYR(JPLAY)        ! Cloud indicator
 REAL(KIND=JPRB) :: Z_CLDFRAC(JPLAY)           ! Cloud fraction
@@ -116,5 +120,9 @@
 REAL(KIND=JPRB) :: Z_TOTUFLUX(0:JPLAY)
 
-INTEGER(KIND=JPIM) :: i, icld, iplon, I_K
+REAL(KIND=JPRB) :: Z_TOAG(JPGPT) !FC
+REAL(KIND=JPRB) :: Z_TOACG(JPGPT) !FC
+
+
+INTEGER(KIND=JPIM) :: i, icld, iplon, I_K ,JI !FC
 INTEGER(KIND=JPIM) :: ISTART
 INTEGER(KIND=JPIM) :: IEND
@@ -253,7 +261,9 @@
 !  Clear radiative transfer is done for clear layers and cloudy radiative
 !  transfer is done for cloudy layers as identified by icldlyr.
+!FC
 
   CALL RRTM_RTRN1A_140GP (KLEV,ISTART,IEND,ICLDLYR,Z_CLDFRAC,Z_TAUCLD,Z_ABSS1,&
    & Z_OD,Z_TAUSF1,Z_CLFNET,Z_CLHTR,Z_FNET,Z_HTR,Z_TOTDFLUC,Z_TOTDFLUX,Z_TOTUFLUC,Z_TOTUFLUX,&
+   & Z_TOAG, Z_TOACG,&   
    & Z_TAVEL,Z_PZ,Z_TZ,Z_TBOUND,Z_PFRAC,Z_SEMISS,Z_SEMISLW,IREFLECT)  
 
@@ -270,4 +280,10 @@
     PFLUX(iplon,2,i+1) = -Z_TOTDFLUX(i)*Z_FLUXFAC
   ENDDO
+!FC
+  DO JI = 1, JPGPT
+   PTOAG(iplon,JI) = Z_TOAG(JI)*Z_FLUXFAC !FC faire attention aux niveaux (i+1 et i)
+   PTOACG(iplon,JI) = Z_TOACG(JI)*Z_FLUXFAC
+  ENDDO
+!FC
 ENDDO
 
Index: LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rrtm_140gp.intfb.h
===================================================================
--- LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rrtm_140gp.intfb.h	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rrtm_140gp.intfb.h	(revision 5677)
@@ -8,5 +8,6 @@
  & PCLDF , PTAUCLD,&
  & PTAU_LW,&
- & PEMIT , PFLUX , PFLUC, PTCLEAR )
+ & PEMIT , PFLUX , PFLUC, PTCLEAR, &
+ &  PTOAG, PTOACG )  !FC
 USE PARKIND1 ,ONLY : JPIM ,JPRB
 USE YOERAD   ,ONLY : NLW !--C.Kleinschmitt
@@ -40,4 +41,6 @@
 REAL(KIND=JPRB) ,INTENT(OUT) :: PFLUX(KLON,2,KLEV+1)
 REAL(KIND=JPRB) ,INTENT(OUT) :: PFLUC(KLON,2,KLEV+1)
+REAL(KIND=JPRB) ,INTENT(OUT) :: PTOAG(KLON,JPGPT) !FC
+REAL(KIND=JPRB) ,INTENT(OUT) :: PTOACG(KLON,JPGPT) !FC
 REAL(KIND=JPRB) ,INTENT(OUT) :: PTCLEAR(KLON)
 END SUBROUTINE RRTM_RRTM_140GP
Index: LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rtrn1a_140gp.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rtrn1a_140gp.F90	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rtrn1a_140gp.F90	(revision 5677)
@@ -1,6 +1,7 @@
 SUBROUTINE RRTM_RTRN1A_140GP (KLEV,K_ISTART,K_IEND,K_ICLDLYR,P_CLDFRAC,P_TAUCLD,P_ABSS1,&
  & P_OD,P_TAUSF1,P_CLFNET,P_CLHTR,P_FNET,P_HTR,P_TOTDFLUC,P_TOTDFLUX,P_TOTUFLUC,P_TOTUFLUX,&
+ & P_TOAG, P_TOACG ,& 
  & P_TAVEL,PZ,P_TZ,P_TBOUND,PFRAC,P_SEMISS,P_SEMISLW,K_IREFLECT)  
-
+!FC
 !     Reformatted for F90 by JJMorcrette, ECMWF, 980714
 !     Speed-up by D.Salmond, ECMWF, 9907
@@ -50,4 +51,8 @@
 REAL(KIND=JPRB)   ,INTENT(OUT)   :: P_TOTUFLUC(0:JPLAY) 
 REAL(KIND=JPRB)   ,INTENT(OUT)   :: P_TOTUFLUX(0:JPLAY) 
+
+REAL(KIND=JPRB)   ,INTENT(OUT)   :: P_TOAG(JPGPT) !FC
+REAL(KIND=JPRB)   ,INTENT(OUT)   :: P_TOACG(JPGPT) !FC
+
 REAL(KIND=JPRB)   ,INTENT(IN)    :: P_TAVEL(JPLAY) 
 REAL(KIND=JPRB)                  :: PZ(0:JPLAY) ! Argument NOT used
@@ -57,4 +62,8 @@
 REAL(KIND=JPRB)   ,INTENT(IN)    :: P_SEMISS(JPBAND) 
 REAL(KIND=JPRB)   ,INTENT(OUT)   :: P_SEMISLW 
+
+REAL(KIND=JPRB)      :: P_UFLUX(0:JPLAY,JPGPT) !FC DUMMY A CAUSE ORDRE BOUCLE
+REAL(KIND=JPRB)      :: P_UFLUC(0:JPLAY,JPGPT) !FC DUMMY A CAUSE ORDRE BOUCLE
+
 INTEGER(KIND=JPIM)               :: K_IREFLECT ! Argument NOT used
 !- from PROFILE             
@@ -219,4 +228,11 @@
   P_TOTUFLUX(I_LAY) = 0.0_JPRB
   P_TOTDFLUX(I_LAY) = 0.0_JPRB
+!FC
+  DO IPR=1,JPGPT
+  P_UFLUX(I_LAY,IPR) = 0.0_JPRB
+  P_UFLUC(I_LAY,IPR) = 0.0_JPRB
+  ENDDO
+!FC
+
 !-start JJM_000511
   IF (P_TZ(I_LAY) < 339._JPRB .AND. P_TZ(I_LAY) >= 160._JPRB ) THEN
@@ -762,4 +778,8 @@
   Z_RADLU1(IPR) = Z_RADUEMIT(IPR) + (1.0_JPRB - Z_SEMIS(IPR)) * Z_RADD
   Z_URAD1 = Z_URAD1 + Z_RADLU1(IPR)
+!FC
+  P_UFLUC(0,IPR)=Z_WTNUM(1) * Z_RADCLRU1(IPR)
+  P_UFLUX(0,IPR)=Z_WTNUM(1) * Z_RADLU1(IPR)
+!FC
 ENDDO
 P_TOTUFLUC(0) = Z_URADCL1 * 0.5_JPRB
@@ -866,5 +886,20 @@
   P_TOTUFLUX(I_LEV) = Z_URAD1   * Z_WTNUM(1)
 
-ENDDO
+!FC
+   DO IPR=1,JPGPT
+      P_UFLUC(I_LEV,IPR) = Z_WTNUM(1) * Z_RADCLRU1(IPR)
+      P_UFLUX(I_LEV,IPR) = Z_WTNUM(1) * Z_RADLU1(IPR)
+    ENDDO
+!FC
+
+ENDDO ! boucle sur les niveaux FC
+!FC
+    DO IPR=1,JPGPT
+    P_TOACG(IPR)= P_UFLUC(KLEV,IPR)  ! verifier que klev correspond au sommet de l atm
+    P_TOAG(IPR)= P_UFLUX(KLEV,IPR)
+!    print*, ' EXPLIQUER IPR, P_UFLUX(KLEV,IPR), P_UFLUX(1,IPR)',IPR, P_UFLUX(KLEV,IPR), P_UFLUX(1,IPR)
+    ENDDO
+!FC
+
 
 !* Convert radiances to fluxes and heating rates for total and clear sky.
Index: LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rtrn1a_140gp.intfb.h
===================================================================
--- LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rtrn1a_140gp.intfb.h	(revision 5676)
+++ LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rtrn1a_140gp.intfb.h	(revision 5677)
@@ -2,4 +2,5 @@
 SUBROUTINE RRTM_RTRN1A_140GP (KLEV,K_ISTART,K_IEND,K_ICLDLYR,P_CLDFRAC,P_TAUCLD,P_ABSS1,&
  & P_OD,P_TAUSF1,P_CLFNET,P_CLHTR,P_FNET,P_HTR,P_TOTDFLUC,P_TOTDFLUX,P_TOTUFLUC,P_TOTUFLUX,&
+ & P_TOAG, P_TOACG, &
  & P_TAVEL,PZ,P_TZ,P_TBOUND,PFRAC,P_SEMISS,P_SEMISLW,K_IREFLECT) 
 USE PARKIND1 ,ONLY : JPIM ,JPRB
@@ -22,4 +23,6 @@
 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOTUFLUC(0:JPLAY)
 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOTUFLUX(0:JPLAY)
+REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOAG(JPGPT) !FC
+REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOACG(JPGPT) !FC
 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAVEL(JPLAY)
 REAL(KIND=JPRB) :: PZ(0:JPLAY)
