Index: LMDZ6/trunk/libf/phylmd/ecrad/radiation_scheme.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/ecrad/radiation_scheme.F90	(revision 4030)
+++ LMDZ6/trunk/libf/phylmd/ecrad/radiation_scheme.F90	(revision 4031)
@@ -22,5 +22,6 @@
      &  PPRESSURE, PTEMPERATURE, &
      &  PPRESSURE_H, PTEMPERATURE_H, PQ, PQSAT, &
-     &  PCO2, PCH4, PN2O, PNO2, PCFC11, PCFC12, PHCFC22, PCCL4, PO3_DP, &
+     &  PCO2, PCH4, PN2O, PNO2, PCFC11, PCFC12, PHCFC22, &
+     &  PCCL4, PO3, PO2, &
      &  PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_RAIN, PQ_SNOW, &
      &  ZRE_LIQUID_UM, ZRE_ICE_UM, &
@@ -151,13 +152,14 @@
 ! AI
 REAL(KIND=JPRB),   INTENT(IN) :: PQSAT(KLON,KLEV)
-REAL(KIND=JPRB),   INTENT(IN) :: PCO2(KLON,KLEV) 
-REAL(KIND=JPRB),   INTENT(IN) :: PCH4(KLON,KLEV) 
-REAL(KIND=JPRB),   INTENT(IN) :: PN2O(KLON,KLEV) 
-REAL(KIND=JPRB),   INTENT(IN) :: PNO2(KLON,KLEV) 
-REAL(KIND=JPRB),   INTENT(IN) :: PCFC11(KLON,KLEV) 
-REAL(KIND=JPRB),   INTENT(IN) :: PCFC12(KLON,KLEV) 
-REAL(KIND=JPRB),   INTENT(IN) :: PHCFC22(KLON,KLEV) 
-REAL(KIND=JPRB),   INTENT(IN) :: PCCL4(KLON,KLEV) 
-REAL(KIND=JPRB),   INTENT(IN) :: PO3_DP(KLON,KLEV) ! AI (kg/kg) ATTENTION (Pa*kg/kg) 
+REAL(KIND=JPRB),   INTENT(IN) :: PCO2
+REAL(KIND=JPRB),   INTENT(IN) :: PCH4 
+REAL(KIND=JPRB),   INTENT(IN) :: PN2O 
+REAL(KIND=JPRB),   INTENT(IN) :: PNO2 
+REAL(KIND=JPRB),   INTENT(IN) :: PCFC11
+REAL(KIND=JPRB),   INTENT(IN) :: PCFC12
+REAL(KIND=JPRB),   INTENT(IN) :: PHCFC22
+REAL(KIND=JPRB),   INTENT(IN) :: PCCL4
+REAL(KIND=JPRB),   INTENT(IN) :: PO3(KLON,KLEV) ! AI (kg/kg) ATTENTION (Pa*kg/kg) 
+REAL(KIND=JPRB),   INTENT(IN) :: PO2
 
 ! *** Cloud fraction and hydrometeor mass mixing ratios
@@ -326,5 +328,5 @@
   print*,'PCO2, PCH4, PN2O, PNO2, PCFC11, PCFC12, PHCFC22, PCCL4 =', &
         PCO2, PCH4, PN2O, PNO2, PCFC11, PCFC12, PHCFC22, PCCL4
-  print*,'PO3_DP =',PO3_DP
+  print*,'PO3 =',PO3
   print*,'PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_RAIN, PQ_SNOW =', &
         PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_RAIN, PQ_SNOW
@@ -345,4 +347,9 @@
 ! AI appel radiation_setup
 call SETUP_RADIATION_SCHEME(loutput)
+!! Les 6 bandes SW pour l'albedo :
+!! 0.185-0.25, 0.25-0.4, 0.4-0.69 , 0.69-1.19, 1.19-2.38, 2.38-4.00 micro-metre
+  call rad_config%define_sw_albedo_intervals(6, &
+             &  (/ 0.25e-6_jprb, 0.44e-6_jprb, 1.19e-6_jprb, &
+             &     2.38e-6_jprb, 4.00e-6_jprb /),  (/ 1,2,3,4,5,6 /))
 
 if (lprint_config) then
@@ -372,22 +379,8 @@
   print*,'rad_config%i_emiss_from_band_lw =', rad_config%i_emiss_from_band_lw
 endif
-!stop
-! A EFFACER
-!print*,'n_g_lw, n_g_sw =', rad_config%n_g_lw, rad_config%n_g_sw
-!print*,'use_canopy_full_spectrum_lw = ', rad_config%use_canopy_full_spectrum_lw
-!print*,'rad_config%i_band_from_reordered_g_lw =', &
-!       rad_config%i_band_from_reordered_g_lw
-!print*,'use_canopy_full_spectrum_lw =', rad_config%use_canopy_full_spectrum_lw
-!rad_config%use_canopy_full_spectrum_lw = .TRUE.
-! AI ATTENTION
-!rad_config%i_band_from_reordered_g_lw = 1
-!rad_config%use_spectral_solar_scaling = .true.
-!endif
-! AI ATTENTION test
-!rad_config%i_gas_model = IGasModelMonochromatic
 
 ! AI ATTENTION
 ! Allocate memory in radiation objects
-CALL single_level%allocate(KLON, NSW, 2, &
+CALL single_level%allocate(KLON, NSW, 1, &
      &                     use_sw_albedo_direct=.TRUE.)
 
@@ -420,8 +413,8 @@
 ! temperature at the half-level corresponding to the surface as
 ! follows:
-thermodynamics%temperature_hl(KIDIA:KFDIA,KLEV+1) &
-     &  = PTEMPERATURE(KIDIA:KFDIA,KLEV) &
-     &  + 0.5_JPRB * (PTEMPERATURE_H(KIDIA:KFDIA,KLEV+1) &
-     &               -PTEMPERATURE_H(KIDIA:KFDIA,KLEV))
+!thermodynamics%temperature_hl(KIDIA:KFDIA,KLEV+1) &
+!     &  = PTEMPERATURE(KIDIA:KFDIA,KLEV) &
+!     &  + 0.5_JPRB * (PTEMPERATURE_H(KIDIA:KFDIA,KLEV+1) &
+!     &               -PTEMPERATURE_H(KIDIA:KFDIA,KLEV))
 
 ! Alternatively we respect the model's atmospheric temperature in the
@@ -461,5 +454,5 @@
 !single_level%lw_emissivity(KIDIA:KFDIA,1)  = 1.0_JPRB
 single_level%lw_emissivity(KIDIA:KFDIA,1)  = PEMIS(KIDIA:KFDIA)
-single_level%lw_emissivity(KIDIA:KFDIA,2)  = PEMIS_WINDOW(KIDIA:KFDIA)
+!single_level%lw_emissivity(KIDIA:KFDIA,2)  = PEMIS_WINDOW(KIDIA:KFDIA)
 
 ! Create the relevant seed from date and time get the starting day
@@ -499,10 +492,10 @@
 !     &  PLAND_SEA_MASK, PCCN_LAND, PCCN_SEA, &
 !     &  ZRE_LIQUID_UM)
-cloud%re_liq(KIDIA:KFDIA,:) = ZRE_LIQUID_UM(KIDIA:KFDIA,:) * 1.0e-6_JPRB
+cloud%re_liq(KIDIA:KFDIA,:) = ZRE_LIQUID_UM(KIDIA:KFDIA,:)
 
 !CALL ICE_EFFECTIVE_RADIUS(KIDIA, KFDIA, KLON, KLEV, &
 !     &  PPRESSURE, PTEMPERATURE, PCLOUD_FRAC, PQ_ICE, PQ_SNOW, PGEMU, &
 !     &  ZRE_ICE_UM)
-cloud%re_ice(KIDIA:KFDIA,:) = ZRE_ICE_UM(KIDIA:KFDIA,:) * 1.0e-6_JPRB
+cloud%re_ice(KIDIA:KFDIA,:) = ZRE_ICE_UM(KIDIA:KFDIA,:)
 
 ! Get the cloud overlap decorrelation length (for cloud boundaries),
@@ -539,4 +532,10 @@
   ENDDO
 ENDDO
+!AI ATTENTION meme traitement dans le version offline
+!call cloud%create_inv_cloud_effective_size_eta(ncol, nlev, &
+!               &  thermodynamics%pressure_hl, &
+!               &  low_inv_effective_size, &
+!               &  middle_inv_effective_size, &
+!               &  high_inv_effective_size, 0.8_jprb, 0.45_jprb)      
 
 print*,'******** AEROSOLS (allocate + input) **************************************'
@@ -608,18 +607,17 @@
 !  ENDDO
 !ENDDO
-ZO3 = PO3_DP
 
 !  Insert gas mixing ratios
 print*,'Insert gas mixing ratios'
 CALL gas%put(IH2O,    IMassMixingRatio, PQ)
-CALL gas%put(ICO2,    IMassMixingRatio, PCO2)
-CALL gas%put(ICH4,    IMassMixingRatio, PCH4)
-CALL gas%put(IN2O,    IMassMixingRatio, PN2O)
-CALL gas%put(ICFC11,  IMassMixingRatio, PCFC11)
-CALL gas%put(ICFC12,  IMassMixingRatio, PCFC12)
-CALL gas%put(IHCFC22, IMassMixingRatio, PHCFC22)
-CALL gas%put(ICCL4,   IMassMixingRatio, PCCL4)
-CALL gas%put(IO3,     IMassMixingRatio, ZO3)
-CALL gas%put_well_mixed(IO2, IVolumeMixingRatio, 0.20944_JPRB)
+CALL gas%put(IO3,     IMassMixingRatio, PO3)
+CALL gas%put_well_mixed(ICO2,    IVolumeMixingRatio, PCO2)
+CALL gas%put_well_mixed(ICH4,    IVolumeMixingRatio, PCH4)
+CALL gas%put_well_mixed(IN2O,    IVolumeMixingRatio, PN2O)
+CALL gas%put_well_mixed(ICFC11,  IVolumeMixingRatio, PCFC11)
+CALL gas%put_well_mixed(ICFC12,  IVolumeMixingRatio, PCFC12)
+CALL gas%put_well_mixed(IHCFC22, IVolumeMixingRatio, PHCFC22)
+CALL gas%put_well_mixed(ICCL4,   IVolumeMixingRatio, PCCL4)
+CALL gas%put_well_mixed(IO2,     IVolumeMixingRatio, PO2)
 ! Ensure the units of the gas mixing ratios are what is required by
 ! the gas absorption model
Index: LMDZ6/trunk/libf/phylmd/radlwsw_m.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/radlwsw_m.F90	(revision 4030)
+++ LMDZ6/trunk/libf/phylmd/radlwsw_m.F90	(revision 4031)
@@ -309,13 +309,14 @@
   REAL(KIND=8) ZGELAM(klon), &              ! longitudes en rad
                ZGEMU(klon)                  ! sin(latitude)
-  REAL(KIND=8) ZCO2(klon,klev), &           ! CO2 mass mixing ratios on full levels
-               ZCH4(klon,klev), &           ! CH4 mass mixing ratios on full levels
-               ZN2O(klon,klev), &           ! N2O mass mixing ratios on full levels
-               ZNO2(klon,klev), &           ! NO2 mass mixing ratios on full levels
-               ZCFC11(klon,klev), &         ! CFC11
-               ZCFC12(klon,klev), &         ! CFC12
-               ZHCFC22(klon,klev), &        ! HCFC22
-               ZCCL4(klon,klev)           ! CCL4
-!               ZO3_DP(klon,klev), ZO3_DP_i(klon,klev)            ! Ozone
+  REAL(KIND=8) ZCO2, &           ! CO2 mass mixing ratios on full levels
+               ZCH4, &           ! CH4 mass mixing ratios on full levels
+               ZN2O, &           ! N2O mass mixing ratios on full levels
+               ZNO2, &           ! NO2 mass mixing ratios on full levels
+               ZCFC11, &         ! CFC11
+               ZCFC12, &         ! CFC12
+               ZHCFC22, &        ! HCFC22
+               ZCCL4, &          ! CCL4
+               ZO2               ! O2
+
   REAL(KIND=8) ZQ_RAIN(klon,klev), &        ! Rain cloud mass mixing ratio (kg/kg) ?
                ZQ_SNOW(klon,klev)           ! Snow cloud mass mixing ratio (kg/kg) ?
@@ -486,4 +487,25 @@
 
   !
+! AI 02.2021
+#ifdef CPP_ECRAD
+  ZEMIS = 1.0
+  ZEMISW = 1.0
+  ZGELAM = longitude
+  ZGEMU = sin(latitude)
+  ZCO2 = RCO2
+  ZCH4 = RCH4
+  ZN2O = RN2O
+  ZNO2 = 0.0
+  ZCFC11 = RCFC11
+  ZCFC12 = RCFC12
+  ZHCFC22 = 0.0
+  ZO2 = 0.0
+  ZCCL4 = 0.0
+  ZQ_RAIN = 0.0
+  ZQ_SNOW = 0.0
+  ZAEROSOL_OLD = 0.0
+  ZAEROSOL = 0.0
+#endif
+
   !-------------------------------------------
   nb_gr = KLON / kdlon
@@ -627,24 +649,4 @@
       ENDDO
     ENDDO
-!
-! AI 02.2021
-#ifdef CPP_ECRAD
-  ZEMIS = 1.0
-  ZEMISW = 1.0
-  ZGELAM = longitude
-  ZGEMU = sin(latitude)
-  ZCO2 = RCO2 
-  ZCH4 = RCH4
-  ZN2O = RN2O
-  ZNO2 = 0.0
-  ZCFC11 = RCFC11
-  ZCFC12 = RCFC12 
-  ZHCFC22 = 0.0 
-  ZCCL4 = 0.0
-  ZQ_RAIN = 0.0
-  ZQ_SNOW = 0.0
-  ZAEROSOL_OLD = 0.0
-  ZAEROSOL = 0.0
-#endif
 !
 !===== iflag_rrtm ================================================
@@ -1224,6 +1226,6 @@
             flwc_i(1:klon,k)    =flwc(1:klon,klev+1-k)
             fiwc_i(1:klon,k)    =fiwc(1:klon,klev+1-k)
-            ref_liq_i(1:klon,k) =ref_liq(1:klon,klev+1-k)
-            ref_ice_i(1:klon,k) =ref_ice(1:klon,klev+1-k)
+            ref_liq_i(1:klon,k) =ref_liq(1:klon,klev+1-k)*1.0e-6
+            ref_ice_i(1:klon,k) =ref_ice(1:klon,klev+1-k)*1.0e-6
 !-OB
             ref_liq_pi_i(1:klon,k) =ref_liq_pi(1:klon,klev+1-k)
@@ -1237,33 +1239,77 @@
 !            ENDDO
          ENDDO
-! AI 02.2021
+
+! AI 11.2021
 ! Calcul de ZTH_i (temp aux interfaces 1:klev+1)
+! IFS currently sets the half-level temperature at the surface to be
+! equal to the skin temperature. The radiation scheme takes as input
+! only the half-level temperatures and assumes the Planck function to
+! vary linearly in optical depth between half levels. In the lowest
+! atmospheric layer, where the atmospheric temperature can be much
+! cooler than the skin temperature, this can lead to significant
+! differences between the effective temperature of this lowest layer
+! and the true value in the model.
+! We may approximate the temperature profile in the lowest model level
+! as piecewise linear between the top of the layer T[k-1/2], the
+! centre of the layer T[k] and the base of the layer Tskin.  The mean
+! temperature of the layer is then 0.25*T[k-1/2] + 0.5*T[k] +
+! 0.25*Tskin, which can be achieved by setting the atmospheric
+! temperature at the half-level corresponding to the surface as
+! follows:
+! AI ATTENTION fais dans interface radlw
+!thermodynamics%temperature_hl(KIDIA:KFDIA,KLEV+1) &
+!     &  = PTEMPERATURE(KIDIA:KFDIA,KLEV) &
+!     &  + 0.5_JPRB * (PTEMPERATURE_H(KIDIA:KFDIA,KLEV+1) &
+!     &               -PTEMPERATURE_H(KIDIA:KFDIA,KLEV))
+
          DO K=2,KLEV
-            ZTH_i(:,K)=&
-              & (t_i(:,K-1)*pplay_i(:,K-1)*(pplay_i(:,K)-paprs_i(:,K))&
-              & +t_i(:,K)*pplay_i(:,K)*(paprs_i(:,K)-pplay_i(:,K-1)))&
-              & *(1.0/(paprs_i(:,K)*(pplay_i(:,K)-pplay_i(:,K-1))))
+          DO i = 1, kdlon
+            ZTH_i(i,K)=&
+              & (t_i(i,K-1)*pplay_i(i,K-1)*(pplay_i(i,K)-paprs_i(i,K))&
+              & +t_i(i,K)*pplay_i(i,K)*(paprs_i(i,K)-pplay_i(i,K-1)))&
+              & *(1.0/(paprs_i(i,K)*(pplay_i(i,K)-pplay_i(i,K-1))))
+           ENDDO
          ENDDO
-            ZTH_i(:,KLEV+1)=tsol(:)
-            ZTH_i(:,1)=t_i(:,1)-pplay_i(:,1)*(t_i(:,1)-ZTH_i(:,2))&
-                      & /(pplay_i(:,1)-paprs_i(:,2))
+         DO i = 1, kdlon
+! Sommet
+            ZTH_i(i,1)=t_i(i,1)-pplay_i(i,1)*(t_i(i,1)-ZTH_i(i,2))&
+                      & /(pplay_i(i,1)-paprs_i(i,2))
+! Vers le sol
+            ZTH_i(i,KLEV+1)=t_i(i,KLEV) + 0.5 * &
+                            (tsol(i) - ZTH_i(i,KLEV))
+         ENDDO
+
+! AI ATTENTION TESTS
+!      PALBD_NEW = 0.0
+!      PALBP_NEW = 0.0
+!      ZCO2 = RCO2
+!      ZCH4 = RCH4
+!      ZN2O = RN2O
+!      ZNO2 = 0.0
+!      ZCFC11 = RCFC11
+!      ZCFC12 = RCFC12
+!      ZHCFC22 = 0.0
+!      ZO2 = 0.0
+!      ZCCL4 = 0.0
 
       print *,'RADLWSW: avant RADIATION_SCHEME '
+!      print*,'RCFC11=',RCFC11
+!      print*,'RCFC12=',RCFC12
+
       IF (lldebug) THEN
         CALL writefield_phy('rmu0',rmu0,1)
         CALL writefield_phy('tsol',tsol,1)
         CALL writefield_phy('emissiv_out',ZEMIS,1)
-        CALL writefield_phy('emissiv_in',ZEMISW,1)
-        CALL writefield_phy('pctsrf_ter',pctsrf(:,is_ter),1)
-        CALL writefield_phy('pctsrf_oce',pctsrf(:,is_oce),1)
-        CALL writefield_phy('ZGELAM',ZGELAM,1)
-        CALL writefield_phy('ZGEMU',ZGEMU,1)
-        CALL writefield_phy('zmasq',zmasq,1)
+!        CALL writefield_phy('emissiv_in',ZEMISW,1)
+!        CALL writefield_phy('pctsrf_ter',pctsrf(:,is_ter),1)
+!        CALL writefield_phy('pctsrf_oce',pctsrf(:,is_oce),1)
+!        CALL writefield_phy('ZGELAM',ZGELAM,1)
+!        CALL writefield_phy('ZGEMU',ZGEMU,1)
+!        CALL writefield_phy('zmasq',zmasq,1)
         CALL writefield_phy('paprs_i',paprs_i,klev+1)
-        CALL writefield_phy('pplay_i',pplay_i,klev)
-        CALL writefield_phy('t_i',t_i,klev)
+!        CALL writefield_phy('pplay_i',pplay_i,klev)
+!        CALL writefield_phy('t_i',t_i,klev)
         CALL writefield_phy('ZTH_i',ZTH_i,klev+1)
         CALL writefield_phy('cldfra_i',cldfra_i,klev)
-        CALL writefield_phy('paer_i',PAER_i,klev)
         CALL writefield_phy('q_i',q_i,klev)
         CALL writefield_phy('fiwc_i',fiwc_i,klev)
@@ -1271,5 +1317,16 @@
         CALL writefield_phy('palbd_new',PALBD_NEW,NSW)
         CALL writefield_phy('palbp_new',PALBP_NEW,NSW)
-!        CALL writefield_phy('ZO3_DP',ZO3_DP,klev)
+        CALL writefield_phy('POZON',POZON_i(:,:,1),klev)
+!        CALL writefield_phy('ZCO2',ZCO2,klev)
+!        CALL writefield_phy('ZCH4',ZCH4,klev)
+!        CALL writefield_phy('ZN2O',ZN2O,klev)
+!        CALL writefield_phy('ZO2',ZO2,klev)
+!        CALL writefield_phy('ZNO2',ZNO2,klev)
+!        CALL writefield_phy('ZCFC11',ZCFC11,klev)
+!        CALL writefield_phy('ZCFC12',ZCFC12,klev)
+!        CALL writefield_phy('ZHCFC22',ZHCFC22,klev)
+!        CALL writefield_phy('ZCCL4',ZCCL4,klev)
+        CALL writefield_phy('ref_liq_i',ref_liq_i,klev)
+        CALL writefield_phy('ref_ice_i',ref_ice_i,klev)
       ENDIF
  
@@ -1278,5 +1335,4 @@
 ! ??? naero_tot
       & day_cur, current_time, & 
-!      & solaire, &
       & PSCT, &
       & rmu0, tsol, PALBD_NEW,PALBP_NEW, &   
@@ -1292,5 +1348,6 @@
       & paprs_i, ZTH_i, q_i, qsat_i, & 
 !       Gas
-       & ZCO2, ZCH4, ZN2O, ZNO2, ZCFC11, ZCFC12, ZHCFC22, ZCCL4, POZON_i(:,:,1), &
+       & ZCO2, ZCH4, ZN2O, ZNO2, ZCFC11, ZCFC12, ZHCFC22, &
+       & ZCCL4, POZON_i(:,:,1), ZO2, &
 !       nuages :
       & cldfra_i, flwc_i, fiwc_i, ZQ_RAIN, ZQ_SNOW, &  
@@ -1316,18 +1373,18 @@
 
       IF (lldebug) THEN
-        CALL writefield_phy('zlwft_i',ZLWFT_i,klev+1)
-        CALL writefield_phy('zlwft0_ii',ZLWFT0_ii,klev+1)
-        CALL writefield_phy('zswft_i',ZSWFT_i,klev+1)
-        CALL writefield_phy('zswft0_i',ZSWFT0_ii,klev+1)
-        CALL writefield_phy('zfsdwn_i',ZFSDWN_i,klev+1)
-        CALL writefield_phy('zflux2_i',ZFLUX_i(:,2,:),klev+1)
-        CALL writefield_phy('zfcdwn_i',ZFCDWN_i,klev+1)
-        CALL writefield_phy('zfluc2_i',ZFLUC_i(:,2,:),klev+1)
-        CALL writefield_phy('psfswdir',PSFSWDIR,6)
-        CALL writefield_phy('psfswdif',PSFSWDIF,6)
-        CALL writefield_phy('zflux1_i',ZFLUX_i(:,1,:),klev+1)
-        CALL writefield_phy('zfluc1_i',ZFLUC_i(:,1,:),klev+1)
-        CALL writefield_phy('zfsup_i',ZFSUP_i,klev+1)
-        CALL writefield_phy('zfcup_i',ZFCUP_i,klev+1)
+        CALL writefield_phy('FLUX_LW',ZLWFT_i,klev+1)
+        CALL writefield_phy('FLUX_LW_CLEAR',ZLWFT0_ii,klev+1)
+        CALL writefield_phy('FLUX_SW',ZSWFT_i,klev+1)
+        CALL writefield_phy('FLUX_SW_CLEAR',ZSWFT0_ii,klev+1)
+        CALL writefield_phy('FLUX_DN_SW',ZFSDWN_i,klev+1)
+        CALL writefield_phy('FLUX_DN_LW',ZFLUX_i(:,2,:),klev+1)
+        CALL writefield_phy('FLUX_DN_SW_CLEAR',ZFCDWN_i,klev+1)
+        CALL writefield_phy('FLUX_DN_LW_CLEAR',ZFLUC_i(:,2,:),klev+1)
+        CALL writefield_phy('PSFSWDIR',PSFSWDIR,6)
+        CALL writefield_phy('PSFSWDIF',PSFSWDIF,6)
+        CALL writefield_phy('FLUX_UP_LW',ZFLUX_i(:,1,:),klev+1)
+        CALL writefield_phy('FLUX_UP_LW_CLEAR',ZFLUC_i(:,1,:),klev+1)
+        CALL writefield_phy('FLUX_UP_SW',ZFSUP_i,klev+1)
+        CALL writefield_phy('FLUX_UP_SW_CLEAR',ZFCUP_i,klev+1)
       ENDIF
 ! ---------
