Index: /LMDZ.3.3/branches/rel-LF/libf/phylmd/radlwsw.F
===================================================================
--- /LMDZ.3.3/branches/rel-LF/libf/phylmd/radlwsw.F	(revision 502)
+++ /LMDZ.3.3/branches/rel-LF/libf/phylmd/radlwsw.F	(revision 503)
@@ -6,5 +6,10 @@
      .                  topsw,toplw,solsw,sollw,
      .                  sollwdown,
+cIM  .                  sollwdown, sollwdownclr,
+cIM  .                  toplwdown, toplwdownclr,
      .                  topsw0,toplw0,solsw0,sollw0,
+cIM BEG
+     .                  lwdn0, lwdn, lwup0, lwup,
+cIM END
      .                  swdn0, swdn, swup0, swup    )
       IMPLICIT none
@@ -63,4 +68,13 @@
       REAL*8 ZFSUP0(KDLON,KFLEV+1)
       REAL*8 ZFSDN0(KDLON,KFLEV+1)
+cIM
+cIM
+cIM   real sollwdownclr(klon) !LWdnSFCclr
+cIM   real toplwdown(klon) !LWdnTOA
+cIM   real toplwdownclr(klon) !LWdnTOAclr
+      REAL*8 ZFLUP(KDLON,KFLEV+1)
+      REAL*8 ZFLDN(KDLON,KFLEV+1)
+      REAL*8 ZFLUP0(KDLON,KFLEV+1)
+      REAL*8 ZFLDN0(KDLON,KFLEV+1)
 c
       REAL*8 zx_alpha1, zx_alpha2
@@ -94,11 +108,20 @@
       REAL*8 ztopsw(kdlon), ztoplw(kdlon)
       REAL*8 zsolsw(kdlon), zsollw(kdlon), zalbpla(kdlon)
+cIM BEG
       REAL*8 zsollwdown(kdlon)
+cIM   REAL*8 zsollwdown(kdlon), zsollwdownclr(kdlon)
+cIM   REAL*8 ztoplwdown(kdlon), ztoplwdownclr(kdlon)
+cIM END
       REAL*8 ztopsw0(kdlon), ztoplw0(kdlon)
       REAL*8 zsolsw0(kdlon), zsollw0(kdlon)
       REAL*8 zznormcp
-      REAL swdn(klon,2),swdn0(klon,2),swup(klon,2),swup0(klon,2)
-c
-c-------------------------------------------
+cIM 080304   REAL swdn(klon,2),swdn0(klon,2),swup(klon,2),swup0(klon,2)
+      REAL swdn(klon,kflev+1),swdn0(klon,kflev+1)
+      REAL swup(klon,kflev+1),swup0(klon,kflev+1)
+cIM BEG
+      REAL lwdn(klon,kflev+1),lwdn0(klon,kflev+1)
+      REAL lwup(klon,kflev+1),lwup0(klon,kflev+1)
+cIM END
+c---------------------------------------------------------------
       nb_gr = klon / kdlon
       IF (nb_gr*kdlon .NE. klon) THEN
@@ -212,5 +235,8 @@
      .        zcool, zcool0,
      .        ztoplw,zsollw,ztoplw0,zsollw0,
-     .        zsollwdown)
+     .        zsollwdown,
+cIM  .        zsollwdown,zsollwdownclr,
+cIM  .        ztoplwdown,ztoplwdownclr)
+     .        ZFLUP, ZFLDN, ZFLUP0,ZFLDN0)
 cIM ctes ds clesphys.h   CALL SW(PSCT, RCO2, zrmu0, zfract,
       CALL SW(PSCT, zrmu0, zfract,
@@ -230,4 +256,18 @@
          sollw(iof+i) = zsollw(i)
          sollwdown(iof+i) = zsollwdown(i)
+cIM
+cIM      sollwdownclr(iof+i) = zsollwdownclr(i)
+cIM BEG
+cIM      toplwdown(iof+i) = ztoplwdown(i)
+cIM      toplwdownclr(iof+i) = ztoplwdownclr(i)
+cIM END
+cIM 110304 BEG
+         DO k = 1, kflev+1
+         lwdn0 ( iof+i,k)   = ZFLDN0 ( i,k)
+         lwdn  ( iof+i,k)   = ZFLDN  ( i,k)
+         lwup0 ( iof+i,k)   = ZFLUP0 ( i,k)
+         lwup  ( iof+i,k)   = ZFLUP  ( i,k)
+         ENDDO
+cIM 110304 END
          topsw0(iof+i) = ztopsw0(i)
          toplw0(iof+i) = ztoplw0(i)
@@ -235,12 +275,20 @@
          sollw0(iof+i) = zsollw0(i)
          albpla(iof+i) = zalbpla(i)
-         swdn0 ( iof+i,1)   = ZFSDN0 ( i,1 )
-         swdn0 ( iof+i,2)   = ZFSDN0 ( i,kflev + 1 )
-         swdn  ( iof+i,1)   = ZFSDN  ( i,1 )
-         swdn  ( iof+i,2)   = ZFSDN  ( i,kflev + 1 )
-         swup0 ( iof+i,1)   = ZFSUP0 ( i,1 )
-         swup0 ( iof+i,2)   = ZFSUP0 ( i,kflev + 1 )
-         swup  ( iof+i,1)   = ZFSUP  ( i,1 )
-         swup  ( iof+i,2)   = ZFSUP  ( i,kflev + 1 )
+cIM 080304 BEG
+         DO k = 1, kflev+1
+         swdn0 ( iof+i,k)   = ZFSDN0 ( i,k)
+         swdn  ( iof+i,k)   = ZFSDN  ( i,k)
+         swup0 ( iof+i,k)   = ZFSUP0 ( i,k)
+         swup  ( iof+i,k)   = ZFSUP  ( i,k)
+         ENDDO !k=1, kflev+1
+cIM 080304 END
+c        swdn0 ( iof+i,1)   = ZFSDN0 ( i,1 )
+c        swdn0 ( iof+i,2)   = ZFSDN0 ( i,kflev + 1 )
+c        swdn  ( iof+i,1)   = ZFSDN  ( i,1 )
+c        swdn  ( iof+i,2)   = ZFSDN  ( i,kflev + 1 )
+c        swup0 ( iof+i,1)   = ZFSUP0 ( i,1 )
+c        swup0 ( iof+i,2)   = ZFSUP0 ( i,kflev + 1 )
+c        swup  ( iof+i,1)   = ZFSUP  ( i,1 )
+c        swup  ( iof+i,2)   = ZFSUP  ( i,kflev + 1 )
       ENDDO
       DO k = 1, kflev
@@ -2508,5 +2556,8 @@
      .              PCOLR, PCOLR0,
      .              PTOPLW,PSOLLW,PTOPLW0,PSOLLW0,
-     .              psollwdown)
+     .              psollwdown,
+cIM  .              psollwdown,psollwdownclr,
+cIM  .              ptoplwdown,ptoplwdownclr)
+     .              plwup, plwdn, plwup0, plwdn0)
       IMPLICIT none
 #include "dimensions.h"
@@ -2574,5 +2625,13 @@
 c Rajout LF
       real*8 psollwdown(kdlon)    ! LONGWAVE downwards flux at surface
-C
+c Rajout IM
+cIM   real*8 psollwdownclr(kdlon) ! LONGWAVE CS downwards flux at surface
+cIM   real*8 ptoplwdown(kdlon)    ! LONGWAVE downwards flux at T.O.A.
+cIM   real*8 ptoplwdownclr(kdlon) ! LONGWAVE CS downwards flux at T.O.A.
+cIM
+      REAL*8 plwup(KDLON,KFLEV+1)  ! LW up total sky
+      REAL*8 plwup0(KDLON,KFLEV+1) ! LW up clear sky
+      REAL*8 plwdn(KDLON,KFLEV+1)  ! LW down total sky
+      REAL*8 plwdn0(KDLON,KFLEV+1) ! LW down clear sky
 C-------------------------------------------------------------------------
       REAL*8 ZABCU(KDLON,NUA,3*KFLEV+1)
@@ -2648,4 +2707,16 @@
          PTOPLW0(i) = ZFLUC(i,1,KFLEV+1) + ZFLUC(i,2,KFLEV+1)
          psollwdown(i) = -ZFLUX(i,2,1)
+cIM
+cIM      psollwdownclr(i) = -ZFLUC(i,2,1)
+cIM      ptoplwdown(i) = ZFLUX(i,2,KFLEV+1)
+cIM      ptoplwdownclr(i) = ZFLUC(i,2,KFLEV+1)
+cIM
+cIM attention aux signes !; LWtop >0, LWdn < 0
+         DO k = 1, KFLEV+1
+           plwup(i,k) = ZFLUX(i,1,k)
+           plwup0(i,k) = ZFLUC(i,1,k)
+           plwdn(i,k) = ZFLUX(i,2,k)
+           plwdn0(i,k) = ZFLUC(i,2,k)
+         ENDDO
       ENDDO
 C     ------------------------------------------------------------------
