Index: LMDZ6/branches/LMDZ_ECRad/libf/phylmd/ecrad/radiation_scheme.F90
===================================================================
--- LMDZ6/branches/LMDZ_ECRad/libf/phylmd/ecrad/radiation_scheme.F90	(revision 4387)
+++ LMDZ6/branches/LMDZ_ECRad/libf/phylmd/ecrad/radiation_scheme.F90	(revision 4388)
@@ -16,13 +16,12 @@
      &  IDAY, TIME, &
      &  PSOLAR_IRRADIANCE, &
-     &  PMU0, PTEMPERATURE_SKIN, PALBEDO_DIF, PALBEDO_DIR, &
+     &  PMU0, PTEMPERATURE_SKIN, &
+     &  PALBEDO_DIF, PALBEDO_DIR, &
      &  PEMIS, PEMIS_WINDOW, &
-     &  PCCN_LAND, PCCN_SEA, &
-     &  PGELAM, PGEMU, PLAND_SEA_MASK, &
-     &  PPRESSURE, PTEMPERATURE, &
+     &  PGELAM, PGEMU, &
      &  PPRESSURE_H, PTEMPERATURE_H, PQ, PQSAT, &
      &  PCO2, PCH4, PN2O, PNO2, PCFC11, PCFC12, PHCFC22, &
      &  PCCL4, PO3, PO2, &
-     &  PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_RAIN, PQ_SNOW, &
+     &  PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_SNOW, &
      &  ZRE_LIQUID_UM, ZRE_ICE_UM, &
      &  PAEROSOL_OLD, PAEROSOL, &
@@ -140,9 +139,9 @@
 REAL(KIND=JPRB),   INTENT(IN) :: PGEMU(KLON)
 ! Land-sea mask
-REAL(KIND=JPRB),   INTENT(IN) :: PLAND_SEA_MASK(KLON) 
+!REAL(KIND=JPRB),   INTENT(IN) :: PLAND_SEA_MASK(KLON) 
 
 ! *** Variables on full levels
-REAL(KIND=JPRB),   INTENT(IN) :: PPRESSURE(KLON,KLEV)    ! (Pa)
-REAL(KIND=JPRB),   INTENT(IN) :: PTEMPERATURE(KLON,KLEV) ! (K)
+!REAL(KIND=JPRB),   INTENT(IN) :: PPRESSURE(KLON,KLEV)    ! (Pa)
+!REAL(KIND=JPRB),   INTENT(IN) :: PTEMPERATURE(KLON,KLEV) ! (K)
 ! *** Variables on half levels
 REAL(KIND=JPRB),   INTENT(IN) :: PPRESSURE_H(KLON,KLEV+1)    ! (Pa)
@@ -168,5 +167,5 @@
 REAL(KIND=JPRB),   INTENT(IN) :: PQ_LIQUID(KLON,KLEV)
 REAL(KIND=JPRB),   INTENT(IN) :: PQ_ICE(KLON,KLEV)
-REAL(KIND=JPRB),   INTENT(IN) :: PQ_RAIN(KLON,KLEV)
+!REAL(KIND=JPRB),   INTENT(IN) :: PQ_RAIN(KLON,KLEV)
 REAL(KIND=JPRB),   INTENT(IN) :: PQ_SNOW(KLON,KLEV)
 
@@ -175,6 +174,6 @@
 REAL(KIND=JPRB),   INTENT(IN) :: PAEROSOL(KLON,KLEV,KAEROSOL)
 
-REAL(KIND=JPRB),   INTENT(IN) :: PCCN_LAND(KLON) 
-REAL(KIND=JPRB),   INTENT(IN) :: PCCN_SEA(KLON) 
+!REAL(KIND=JPRB),   INTENT(IN) :: PCCN_LAND(KLON) 
+!REAL(KIND=JPRB),   INTENT(IN) :: PCCN_SEA(KLON) 
 
 !AI mars 2021
@@ -321,8 +320,5 @@
   print*,'PTEMPERATURE_SKIN =',PTEMPERATURE_SKIN
   print*,'PEMIS, PEMIS_WINDOW =', PEMIS, PEMIS_WINDOW
-  print*,'PCCN_LAND, PCCN_SEA =', PCCN_LAND, PCCN_SEA
   print*,'PGELAM, PGEMU =', PGELAM, PGEMU
-  print*,'PPRESSURE =', PPRESSURE
-  print*,'PTEMPERATURE =', PTEMPERATURE
   print*,'PPRESSURE_H =', PPRESSURE_H
   print*,'PTEMPERATURE_H =', PTEMPERATURE_H
@@ -332,6 +328,6 @@
         PCO2, PCH4, PN2O, PNO2, PCFC11, PCFC12, PHCFC22, PCCL4
   print*,'PO3 =',PO3
-  print*,'PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_RAIN, PQ_SNOW =', &
-        PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_RAIN, PQ_SNOW
+  print*,'PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_SNOW =', &
+        PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_SNOW
   print*,'ZRE_LIQUID_UM, ZRE_ICE_UM =', &
         ZRE_LIQUID_UM, ZRE_ICE_UM
@@ -408,9 +404,10 @@
 ! Alternative approximate version using temperature and pressure from
 ! the thermodynamics structure
-CALL thermodynamics%calc_saturation_wrt_liquid(KIDIA, KFDIA)
+!CALL thermodynamics%calc_saturation_wrt_liquid(KIDIA, KFDIA)
+!AI ATTENTION
+thermodynamics%h2o_sat_liq = PQSAT
 
 print*,'********** SINGLE LEVEL VARS **********************************'
 !AI ATTENTION
-!thermodynamics%h2o_sat_liq = PQSAT
 ! Set single-level fileds
 single_level%solar_irradiance              = PSOLAR_IRRADIANCE
Index: LMDZ6/branches/LMDZ_ECRad/libf/phylmd/ecrad/radiation_setup.F90
===================================================================
--- LMDZ6/branches/LMDZ_ECRad/libf/phylmd/ecrad/radiation_setup.F90	(revision 4387)
+++ LMDZ6/branches/LMDZ_ECRad/libf/phylmd/ecrad/radiation_setup.F90	(revision 4388)
@@ -69,5 +69,5 @@
 CONTAINS
 
-  ! This routine copies information between the IFS radiation
+  ! This routine copies information between the LMDZ radiation
   ! configuration (stored in global variables) and the radiation
   ! configuration of the modular radiation scheme (stored in
@@ -75,11 +75,14 @@
   ! to print lots of information during the setup stage (default is
   ! no).
+! AI At the end of the routine, the parameters are read in namelist
+!    
   SUBROUTINE SETUP_RADIATION_SCHEME(LOUTPUT)
 
     USE YOMHOOK,  ONLY : LHOOK, DR_HOOK
+! AI (propre a IFS)    
 !    USE YOMLUN,   ONLY : NULNAM, NULOUT, NULERR
     USE YOMLUN,   ONLY : NULOUT, NULERR
     USE YOESRTWN, ONLY : NMPSRTM
-! AI ATTENTION
+! AI ATTENTION (propre a IFS)
 !    USE YOERAD,   ONLY : YRERAD
 
@@ -87,4 +90,5 @@
     USE radiation_aerosol_optics, ONLY : dry_aerosol_sw_mass_extinction
 
+! AI (propre a IFS)    
 !#include "posname.intfb.h"
 
@@ -143,4 +147,5 @@
     ! Do we do Hogan and Bozzo (2014) approximate longwave updates?
 ! AI ATTENTION (ifs : )
+     ! AI (propre a IFS)
 !    rad_config%do_lw_derivatives = YRERAD%LAPPROXLWUPDATE
     rad_config%do_lw_derivatives = .false.
@@ -161,6 +166,5 @@
     ! *** SETUP GAS OPTICS ***
 
-    ! Assume IFS has already set-up RRTM, so the setup_radiation
-    ! routine below does not have to (ifs : F)
+! routine below does not have to (ifs : F)
     print*,'i_gas_model =',rad_config%i_gas_model
     rad_config%do_setup_ifsrrtm = .TRUE.
@@ -174,7 +178,4 @@
 ! AI ATTENTION
 ! Choix offline : liquid_model_name = "SOCRATES"
-!    IF (YRERAD%NLIQOPT == 2) THEN
-!      rad_config%i_liq_model = ILiquidModelSlingo
-!    ELSEIF (YRERAD%NLIQOPT == 3) THEN
       rad_config%i_liq_model = ILiquidModelSOCRATES
       if (lprint_setp) then
@@ -182,25 +183,12 @@
       endif
 
-!    ELSE
-!      WRITE(NULERR,'(a,i0)') 'Unavailable liquid optics model in modular radiation scheme: NLIQOPT=', &
-!           &  YRERAD%NLIQOPT
-!      CALL ABOR1('RADIATION_SETUP: error interpreting NLIQOPT')   
-!    ENDIF
-
     ! Setup ice optics
 ! Choix offline : ice_model_name    = "Fu-IFS"
-!    IF (YRERAD%NICEOPT == 3) THEN
       rad_config%i_ice_model = IIceModelFu
       if (lprint_setp) then
         print*,'rad_config%i_ice_model =', rad_config%i_ice_model
       endif
-!    ELSEIF (YRERAD%NICEOPT == 4) THEN
-!      rad_config%i_ice_model = IIceModelBaran
-!    ELSE
-!      WRITE(NULERR,'(a,i0)') 'Unavailable ice optics model in modular radiation scheme: NICEOPT=', &
-!           &  YRERAD%NICEOPT
-!      CALL ABOR1('RADIATION_SETUP: error interpreting NICEOPT')   
-!    ENDIF
-
+
+! AI (propre a IFS)      
     ! For consistency with earlier versions of the IFS radiation
     ! scheme, we perform shortwave delta-Eddington scaling *after* the
@@ -215,4 +203,5 @@
     endif
 
+! AI (propre a IFS)    
     ! Use Exponential-Exponential cloud overlap to match original IFS
     ! implementation of Raisanen cloud generator
@@ -230,64 +219,4 @@
     endif
 
-!    IF (YRERAD%NAERMACC > 0) THEN
-      ! Using MACC climatology - in this case the aerosol optics file
-      ! will be chosen automatically
-
-      ! 12 IFS aerosol classes: 1-3 Sea salt, 4-6 Boucher desert dust,
-      ! 7 hydrophilic organics, 8 hydrophobic organics, 9&10
-      ! hydrophobic black carbon, 11 ammonium sulphate, 12 inactive
-      ! SO2
-!      rad_config%n_aerosol_types = 12
-!      if (lprint_setp) then
-!        print*,'rad_config%n_aerosol_types =', rad_config%n_aerosol_types
-!      endif
-
-      ! Indices to the aerosol optical properties in
-      ! aerosol_ifs_rrtm_*.nc, for each class, where negative numbers
-      ! index hydrophilic aerosol types and positive numbers index
-      ! hydrophobic aerosol types
-!      rad_config%i_aerosol_type_map = 0 ! There can be up to 256 types
-!      if (lprint_setp) then
-!        print*,'rad_config%i_aerosol_type_map =', rad_config%i_aerosol_type_map
-!      endif
-
-!      rad_config%i_aerosol_type_map(1:12) = (/ &
-!           &  -1, &  ! Sea salt, size bin 1 (OPAC)
-!           &  -2, &  ! Sea salt, size bin 2 (OPAC)
-!           &  -3, &  ! Sea salt, size bin 3 (OPAC)
-!           &   7, &  ! Desert dust, size bin 1 (Woodward 2001)
-!           &   8, &  ! Desert dust, size bin 2 (Woodward 2001)
-!           &   9, &  ! Desert dust, size bin 3 (Woodward 2001)
-!           &  -4, &  ! Hydrophilic organic matter (OPAC)
-!           &  10, &  ! Hydrophobic organic matter (OPAC)
-!           &  11, &  ! Black carbon (Boucher)
-!           &  11, &  ! Black carbon (Boucher)
-!           &  -5, &  ! Ammonium sulphate (OPAC)
-!           &  14 /)  ! Stratospheric sulphate (hand edited from OPAC)
-!     if (lprint_setp) then
-!       print*,'rad_config%i_aerosol_type_map =', rad_config%i_aerosol_type_map
-!     endif
-
-      ! Background aerosol mass-extinction coefficients are obtained
-      ! after the configuration files have been read - see later in
-      ! this routine.
-
-!    ELSE
-      ! Using Tegen climatology
-!      rad_config%n_aerosol_types = 6
-!      rad_config%i_aerosol_type_map = 0 ! There can be up to 256 types
-!      rad_config%i_aerosol_type_map(1:6) = (/ &
-!           &  1, &  ! Continental background
-!           &  2, &  ! Maritime
-!           &  3, &  ! Desert
-!           &  4, &  ! Urban
- !          &  5, &  ! Volcanic active
-!           &  6 /)  ! Stratospheric background
-
-      ! Manually set the aerosol optics file name (the directory will
-      ! be added automatically)
-!      rad_config%aerosol_optics_override_file_name = 'aerosol_ifs_rrtm_tegen.nc'
-!    ENDIF
-
 ! *** SETUP SOLVER ***
 
@@ -300,8 +229,4 @@
     ! Select longwave solver
 ! AI ATTENTION
-!    SELECT CASE (YRERAD%NLWSOLVER)
-!    CASE(0)
-!      rad_config%i_solver_lw = ISolverMcICA
-!    CASE(1)
       rad_config%i_solver_lw = ISolverSpartacus
       if (lprint_setp) then
@@ -309,36 +234,8 @@
       endif
 
-!    CASE(2)
-!      rad_config%i_solver_lw = ISolverSpartacus
-!      rad_config%do_3d_effects = .TRUE.
-!    CASE DEFAULT
-!      WRITE(NULERR,'(a,i0)') 'Unknown value for NLWSOLVER: ', YRERAD%NLWSOLVER
-!      CALL ABOR1('RADIATION_SETUP: error interpreting NLWSOLVER')
-!    END SELECT
-
-    ! Select shortwave solver
-!    SELECT CASE (YRERAD%NSWSOLVER)
-!    CASE(0)
-!      rad_config%i_solver_sw = ISolverMcICA
-!    CASE(1)
       rad_config%i_solver_sw = ISolverSpartacus
       if (lprint_setp) then
         print*,'rad_config%i_solver_sw =', rad_config%i_solver_sw
       endif
-
-!      rad_config%do_3d_effects = .FALSE.
-!      IF (YRERAD%NLWSOLVER == 2) THEN
-!        CALL ABOR1('RADIATION_SETUP: cannot represent 3D effects in LW but not SW')
-!      ENDIF
-!    CASE(2)
-!      rad_config%i_solver_sw = ISolverSpartacus
-!      rad_config%do_3d_effects = .TRUE.
-!      IF (YRERAD%NLWSOLVER == 1) THEN
-!        CALL ABOR1('RADIATION_SETUP: cannot represent 3D effects in SW but not LW')
-!      ENDIF
-!    CASE DEFAULT
-!      WRITE(NULERR,'(a,i0)') 'Unknown value for NSWSOLVER: ', YRERAD%NSWSOLVER
-!      CALL ABOR1('RADIATION_SETUP: error interpreting NSWSOLVER')
-!    END SELECT
 
     ! SPARTACUS solver requires delta scaling to be done separately
@@ -357,17 +254,4 @@
            rad_config%do_lw_aerosol_scattering
     endif
-
-!    SELECT CASE (YRERAD%NLWSCATTERING)
-!    CASE(1)
-!      rad_config%do_lw_cloud_scattering = .TRUE.
-!    CASE(2)
-!      rad_config%do_lw_cloud_scattering = .TRUE.
-!      IF (YRERAD%NAERMACC > 0) THEN
-        ! Tegen climatology omits data required to do longwave
-        ! scattering by aerosols, so only turn this on with a more
-        ! recent scattering database
-!      ENDIF
-!    END SELECT
-
 
     ! *** IMPLEMENT SETTINGS ***
@@ -379,23 +263,8 @@
     ! variables in the NAERAD namelist available in the YRERAD
     ! structure.
-!    CALL POSNAME(NULNAM, 'RADIATION', ISTAT)
-!    SELECT CASE (ISTAT)
-!      CASE(0)
-!        CALL rad_config%read(unit=NULNAM)
-!      CASE(1)
-!        WRITE(NULOUT,'(a)') 'Namelist RADIATION not found, using settings from NAERAD only'
-!      CASE DEFAULT
-!        CALL ABOR1('RADIATION_SETUP: error reading RADIATION section of namelist file')
-!    END SELECT
-
-! AI ATTENTION test
+
+! AI ATTENTION (parameters read in namelist file)
     file_name="namelist_ecrad"
     call rad_config%read(file_name=file_name)
-
-    ! Print configuration
-!    IF (IVERBOSESETUP > 1) THEN
-!      WRITE(NULOUT,'(a)') 'Radiation scheme settings:'
-!      CALL rad_config%print(IVERBOSE=IVERBOSESETUP)
-!    ENDIF
 
     ! Use configuration data to set-up radiation scheme, including
@@ -409,10 +278,5 @@
     ! results...
     ! Note that NMPSRTM(:)=(/  6, 6, 5, 5, 5, 5, 5, 4, 4, 3, 2, 2, 1, 6 /)
-! AI
-!!    NMPSRTM(:)=(/ 6, 6, 5, 5, 5, 5, 5, 4, 4, 3, 2, 2, 1, 6 /)
-!!    rad_config%i_albedo_from_band_sw = NMPSRTM
-!    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 /))
+! AI (6 albedo SW bands) 
     call rad_config%define_sw_albedo_intervals(6, &
        &  [0.25e-6_jprb, 0.44e-6_jprb, 0.69e-6_jprb, &
@@ -422,5 +286,5 @@
     ! outside and inside the window region of the spectrum
 !     rad_config%i_emiss_from_band_lw = (/ 1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,1 /)
-! AI
+! AI ATTENTION ?????
 !!    call rad_config%define_lw_emiss_intervals(3, &
 !!         &  (/ 8.0e-6_jprb,13.0e-6_jprb /),  (/ 1,2,1 /))
Index: LMDZ6/branches/LMDZ_ECRad/libf/phylmd/radlwsw_m.F90
===================================================================
--- LMDZ6/branches/LMDZ_ECRad/libf/phylmd/radlwsw_m.F90	(revision 4387)
+++ LMDZ6/branches/LMDZ_ECRad/libf/phylmd/radlwsw_m.F90	(revision 4388)
@@ -1348,7 +1348,8 @@
       CALL RADIATION_SCHEME &
       & (ist, iend, klon, klev, naero_grp, NSW, &
-! ??? naero_tot
       & day_cur, current_time, & 
+!       Cste solaire/(d_Terre-Soleil)**2
       & SOLARIRAD, &
+!       Cos(angle zin), temp sol              
       & rmu0, tsol, &
 !       Albedo diffuse et directe
@@ -1356,11 +1357,7 @@
 !       Emessivite : PEMIS_WINDOW (???), &
       & ZEMIS, ZEMISW, &
-!       PCCN_LAND, PCCN_SEA, & ???
-      & pctsrf(:,is_ter), pctsrf(:,is_oce), &
 !       longitude(rad), sin(latitude), PMASQ_ ???
-      & ZGELAM, ZGEMU, zmasq, &
-!       pression et temp aux milieux
-      & pplay_i, t_i, &
-!       PTEMPERATURE_H ?, 
+      & ZGELAM, ZGEMU, &
+!       Temp et pres aux interf, vapeur eau, Satur spec humid 
       & paprs_i, ZTH_i, q_i, qsat_i, & 
 !       Gas
@@ -1368,5 +1365,6 @@
        & ZCCL4, POZON_i(:,:,1), ZO2, &
 !       nuages :
-      & cldfra_i, flwc_i, fiwc_i, ZQ_RAIN, ZQ_SNOW, &  
+      & cldfra_i, flwc_i, fiwc_i, ZQ_SNOW, &
+!       rayons effectifs des gouttelettes              
       & ref_liq_i, ref_ice_i, &
 !       aerosols
