Index: /trunk/LMDZ.MARS/README
===================================================================
--- /trunk/LMDZ.MARS/README	(revision 2684)
+++ /trunk/LMDZ.MARS/README	(revision 2685)
@@ -3714,2 +3714,7 @@
 Upate Non-Orographic GW scheme: cmax is not longer fixed but evaluated
 as the zonal wind at launch altitude.
+
+== 27/05/2022 == EM
+Add possibility to output either upward or downward SW flux at the surface
+and top of atmosphere from physiq. Required adding some output arguments
+to callradite.
Index: /trunk/LMDZ.MARS/libf/phymars/callradite_mod.F
===================================================================
--- /trunk/LMDZ.MARS/libf/phymars/callradite_mod.F	(revision 2684)
+++ /trunk/LMDZ.MARS/libf/phymars/callradite_mod.F	(revision 2685)
@@ -7,6 +7,7 @@
       SUBROUTINE callradite(icount,ngrid,nlayer,nq,zday,ls,pq,albedo,
      $     emis,mu0,pplev,pplay,pt,tsurf,fract,dist_sol,igout,
-     $     dtlw,dtsw,fluxsurf_lw,fluxsurf_sw,fluxtop_lw,
-     $     fluxtop_sw,tau_pref_scenario,tau_pref_gcm,
+     $     dtlw,dtsw,fluxsurf_lw,fluxsurf_dn_sw,fluxsurf_up_sw,
+     $     fluxtop_lw,fluxtop_dn_sw,fluxtop_up_sw,
+     &     tau_pref_scenario,tau_pref_gcm,
      &     tau,aerosol,dsodust,tauscaling,dust_rad_adjust,IRtoVIScoef,
      $     taucloudtes,rdust,rice,nuice,riceco2,nuiceco2,co2ice,
@@ -141,23 +142,4 @@
 c   nueffrad(ngrid,nlayer,naerkind) Aerosol effective variance
 
-c
-c  output:
-c  -------
-c dtlw (ngrid,nlayer)       longwave (IR) heating rate (K/s)
-c dtsw(ngrid,nlayer)        shortwave (Solar) heating rate (K/s)
-c fluxsurf_lw(ngrid)        surface downward flux tota LW (thermal IR) (W.m-2)
-c fluxsurf_sw(ngrid,1)      surface downward flux SW for solar band#1 (W.m-2)
-c fluxsurf_sw(ngrid,2)      surface downward flux SW for solar band#2 (W.m-2)
-c
-c fluxtop_lw(ngrid)         outgoing upward flux tota LW (thermal IR) (W.m-2)
-c fluxtop_sw(ngrid,1)       outgoing upward flux SW for solar band#1 (W.m-2)
-c fluxtop_sw(ngrid,2)       outgoing upward flux SW for solar band#2 (W.m-2)
-
-c   tau          Column total visible dust optical depth at each point
-c   aerosol(ngrid,nlayer,naerkind)    aerosol extinction optical depth
-c                         at reference wavelength "longrefvis" set
-c                         in dimradmars_h , in each layer, for one of
-c                         the "naerkind" kind of aerosol optical
-c                         properties.
 c=======================================================================
 c
@@ -189,17 +171,31 @@
       REAL,INTENT(IN) :: tsurf(ngrid)
       REAL,INTENT(IN) :: dist_sol,mu0(ngrid),fract(ngrid)
-      REAL,INTENT(OUT) :: dtlw(ngrid,nlayer),dtsw(ngrid,nlayer)
-      REAL,INTENT(OUT) :: fluxsurf_lw(ngrid), fluxtop_lw(ngrid)
-      REAL,INTENT(OUT) :: fluxsurf_sw(ngrid,2), fluxtop_sw(ngrid,2)
+      REAL,INTENT(OUT) :: dtlw(ngrid,nlayer) ! longwave (IR) heating rate (K/s)
+      REAL,INTENT(OUT) :: dtsw(ngrid,nlayer) ! shortwave (Solar) heating rate (K/s)
+      REAL,INTENT(OUT) :: fluxsurf_lw(ngrid) ! total LW (thermal IR) downward flux 
+                                             ! (W.m-2) at the surface
+      REAL,INTENT(OUT) :: fluxtop_lw(ngrid) ! outgoing total LW (thermal IR)
+                                     ! upward flux (W.m-2) at the top of the atm.
+      REAL,INTENT(OUT) :: fluxsurf_dn_sw(ngrid,2) ! surface downward SW flux for 
+                                      ! solar bands #1 and #2 (W.m-2)
+      REAL,INTENT(OUT) :: fluxsurf_up_sw(ngrid,2) ! surface upward SW flux for 
+                                      ! solar bands #1 and #2 (W.m-2)
+      REAL,INTENT(OUT) :: fluxtop_dn_sw(ngrid,2) ! incoming downward SW flux for 
+                                 ! solar bands #1 and #2 (W.m-2) at top of atm.
+      REAL,INTENT(OUT) :: fluxtop_up_sw(ngrid,2) ! outgoing upward SW flux for 
+                                 ! solar bands #1 and #2 (W.m-2) at top of atm.
       REAL,INTENT(OUT) :: tau_pref_scenario(ngrid) ! prescribed dust column
                           ! visible opacity at odpref from scenario
       REAL,INTENT(OUT) :: tau_pref_gcm(ngrid) ! computed dust column
                           ! visible opacity at odpref in the GCM
-      REAL,INTENT(OUT) :: tau(ngrid,naerkind)
+      REAL,INTENT(OUT) :: tau(ngrid,naerkind) ! Column visible optical depth
+                          ! for each aerosol
       REAL,INTENT(OUT) :: taucloudtes(ngrid)! Cloud opacity at infrared
                                !   reference wavelength using
                                !   Qabs instead of Qext
                                !   (direct comparison with TES)
-      REAL,INTENT(OUT) :: aerosol(ngrid,nlayer,naerkind)
+      REAL,INTENT(OUT) :: aerosol(ngrid,nlayer,naerkind) ! aerosol extinction
+                          ! optical depth at reference wavelength "longrefvis",
+                          ! set in dimradmars_h, for each kind of aerosol
       REAL,INTENT(INOUT) :: dsodust(ngrid,nlayer)
       REAL,INTENT(OUT) :: rdust(ngrid,nlayer)  ! Dust geometric mean radius (m)
@@ -585,9 +581,18 @@
         enddo
 
+        ! copy SW fluxes at surface and TOA
         do ig = 1,nd
-          fluxsurf_sw(ig0+ig,1) = zfluxd_sw(ig,1,1)
-          fluxsurf_sw(ig0+ig,2) = zfluxd_sw(ig,1,2)
-          fluxtop_sw(ig0+ig,1) = zfluxu_sw(ig,nlaylte+1,1)
-          fluxtop_sw(ig0+ig,2) = zfluxu_sw(ig,nlaylte+1,2)
+          ! surface downward SW flux
+          fluxsurf_dn_sw(ig0+ig,1) = zfluxd_sw(ig,1,1)
+          fluxsurf_dn_sw(ig0+ig,2) = zfluxd_sw(ig,1,2)
+          ! surface upward SW flux
+          fluxsurf_up_sw(ig0+ig,1) = zfluxu_sw(ig,1,1)
+          fluxsurf_up_sw(ig0+ig,2) = zfluxu_sw(ig,1,2)
+          ! downward SW flux at top of atmosphere
+          fluxtop_dn_sw(ig0+ig,1) = zfluxd_sw(ig,nlaylte+1,1)
+          fluxtop_dn_sw(ig0+ig,2) = zfluxd_sw(ig,nlaylte+1,2)          
+          ! upward SW flux at top of atmosphere
+          fluxtop_up_sw(ig0+ig,1) = zfluxu_sw(ig,nlaylte+1,1)
+          fluxtop_up_sw(ig0+ig,2) = zfluxu_sw(ig,nlaylte+1,2)
         enddo
 
@@ -613,5 +618,5 @@
             PRINT*,albedo(igout,1),emis(igout),mu0(igout),
      s           fract(igout), fluxsurf_lw(igout),
-     $     fluxsurf_sw(igout,1)+fluxsurf_sw(igout,2)
+     $     fluxsurf_dn_sw(igout,1)+fluxsurf_dn_sw(igout,2)
             PRINT*,'Tlay Tlev Play Plev dT/dt SW dT/dt LW (K/s)'
             PRINT*,'daysec',daysec
Index: /trunk/LMDZ.MARS/libf/phymars/physiq_mod.F
===================================================================
--- /trunk/LMDZ.MARS/libf/phymars/physiq_mod.F	(revision 2684)
+++ /trunk/LMDZ.MARS/libf/phymars/physiq_mod.F	(revision 2685)
@@ -284,5 +284,5 @@
       REAL sl_ra, sl_di0
       REAL sky
-      REAL direct_flux(ngrid)    ! Incident direct solar flux on Mars at surface (W.m-2)
+      REAL fluxsurf_dir_dn_sw(ngrid) ! Incident direct solar flux on Mars at surface (W.m-2)
 
       REAL,PARAMETER :: stephan = 5.67e-08 ! Stephan Boltzman constant
@@ -298,7 +298,9 @@
 
       REAL fluxsurf_lw(ngrid)      !incident LW (IR) surface flux (W.m-2)
-      REAL fluxsurf_sw(ngrid,2)    !incident SW (solar) surface flux (W.m-2)
+      REAL fluxsurf_dn_sw(ngrid,2) ! Incident SW (solar) surface flux (W.m-2)
+      REAL fluxsurf_up_sw(ngrid,2) ! Reflected SW (solar) surface flux (W.m-2)
       REAL fluxtop_lw(ngrid)       !Outgoing LW (IR) flux to space (W.m-2)
-      REAL fluxtop_sw(ngrid,2)     !Outgoing SW (solar) flux to space (W.m-2)
+      REAL fluxtop_dn_sw(ngrid,2) ! Incoming SW (solar) flux from space (W.m-2)
+      REAL fluxtop_up_sw(ngrid,2) ! Outgoing SW (solar) flux to space (W.m-2)
       REAL tau_pref_scenario(ngrid) ! prescribed dust column visible opacity
                                     ! at odpref
@@ -386,5 +388,6 @@
       REAL zq(ngrid,nlayer,nq)
 
-      REAL fluxtop_sw_tot(ngrid), fluxsurf_sw_tot(ngrid)
+      REAL fluxtop_dn_sw_tot(ngrid), fluxtop_up_sw_tot(ngrid)
+      REAL fluxsurf_dn_sw_tot(ngrid), fluxsurf_up_sw_tot(ngrid)
       character*2 str2
 !      character*5 str5
@@ -502,7 +505,7 @@
       real zdtlwclf(ngrid,nlayer)
       real fluxsurf_lwclf(ngrid)     
-      real fluxsurf_swclf(ngrid,2)  
+      real fluxsurf_dn_swclf(ngrid,2),fluxsurf_up_swclf(ngrid,2)
       real fluxtop_lwclf(ngrid)
-      real fluxtop_swclf(ngrid,2) 
+      real fluxtop_dn_swclf(ngrid,2),fluxtop_up_swclf(ngrid,2)
       real taucloudtesclf(ngrid)
       real tf_clf, ntf_clf ! tf: fraction of clouds, ntf: fraction without clouds
@@ -976,6 +979,7 @@
            CALL callradite(icount,ngrid,nlayer,nq,zday,zls,pq,albedo,
      &     emis,mu0,zplev,zplay,pt,tsurf,fract,dist_sol,igout,
-     &     zdtlw,zdtsw,fluxsurf_lw,fluxsurf_sw,fluxtop_lw,
-     &     fluxtop_sw,tau_pref_scenario,tau_pref_gcm,
+     &     zdtlw,zdtsw,fluxsurf_lw,fluxsurf_dn_sw,fluxsurf_up_sw,
+     &     fluxtop_lw,fluxtop_dn_sw,fluxtop_up_sw,
+     &     tau_pref_scenario,tau_pref_gcm,
      &     tau,aerosol,dsodust,tauscaling,dust_rad_adjust,IRtoVIScoef,
      &     taucloudtes,rdust,rice,nuice,riceco2,nuiceco2,co2ice,
@@ -992,6 +996,7 @@
                CALL callradite(icount,ngrid,nlayer,nq,zday,zls,pq,
      &              albedo,emis,mu0,zplev,zplay,pt,tsurf,fract,
-     &              dist_sol,igout,zdtlwclf,zdtswclf,fluxsurf_lwclf,
-     &              fluxsurf_swclf,fluxtop_lwclf,fluxtop_swclf,
+     &              dist_sol,igout,zdtlwclf,zdtswclf,
+     &              fluxsurf_lwclf,fluxsurf_dn_swclf,fluxsurf_up_swclf,
+     &              fluxtop_lwclf,fluxtop_dn_swclf,fluxtop_up_swclf,
      &              tau_pref_scenario,tau_pref_gcm,tau,aerosol,
      &              dsodust,tauscaling,dust_rad_adjust,IRtoVIScoef,
@@ -1009,14 +1014,16 @@
                   fluxsurf_lw(ig) = ntf_clf*fluxsurf_lwclf(ig) 
      &                                      + tf_clf*fluxsurf_lw(ig)
-                  fluxsurf_sw(ig,1) = ntf_clf*fluxsurf_swclf(ig,1) 
-     &                                      + tf_clf*fluxsurf_sw(ig,1)
-                  fluxsurf_sw(ig,2) = ntf_clf*fluxsurf_swclf(ig,2) 
-     &                                      + tf_clf*fluxsurf_sw(ig,2)
+                  fluxsurf_dn_sw(ig,1:2) = 
+     &                           ntf_clf*fluxsurf_dn_swclf(ig,1:2) 
+     &                          + tf_clf*fluxsurf_dn_sw(ig,1:2)
+                  fluxsurf_up_sw(ig,1:2) = 
+     &                           ntf_clf*fluxsurf_up_swclf(ig,1:2) 
+     &                          + tf_clf*fluxsurf_up_sw(ig,1:2)
                   fluxtop_lw(ig)  = ntf_clf*fluxtop_lwclf(ig) 
      &                                      + tf_clf*fluxtop_lw(ig)
-                  fluxtop_sw(ig,1)  = ntf_clf*fluxtop_swclf(ig,1)  
-     &                                      + tf_clf*fluxtop_sw(ig,1)
-                  fluxtop_sw(ig,2)  = ntf_clf*fluxtop_swclf(ig,2)  
-     &                                      + tf_clf*fluxtop_sw(ig,2)
+                  fluxtop_dn_sw(ig,1:2)=ntf_clf*fluxtop_dn_swclf(ig,1:2) 
+     &                                 + tf_clf*fluxtop_dn_sw(ig,1:2)
+                  fluxtop_up_sw(ig,1:2)=ntf_clf*fluxtop_up_swclf(ig,1:2) 
+     &                                 + tf_clf*fluxtop_up_sw(ig,1:2)
                   taucloudtes(ig) = ntf_clf*taucloudtesclf(ig) 
      &                                      + tf_clf*taucloudtes(ig)
@@ -1067,5 +1074,5 @@
               sl_the = theta_sl(ig)
               IF (sl_the .ne. 0.) THEN
-                ztim1=fluxsurf_sw(ig,1)+fluxsurf_sw(ig,2)
+                ztim1=fluxsurf_dn_sw(ig,1)+fluxsurf_dn_sw(ig,2)
                 DO l=1,2
                  sl_lct = ptime*24. + 180.*longitude(ig)/pi/15.
@@ -1075,5 +1082,5 @@
                  sl_alb = albedo(ig,l)
                  sl_psi = psi_sl(ig)
-                 sl_fl0 = fluxsurf_sw(ig,l)
+                 sl_fl0 = fluxsurf_dn_sw(ig,l)
                  sl_di0 = 0.
                  if (mu0(ig) .gt. 0.) then
@@ -1081,5 +1088,5 @@
                   sl_di0 = sl_di0*flux_1AU/dist_sol/dist_sol
                   sl_di0 = sl_di0/ztim1
-                  sl_di0 = fluxsurf_sw(ig,l)*sl_di0
+                  sl_di0 = fluxsurf_dn_sw(ig,l)*sl_di0
                  endif
                  ! you never know (roundup concern...)
@@ -1090,5 +1097,5 @@
      &                             sl_di0, sl_fl0, sl_flu )
                  !!!!!!!!!!!!!!!!!!!!!!!!!!
-                 fluxsurf_sw(ig,l) = sl_flu
+                 fluxsurf_dn_sw(ig,l) = sl_flu
                 ENDDO
               !!! compute correction on IR flux as well
@@ -1111,6 +1118,6 @@
            DO ig=1,ngrid
                fluxrad_sky(ig)=emis(ig)*fluxsurf_lw(ig)
-     $         +fluxsurf_sw(ig,1)*(1.-albedo(ig,1))
-     $         +fluxsurf_sw(ig,2)*(1.-albedo(ig,2))
+     $         +fluxsurf_dn_sw(ig,1)*(1.-albedo(ig,1))
+     $         +fluxsurf_dn_sw(ig,2)*(1.-albedo(ig,2))
            ENDDO
 
@@ -2040,5 +2047,5 @@
      $              co2ice,albedo,emis,rdust,
      $              zdtc,zdtsurfc,pdpsrf,zduc,zdvc,zdqc,
-     $              fluxsurf_sw,zls,
+     $              fluxsurf_dn_sw,zls,
      $              zdqssed_co2,zcondicea_co2microp,
      &              zdqsc)
@@ -2278,8 +2285,13 @@
 
 c     Sum of fluxes in solar spectral bands (for output only)
-      DO ig=1,ngrid
-             fluxtop_sw_tot(ig)=fluxtop_sw(ig,1) + fluxtop_sw(ig,2)
-             fluxsurf_sw_tot(ig)=fluxsurf_sw(ig,1) + fluxsurf_sw(ig,2)
-      ENDDO
+      fluxtop_dn_sw_tot(1:ngrid)=fluxtop_dn_sw(1:ngrid,1) +
+     &                           fluxtop_dn_sw(1:ngrid,2)
+      fluxtop_up_sw_tot(1:ngrid)=fluxtop_up_sw(1:ngrid,1) +
+     &                           fluxtop_up_sw(1:ngrid,2)
+      fluxsurf_dn_sw_tot(1:ngrid)=fluxsurf_dn_sw(1:ngrid,1) +
+     &                            fluxsurf_dn_sw(1:ngrid,2)
+      fluxsurf_up_sw_tot(1:ngrid)=fluxsurf_up_sw(1:ngrid,1) +
+     &                            fluxsurf_up_sw(1:ngrid,2)
+
 c ******* TEST ******************************************************
       ztim1 = 999
@@ -2452,7 +2464,7 @@
          do ig=1,ngrid
 	   if(mu0(ig).le.0.01) then 
-	    direct_flux(ig) = 0.
+	    fluxsurf_dir_dn_sw(ig) = 0.
 	   else 
-            direct_flux(ig) = flux_1AU/dist_sol/dist_sol*mu0(ig)*
+            fluxsurf_dir_dn_sw(ig) = flux_1AU/dist_sol/dist_sol*mu0(ig)*
      &                    exp(-(tau(ig,iaer_dust_doubleq)+
      &                          tau(ig,iaer_h2o_ice))/mu0(ig))
@@ -2657,13 +2669,19 @@
      &                "Thermal IR radiative flux to surface","W.m-2",2,
      &                fluxsurf_lw)
-        call wstats(ngrid,"fluxsurf_sw",
-     &                "Solar radiative flux to surface","W.m-2",2,
-     &                fluxsurf_sw_tot)
+        call wstats(ngrid,"fluxsurf_dn_sw",
+     &        "Incoming Solar radiative flux to surface","W.m-2",2,
+     &                fluxsurf_dn_sw_tot)
+        call wstats(ngrid,"fluxsurf_up_sw",
+     &        "Reflected Solar radiative flux from surface","W.m-2",2,
+     &                fluxsurf_up_sw_tot)
         call wstats(ngrid,"fluxtop_lw",
      &                "Thermal IR radiative flux to space","W.m-2",2,
      &                fluxtop_lw)
-        call wstats(ngrid,"fluxtop_sw",
-     &                "Solar radiative flux to space","W.m-2",2,
-     &                fluxtop_sw_tot)
+        call wstats(ngrid,"fluxtop_dn_sw",
+     &        "Incoming Solar radiative flux from space","W.m-2",2,
+     &                fluxtop_dn_sw_tot)
+        call wstats(ngrid,"fluxtop_up_sw",
+     &        "Outgoing Solar radiative flux to space","W.m-2",2,
+     &                fluxtop_up_sw_tot)
         call wstats(ngrid,"temp","Atmospheric temperature","K",3,zt)
         call wstats(ngrid,"u","Zonal (East-West) wind","m.s-1",3,zu)
@@ -2685,7 +2703,7 @@
 c          call wstats(ngrid,"lw_htrt","lw heat.rate",
 c    &                 "W.m-2",3,zdtlw)
-          call wstats(ngrid,"direct_flux",
-     &                "Direct incoming flux at surface",
-     &                "W.m-2",2,direct_flux)     
+          call wstats(ngrid,"fluxsurf_dir_dn_sw",
+     &                "Direct incoming SW flux at surface",
+     &                "W.m-2",2,fluxsurf_dir_dn_sw)     
 
           if (calltherm) then
@@ -2921,5 +2939,5 @@
       comm_HR_LW(1:ngrid,1:nlayer) = zdtlw(1:ngrid,1:nlayer)
       !state  real  SWDOWNZ    ij   misc  1  -  h  "SWDOWNZ"   "DOWNWARD SW FLUX AT SURFACE"     "W m-2"
-      comm_SWDOWNZ(1:ngrid) = fluxsurf_sw_tot(1:ngrid)
+      comm_SWDOWNZ(1:ngrid) = fluxsurf_dn_sw_tot(1:ngrid)
       !state  real  TAU_DUST   ij   misc  1  -  h  "TAU_DUST"  "REFERENCE VISIBLE DUST OPACITY"  ""
       comm_TAU_DUST(1:ngrid) = tau_pref_gcm(1:ngrid)
@@ -2995,10 +3013,10 @@
          call WRITEDIAGFI(ngrid,"fluxsurf_lw","fluxsurf_lw","W.m-2",2,
      &                  fluxsurf_lw)
-         call WRITEDIAGFI(ngrid,"fluxsurf_sw","fluxsurf_sw","W.m-2",2,
-     &                  fluxsurf_sw_tot)
+         call WRITEDIAGFI(ngrid,"fluxsurf_dn_sw","fluxsurf_dn_sw",
+     &                  "W.m-2",2,fluxsurf_dn_sw_tot)
          call WRITEDIAGFI(ngrid,"fluxtop_lw","fluxtop_lw","W.m-2",2,
      &                  fluxtop_lw)
-         call WRITEDIAGFI(ngrid,"fluxtop_sw","fluxtop_sw","W.m-2",2,
-     &                  fluxtop_sw_tot)
+         call WRITEDIAGFI(ngrid,"fluxtop_up_sw","fluxtop_up_sw","W.m-2",
+     &                  2,fluxtop_up_sw_tot)
          call WRITEDIAGFI(ngrid,"temp","temperature","K",3,zt)
          call WRITEDIAGFI(ngrid,"Sols","Time","sols",0,[zday])
@@ -4016,5 +4034,5 @@
       CALL send_xios_field("area",cell_area)
 
-!      CALL send_xios_field("ISR",fluxtop_sw_tot)
+!      CALL send_xios_field("ISR",fluxtop_dn_sw_tot)
       CALL send_xios_field("OLR",fluxtop_lw)
 
Index: /trunk/LMDZ.MARS/libf/phymars/rocketduststorm_mod.F90
===================================================================
--- /trunk/LMDZ.MARS/libf/phymars/rocketduststorm_mod.F90	(revision 2684)
+++ /trunk/LMDZ.MARS/libf/phymars/rocketduststorm_mod.F90	(revision 2685)
@@ -167,7 +167,7 @@
 !     variables for the radiative transfer
       REAL  fluxsurf_lw1(ngrid)
-      REAL  fluxsurf_sw1(ngrid,2)
+      REAL  fluxsurf_dn_sw1(ngrid,2),fluxsurf_up_sw1(ngrid,2)
       REAL  fluxtop_lw1(ngrid)
-      REAL  fluxtop_sw1(ngrid,2)
+      REAL  fluxtop_dn_sw1(ngrid,2),fluxtop_up_sw1(ngrid,2)
       REAL  tau(ngrid,naerkind)
       REAL  aerosol(ngrid,nlayer,naerkind)
@@ -255,6 +255,7 @@
       CALL callradite(icount,ngrid,nlayer,nq,zday,zls,pq,albedo,          &
                  emis,mu0,pplev,pplay,pt,tsurf,fract,dist_sol,igout,      &
-                 zdtlw1,zdtsw1,fluxsurf_lw1,fluxsurf_sw1,fluxtop_lw1,     &
-                 fluxtop_sw1,tau_pref_scenario,tau_pref_gcm, &
+                 zdtlw1,zdtsw1,fluxsurf_lw1,fluxsurf_dn_sw1,fluxsurf_up_sw1, &
+                 fluxtop_lw1,fluxtop_dn_sw1,fluxtop_up_sw1, &
+                 tau_pref_scenario,tau_pref_gcm, &
                  tau,aerosol,dsodust,tauscaling,dust_rad_adjust,IRtoVIScoef, &
                  taucloudtes,rdust,rice,nuice,riceco2,nuiceco2,co2ice,rstormdust,rtopdust, &
Index: /trunk/LMDZ.MARS/libf/phymars/topmons_mod.F90
===================================================================
--- /trunk/LMDZ.MARS/libf/phymars/topmons_mod.F90	(revision 2684)
+++ /trunk/LMDZ.MARS/libf/phymars/topmons_mod.F90	(revision 2685)
@@ -120,7 +120,7 @@
 !     Variables for radiative transfer
       REAL  fluxsurf_lw1(ngrid)
-      REAL  fluxsurf_sw1(ngrid,2)
+      REAL  fluxsurf_dn_sw1(ngrid,2),fluxsurf_up_sw1(ngrid,2)
       REAL  fluxtop_lw1(ngrid)
-      REAL  fluxtop_sw1(ngrid,2)
+      REAL  fluxtop_dn_sw1(ngrid,2),fluxtop_up_sw1(ngrid,2)
       REAL  tau(ngrid,naerkind)
       REAL  taucloudtes(ngrid)
@@ -286,6 +286,7 @@
         CALL callradite(icount,ngrid,nlayer,nq,zday,zls,zq,albedo,     &
                  emis,mu0,pplev,pplay,pt,tsurf,fract,dist_sol,igout,   &
-                 zdtlw1,zdtsw1,fluxsurf_lw1,fluxsurf_sw1,fluxtop_lw1,  &
-                 fluxtop_sw1,tau_pref_scenario,tau_pref_gcm, &
+                 zdtlw1,zdtsw1,fluxsurf_lw1,fluxsurf_dn_sw1,fluxsurf_up_sw1, &
+                 fluxtop_lw1,fluxtop_dn_sw1,fluxtop_up_sw1,  &
+                 tau_pref_scenario,tau_pref_gcm, &
                  tau,aerosol,dsodust,tauscaling,dust_rad_adjust,IRtoVIScoef, &
                  taucloudtes,rdust,rice,nuice,riceco2,nuiceco2,co2ice,rstormdust,rtopdust, &
