Index: /LMDZ6/trunk/DefLists/field_def_lmdz.xml
===================================================================
--- /LMDZ6/trunk/DefLists/field_def_lmdz.xml	(revision 3105)
+++ /LMDZ6/trunk/DefLists/field_def_lmdz.xml	(revision 3106)
@@ -117,6 +117,8 @@
         <field id="LWupSFC"    long_name="Upwd. IR rad. at surface"    unit="W/m2" />
         <field id="LWupSFCclr"    long_name="CS Upwd. IR rad. at surface"    unit="W/m2" />
+        <field id="LWupTOAcleanclr"    long_name="CS clean (no aerosol) Upwd. IR rad. at TOA"    unit="W/m2" />
         <field id="LWdnSFC"    long_name="Down. IR rad. at surface"    unit="W/m2" />
         <field id="LWdnSFCclr"    long_name="Down. CS IR rad. at surface"    unit="W/m2" />
+        <field id="LWdnSFCcleanclr"    long_name="Down. CS clean (no aerosol) IR rad. at surface"    unit="W/m2" />
         <field id="bils"    long_name="Surf. total heat flux"    unit="W/m2" />
         <field id="bils_tke"    long_name="Surf. total heat flux"    unit="W/m2" />
Index: /LMDZ6/trunk/libf/phylmd/iophy.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/iophy.F90	(revision 3105)
+++ /LMDZ6/trunk/libf/phylmd/iophy.F90	(revision 3106)
@@ -665,5 +665,6 @@
 
     ! Set swaerofree_diag=true if at least one of the concerned variables are defined 
-    IF (var%name=='SWupTOAcleanclr' .OR. var%name=='SWupSFCcleanclr' .OR. var%name=='SWdnSFCcleanclr' ) THEN
+    IF (var%name=='SWupTOAcleanclr' .OR. var%name=='SWupSFCcleanclr' .OR. var%name=='SWdnSFCcleanclr' .OR. & 
+        var%name=='LWupTOAcleanclr' .OR. var%name=='LWupSFCcleanclr' .OR. var%name=='LWdnSFCcleanclr' ) THEN
        IF  ( var%flag(iff)<=lev_files(iff) ) swaerofree_diag=.TRUE.
     ENDIF
Index: /LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 3105)
+++ /LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 3106)
@@ -389,5 +389,5 @@
   TYPE(ctrl_out), SAVE :: o_SWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
     'SWupTOAclr', 'SWup clear sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
-  TYPE(ctrl_out), SAVE :: o_SWupTOAcleanclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
+  TYPE(ctrl_out), SAVE :: o_SWupTOAcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     'SWupTOAcleanclr', 'SWup clear sky clean (no aerosol) at TOA', 'W/m2', (/ ('', i=1, 10) /))
   TYPE(ctrl_out), SAVE :: o_SWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
@@ -437,5 +437,5 @@
   TYPE(ctrl_out), SAVE :: o_SWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
     'SWupSFCclr', 'SWup clear sky at surface', 'W/m2', (/ ('', i=1, 10) /))
-  TYPE(ctrl_out), SAVE :: o_SWupSFCcleanclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
+  TYPE(ctrl_out), SAVE :: o_SWupSFCcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     'SWupSFCcleanclr', 'SWup clear sky clean (no aerosol) at surface', 'W/m2', (/ ('', i=1, 10) /))
   TYPE(ctrl_out), SAVE :: o_SWdnSFC = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
@@ -443,5 +443,5 @@
   TYPE(ctrl_out), SAVE :: o_SWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
     'SWdnSFCclr', 'SWdn clear sky at surface', 'W/m2', (/ ('', i=1, 10) /))
-  TYPE(ctrl_out), SAVE :: o_SWdnSFCcleanclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
+  TYPE(ctrl_out), SAVE :: o_SWdnSFCcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     'SWdnSFCcleanclr', 'SWdn clear sky clean (no aerosol) at surface', 'W/m2', (/ ('', i=1, 10) /))
   TYPE(ctrl_out), SAVE :: o_LWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
@@ -453,4 +453,8 @@
   TYPE(ctrl_out), SAVE :: o_LWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
     'LWdnSFCclr', 'Down. CS IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_LWupTOAcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
+    'LWupTOAcleanclr', 'Upward CS clean (no aerosol) IR rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_LWdnSFCcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
+    'LWdnSFCcleanclr', 'Downward CS clean (no aerosol) IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
   TYPE(ctrl_out), SAVE :: o_bils = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
     'bils', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
Index: /LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 3105)
+++ /LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 3106)
@@ -51,5 +51,5 @@
          o_SWupSFCclr, o_SWupSFCcleanclr, o_SWdnSFC, o_SWdnSFCclr, o_SWdnSFCcleanclr, &
          o_LWupSFC, o_LWdnSFC, o_LWupSFCclr, &
-         o_LWdnSFCclr, o_bils, o_bils_diss, &
+         o_LWdnSFCclr, o_LWupTOAcleanclr, o_LWdnSFCcleanclr, o_bils, o_bils_diss, &
          o_bils_ec,o_bils_ech, o_bils_tke, o_bils_kinetic, &
          o_bils_latent, o_bils_enthalp, o_sens, &
@@ -216,5 +216,5 @@
          LWdn200, LWdn200clr, solsw, solsw0, sollw, &
          radsol, swradcorr, sollw0, sollwdown, sollw, gustiness, &
-         sollwdownclr, lwdn0, ftsol, ustar, u10m, &
+         sollwdownclr, lwdnc0, lwdn0, ftsol, ustar, u10m, &
          v10m, pbl_tke, wake_delta_pbl_TKE, &
          delta_tsurf, &
@@ -226,7 +226,7 @@
          rnebcon, wo, falb1, albsol2, coefh, clwcon0, &
          ratqs, entr_therm, zqasc, detr_therm, f0, &
-         lwup, lwdn, lwup0, coefm, &
-         swupp, lwupp, swupc0p, swup0p, lwup0p, swdnp, lwdnp, &
-         swdnc0p, swdn0p, lwdn0p, tnondef, O3sumSTD, uvsumSTD, &
+         lwup, lwdn, lwupc0, lwup0, coefm, &
+         swupp, lwupp, swupc0p, swup0p, lwupc0p, lwup0p, swdnp, lwdnp, &
+         swdnc0p, swdn0p, lwdnc0p, lwdn0p, tnondef, O3sumSTD, uvsumSTD, &
          vqsumSTD, vTsumSTD, O3daysumSTD, wqsumSTD, &
          vphisumSTD, wTsumSTD, u2sumSTD, v2sumSTD, &
@@ -787,4 +787,14 @@
        CALL histwrite_phy(o_LWupSFCclr, zx_tmp_fi2d)
        CALL histwrite_phy(o_LWdnSFCclr, sollwdownclr)
+
+       IF (vars_defined) THEN
+          zx_tmp_fi2d(:) = lwupc0(:,klevp1)
+       ENDIF
+       CALL histwrite_phy(o_LWupTOAcleanclr, zx_tmp_fi2d)
+       IF (vars_defined) THEN
+          zx_tmp_fi2d(:) = -1.*lwdnc0(:,1)
+       ENDIF
+       CALL histwrite_phy(o_LWdnSFCcleanclr, zx_tmp_fi2d)
+
        CALL histwrite_phy(o_bils, bils)
        CALL histwrite_phy(o_bils_diss, bils_diss)
Index: /LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90	(revision 3105)
+++ /LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90	(revision 3106)
@@ -119,8 +119,8 @@
       REAL,ALLOCATABLE,SAVE :: SWup200clr(:), SWup200(:)
 !$OMP THREADPRIVATE(SWup200clr,SWup200)
-      REAL,ALLOCATABLE,SAVE :: lwdn0(:,:), lwdn(:,:)
-!$OMP THREADPRIVATE(lwdn0,lwdn)
-      REAL,ALLOCATABLE,SAVE :: lwup0(:,:), lwup(:,:)
-!$OMP THREADPRIVATE(lwup0,lwup)
+      REAL,ALLOCATABLE,SAVE :: lwdnc0(:,:), lwdn0(:,:), lwdn(:,:)
+!$OMP THREADPRIVATE(lwdnc0,lwdn0,lwdn)
+      REAL,ALLOCATABLE,SAVE :: lwupc0(:,:), lwup0(:,:), lwup(:,:)
+!$OMP THREADPRIVATE(lwupc0,lwup0,lwup)
       REAL,ALLOCATABLE,SAVE :: LWdn200clr(:), LWdn200(:)
 !$OMP THREADPRIVATE(LWdn200clr,LWdn200)
@@ -352,7 +352,7 @@
       REAL,ALLOCATABLE,SAVE :: solsw0p(:),sollw0p(:)
 !$OMP THREADPRIVATE(topsw0p,toplw0p,solsw0p,sollw0p)
-      REAL,ALLOCATABLE,SAVE :: lwdn0p(:,:), lwdnp(:,:)
-      REAL,ALLOCATABLE,SAVE :: lwup0p(:,:), lwupp(:,:)
-!$OMP THREADPRIVATE(lwdn0p, lwdnp, lwup0p, lwupp)
+      REAL,ALLOCATABLE,SAVE :: lwdnc0p(:,:), lwdn0p(:,:), lwdnp(:,:)
+      REAL,ALLOCATABLE,SAVE :: lwupc0p(:,:), lwup0p(:,:), lwupp(:,:)
+!$OMP THREADPRIVATE(lwdnc0p, lwdn0p, lwdnp, lwupc0p, lwup0p, lwupp)
       REAL,ALLOCATABLE,SAVE :: swdnc0p(:,:), swdn0p(:,:), swdnp(:,:)
       REAL,ALLOCATABLE,SAVE :: swupc0p(:,:), swup0p(:,:), swupp(:,:)
@@ -480,6 +480,6 @@
       ALLOCATE(swdnc0(klon,klevp1), swdn0(klon,klevp1), swdn(klon,klevp1))
       ALLOCATE(swupc0(klon,klevp1), swup0(klon,klevp1), swup(klon,klevp1))
-      ALLOCATE(lwdn0(klon,klevp1), lwdn(klon,klevp1))
-      ALLOCATE(lwup0(klon,klevp1), lwup(klon,klevp1))
+      ALLOCATE(lwdnc0(klon,klevp1), lwdn0(klon,klevp1), lwdn(klon,klevp1))
+      ALLOCATE(lwupc0(klon,klevp1), lwup0(klon,klevp1), lwup(klon,klevp1))
       ALLOCATE(SWdn200clr(klon), SWdn200(klon))
       ALLOCATE(SWup200clr(klon), SWup200(klon))
@@ -576,6 +576,6 @@
       ALLOCATE(topsw0p(klon),toplw0p(klon))
       ALLOCATE(solsw0p(klon),sollw0p(klon))
-      ALLOCATE(lwdn0p(klon,klevp1), lwdnp(klon,klevp1))
-      ALLOCATE(lwup0p(klon,klevp1), lwupp(klon,klevp1))
+      ALLOCATE(lwdnc0p(klon,klevp1), lwdn0p(klon,klevp1), lwdnp(klon,klevp1))
+      ALLOCATE(lwupc0p(klon,klevp1), lwup0p(klon,klevp1), lwupp(klon,klevp1))
       ALLOCATE(swdnc0p(klon,klevp1), swdn0p(klon,klevp1), swdnp(klon,klevp1))
       ALLOCATE(swupc0p(klon,klevp1), swup0p(klon,klevp1), swupp(klon,klevp1))
@@ -638,6 +638,6 @@
       deallocate(swdnc0, swdn0, swdn)
       deallocate(swupc0, swup0, swup)
-      deallocate(lwdn0, lwdn)
-      deallocate(lwup0, lwup)
+      deallocate(lwdnc0, lwdn0, lwdn)
+      deallocate(lwupc0, lwup0, lwup)
       deallocate(SWdn200clr, SWdn200)
       deallocate(SWup200clr, SWup200)
@@ -711,6 +711,6 @@
       deallocate(topsw0p,toplw0p)
       deallocate(solsw0p,sollw0p)
-      deallocate(lwdn0p, lwdnp)
-      deallocate(lwup0p, lwupp)
+      deallocate(lwdnc0p, lwdn0p, lwdnp)
+      deallocate(lwupc0p, lwup0p, lwupp)
       deallocate(swdnc0p, swdn0p, swdnp)
       deallocate(swupc0p, swup0p, swupp)
Index: /LMDZ6/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 3105)
+++ /LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 3106)
@@ -1626,6 +1626,7 @@
        !--setting up swaerofree_diag to TRUE in XIOS case 
        IF (xios_field_is_active("SWdnSFCcleanclr").OR.xios_field_is_active("SWupSFCcleanclr").OR. &
-           xios_field_is_active("SWupTOAcleanclr").OR.xios_field_is_active("rsucsaf").OR. &
-           xios_field_is_active("rsdcsaf")) & 
+           xios_field_is_active("SWupTOAcleanclr").OR.xios_field_is_active("rsucsaf").OR.   &
+           xios_field_is_active("rsdcsaf") .OR. xios_field_is_active("LWdnSFCcleanclr").OR. &
+           xios_field_is_active("LWupSFCcleanclr").OR. xios_field_is_active("LWupTOAcleanclr")) &
            swaerofree_diag=.TRUE. 
 
@@ -3772,5 +3773,5 @@
                sollwdown, &
                topsw0,toplw0,solsw0,sollw0, &
-               lwdn0, lwdn, lwup0, lwup,  &
+               lwdnc0, lwdn0, lwdn, lwupc0, lwup0, lwup,  &
                swdnc0, swdn0, swdn, swupc0, swup0, swup, &
                topswad_aero, solswad_aero, &
@@ -3856,5 +3857,5 @@
                      sollwdownp, &
                      topsw0p,toplw0p,solsw0p,sollw0p, &
-                     lwdn0p, lwdnp, lwup0p, lwupp,  &
+                     lwdnc0p, lwdn0p, lwdnp, lwupc0p, lwup0p, lwupp,  &
                      swdnc0p, swdn0p, swdnp, swupc0p, swup0p, swupp, &
                      topswad_aerop, solswad_aerop, &
Index: /LMDZ6/trunk/libf/phylmd/radlwsw_m.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/radlwsw_m.F90	(revision 3105)
+++ /LMDZ6/trunk/libf/phylmd/radlwsw_m.F90	(revision 3106)
@@ -28,5 +28,5 @@
    sollwdown,&
    topsw0,toplw0,solsw0,sollw0,&
-   lwdn0, lwdn, lwup0, lwup,&
+   lwdnc0, lwdn0, lwdn, lwupc0, lwup0, lwup,&
    swdnc0, swdn0, swdn, swupc0, swup0, swup,&
    topswad_aero, solswad_aero,&
@@ -151,5 +151,7 @@
   ! ZFSUP (klon,KLEV+1)           ; TOTAL SW  UP  FLUXES           ! added by MPL 080411
   ! ZFCUP (klon,KLEV+1)           ; CLEAR SKY SW  UP  FLUXES       ! added by MPL 080411
-  ! ZFCCUP (klon,KLEV+1)          ; CLEAR SKY CLEAN (NO AEROSOL) SW  UP  FLUXES       ! added by OB 211117
+  ! ZFCCUP (klon,KLEV+1)          ; CLEAR SKY CLEAN (NO AEROSOL) SW  UP  FLUXES      ! added by OB 211117
+  ! ZFLCCDWN(klon,KLEV+1)         ; CLEAR SKY CLEAN (NO AEROSOL) LW  DWN FLUXES      ! added by OB 211117
+  ! ZFLCCUP (klon,KLEV+1)         ; CLEAR SKY CLEAN (NO AEROSOL) LW  UP  FLUXES      ! added by OB 211117
   
   !======================================================================
@@ -230,6 +232,6 @@
   REAL,    INTENT(out) :: swdn(KLON,kflev+1),swdn0(KLON,kflev+1), swdnc0(KLON,kflev+1)
   REAL,    INTENT(out) :: swup(KLON,kflev+1),swup0(KLON,kflev+1), swupc0(KLON,kflev+1)
-  REAL,    INTENT(out) :: lwdn(KLON,kflev+1),lwdn0(KLON,kflev+1)
-  REAL,    INTENT(out) :: lwup(KLON,kflev+1),lwup0(KLON,kflev+1)
+  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)
   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
@@ -260,4 +262,6 @@
   REAL(KIND=8) ZFLUP0(KDLON,KFLEV+1)
   REAL(KIND=8) ZFLDN0(KDLON,KFLEV+1)
+  REAL(KIND=8) ZFLUPC0(KDLON,KFLEV+1)
+  REAL(KIND=8) ZFLDNC0(KDLON,KFLEV+1)
   REAL(KIND=8) zx_alpha1, zx_alpha2
   INTEGER k, kk, i, j, iof, nb_gr
@@ -372,4 +376,6 @@
       REAL(KIND=8) ZFCUP_i (klon,klev+1)
       REAL(KIND=8) ZFCCUP_i (klon,klev+1)
+      REAL(KIND=8) ZFLCCDWN_i (klon,klev+1)
+      REAL(KIND=8) ZFLCCUP_i (klon,klev+1)
 ! 3 lignes suivantes a activer pour CCMVAL (MPL 20100412)
 !      REAL(KIND=8) RSUN(3,2)
@@ -583,4 +589,6 @@
       ZFSUPC0(i,k)=0.
       ZFSDNC0(i,k)=0.
+      ZFLUPC0(i,k)=0.
+      ZFLDNC0(i,k)=0.
       ZSWFT0_i(i,k)=0.
       ZFCUP_i(i,k)=0.
@@ -588,4 +596,6 @@
       ZFCCUP_i(i,k)=0.
       ZFCCDWN_i(i,k)=0.
+      ZFLCCUP_i(i,k)=0.
+      ZFLCCDWN_i(i,k)=0.
       ENDDO
       ENDDO
@@ -690,4 +700,6 @@
       ZFCUP_i(i,k)=0.
       ZFCCUP_i(i,k)=0.
+      ZFLCCDWN_i(i,k)=0.
+      ZFLCCUP_i(i,k)=0.
       ENDDO
       ENDDO
@@ -835,5 +847,5 @@
          PTAU_LW_TOT, PTAU_LW_NAT,               &  ! rajoute par C. Kleinschmitt
          ZFLUX_i  , ZFLUC_i ,&
-         ZFSDWN_i , ZFSUP_i , ZFCDWN_i, ZFCUP_i, ZFCCDWN_i, ZFCCUP_i, &
+         ZFSDWN_i , ZFSUP_i , ZFCDWN_i, ZFCUP_i, ZFCCDWN_i, ZFCCUP_i, ZFLCCDWN_i, ZFLCCUP_i, &
          ZTOPSWADAERO,ZSOLSWADAERO,&  ! rajoute par OB pour diagnostics
          ZTOPSWAD0AERO,ZSOLSWAD0AERO,&
@@ -920,4 +932,6 @@
          ZFSUP0(i,k+1) = ZFCUP_i(i,k+1)*fract(i)
          ZFSUPC0(i,k+1)= ZFCCUP_i(i,k+1)*fract(i)
+         ZFLDNC0(i,k+1)= ZFLCCDWN_i(i,k+1)
+         ZFLUPC0(i,k+1)= ZFLCCUP_i(i,k+1)
 !   Nouveau calcul car visiblement ZSWFT et ZSWFC sont nuls dans RRTM cy32
 !   en sortie de radlsw.F90 - MPL 7.01.09
@@ -1037,4 +1051,6 @@
         swup0 ( iof+i,k)   = ZFSUP0 ( i,k)
         swup  ( iof+i,k)   = ZFSUP  ( i,k)
+        lwdnc0( iof+i,k)   = ZFLDNC0( i,k)
+        lwupc0( iof+i,k)   = ZFLUPC0( i,k)
       ENDDO
     ENDDO
Index: /LMDZ6/trunk/libf/phylmd/rrtm/recmwf_aero.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/rrtm/recmwf_aero.F90	(revision 3105)
+++ /LMDZ6/trunk/libf/phylmd/rrtm/recmwf_aero.F90	(revision 3106)
@@ -24,5 +24,5 @@
 !--end
  & PFLUX,PFLUC,&
- & PFSDN ,PFSUP , PFSCDN , PFSCUP, PFSCCDN, PFSCCUP, &
+ & PFSDN ,PFSUP , PFSCDN , PFSCUP, PFSCCDN, PFSCCUP, PFLCCDN, PFLCCUP,&
 !--OB diagnostics
  & PTOPSWADAERO,PSOLSWADAERO,&
@@ -110,6 +110,8 @@
 ! PFSCDN(KPROMA,KLEV+1)         ; SW clear sky flux down
 ! PFSCUP(KPROMA,KLEV+1)         ; SW clear sky flux up
-! PFSCCDN(KPROMA,KLEV+1)         ; SW clear sky clean (no aerosol) flux down
-! PFSCCUP(KPROMA,KLEV+1)         ; SW clear sky clean (no aerosol) flux up
+! PFSCCDN(KPROMA,KLEV+1)        ; SW clear sky clean (no aerosol) flux down
+! PFSCCUP(KPROMA,KLEV+1)        ; SW clear sky clean (no aerosol) flux up
+! PFLCCDN(KPROMA,KLEV+1)        ; LW clear sky clean (no aerosol) flux down
+! PFLCCUP(KPROMA,KLEV+1)        ; LW clear sky clean (no aerosol) flux up
 
 
@@ -243,6 +245,8 @@
 REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFSCDN(KPROMA,KLEV+1)  ! SW clear sky flux down
 REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFSCUP(KPROMA,KLEV+1)  ! SW clear sky flux up
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFSCCDN(KPROMA,KLEV+1)  ! SW clear sky clean (no aerosol) flux down
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFSCCUP(KPROMA,KLEV+1)  ! SW clear sky clean (no aerosol) flux up
+REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFSCCDN(KPROMA,KLEV+1) ! SW clear sky clean (no aerosol) flux down
+REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFSCCUP(KPROMA,KLEV+1) ! SW clear sky clean (no aerosol) flux up
+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
 
 !     ==== COMPUTED IN RADITE ===
@@ -779,7 +783,10 @@
 
 IF (swaerofree_diag) THEN
-! copy clear-sky clean (no aerosol) case
+! copy shortwave clear-sky clean (no aerosol) case
   PFSCCUP(:,:) =   ZFSUP0_AERO(:,:,5)
   PFSCCDN(:,:) =   ZFSDN0_AERO(:,:,5)
+! copy longwave clear-sky clean (no aerosol) case
+  PFLCCUP(:,:) =   LWUP0_AERO(:,:,5)
+  PFLCCDN(:,:) =   LWDN0_AERO(:,:,5)
 ENDIF
 
