Index: /trunk/LMDZ.GENERIC/changelog.txt
===================================================================
--- /trunk/LMDZ.GENERIC/changelog.txt	(revision 3290)
+++ /trunk/LMDZ.GENERIC/changelog.txt	(revision 3291)
@@ -1891,2 +1891,7 @@
 
 - physiq_mod.F90 cleaning + add moist and dry adjustment heating tendencies
+
+== 03/04/2024 == MT
+
+- improvement of parameterization of sea ice albedo vs sea ice thickness in hydrol+photolysis_online
+(when ok_slab_ocean activated)
Index: /trunk/LMDZ.GENERIC/libf/aeronostd/photolysis_online.F
===================================================================
--- /trunk/LMDZ.GENERIC/libf/aeronostd/photolysis_online.F	(revision 3290)
+++ /trunk/LMDZ.GENERIC/libf/aeronostd/photolysis_online.F	(revision 3291)
@@ -1173,7 +1173,5 @@
       use chimiedata_h,  only: albedo_snow_chim, albedo_co2_ice_chim
 !      use slab_ice_h,    only: h_alb_ice, alb_ice_min, alb_ice_max
-      use ocean_slab_mod, only: h_alb_ice
-      use ocean_slab_mod, only: alb_ice_min
-      use ocean_slab_mod, only: alb_ice_max
+      use ocean_slab_mod, only: h_alb_ice,alb_ice_min, snow_min
       use tracer_h,      only: igcm_h2o_ice, igcm_co2_ice
       use callkeys_mod,  only: ok_slab_ocean, co2cond, alb_ocean,
@@ -1222,9 +1220,15 @@
           if(ok_slab_ocean) then
         
-            zfra = MAX(0.0,MIN(1.0,qsurf(ig,igcm_h2o_ice)/45.0))     ! Snow Fraction (Critical height 45kg/m2~15cm)
-            alb_ice=alb_ice_max-(alb_ice_max-alb_ice_min)            ! Ice Albedo
-     &                          *exp(-sea_ice(ig)/h_alb_ice)
+            zfra = MAX(0.0,MIN(1.0,qsurf(ig,igcm_h2o_ice)/snow_min)) ! Critical snow height (in kg/m2) from ocean_slab_ice routine. 
+	    ! Standard value should be 15kg/m2 (i.e. about 5 cm). Note that in the previous ocean param. (from BC2014), this value was 45kg/m2 (i.e. about 15cm).
+
             ! Albedo final calculation :
             do iw=1,nw - 1
+	       alb_ice=albedo_snow_chim(iw)
+     &	       -(albedo_snow_chim(iw)-alb_ice_min)
+     &	       *exp(-sea_ice(ig)/h_alb_ice) ! this replaces the formulation from BC2014
+	       ! More details on the parameterization of sea ice albedo vs thickness is provided in the wiki : 
+	       ! https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Slab_ocean_model
+	       ! sea_ice is the ice thickness (calculated in ocean_slab routine) in kg/m2 ; h_alb_ice is fixed to 275.1kg/m2 i.e. 30cm based on comparisons with Brandt et al. 2005
                albedo_chim(iw) = pctsrf_sic(ig)*
      &                          (albedo_snow_chim(iw)*zfra
Index: /trunk/LMDZ.GENERIC/libf/phystd/hydrol.F90
===================================================================
--- /trunk/LMDZ.GENERIC/libf/phystd/hydrol.F90	(revision 3290)
+++ /trunk/LMDZ.GENERIC/libf/phystd/hydrol.F90	(revision 3291)
@@ -15,5 +15,5 @@
   USE tracer_h
 !  use slab_ice_h
-  USE ocean_slab_mod, ONLY: alb_ice_max,alb_ice_min,h_alb_ice,snow_min
+  USE ocean_slab_mod, ONLY: alb_ice_min,h_alb_ice,snow_min
   use callkeys_mod, only: albedosnow,alb_ocean,albedoco2ice,ok_slab_ocean,Tsaldiff,maxicethick,co2cond
   use radinc_h, only : L_NSPECTV
@@ -221,7 +221,11 @@
                frac_snow = MAX(0.0,MIN(1.0,zqsurf(ig,iice)/snow_min)) ! Critical snow height (in kg/m2) from ocean_slab_ice routine. 
 	       ! Standard value should be 15kg/m2 (i.e. about 5 cm). Note that in the previous ocean param. (from BC2014), this value was 45kg/m2 (i.e. about 15cm).
-               alb_ice=alb_ice_max-(alb_ice_max-alb_ice_min)*exp(-sea_ice(ig)/h_alb_ice) ! this is the old formulation from BC2014 (earth-centric so will be replaced)
+               
                ! Albedo final calculation :
                do nw=1,L_NSPECTV
+	          alb_ice=albedo_snow_SPECTV(nw)-(albedo_snow_SPECTV(nw)-alb_ice_min)*exp(-sea_ice(ig)/h_alb_ice) ! this replaces the formulation from BC2014
+		  ! More details on the parameterization of sea ice albedo vs thickness is provided in the wiki : 
+		  ! https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Slab_ocean_model
+		  ! sea_ice is the ice thickness (calculated in ocean_slab routine) in kg/m2 ; h_alb_ice is fixed to 275.1kg/m2 i.e. 30cm based on comparisons with Brandt et al. 2005
                   albedo(ig,nw) = pctsrf_sic(ig)*                                        &
                                  (albedo_snow_SPECTV(nw)*frac_snow + alb_ice*(1.0-frac_snow))      &
Index: /trunk/LMDZ.GENERIC/libf/phystd/ocean_slab_mod.F90
===================================================================
--- /trunk/LMDZ.GENERIC/libf/phystd/ocean_slab_mod.F90	(revision 3290)
+++ /trunk/LMDZ.GENERIC/libf/phystd/ocean_slab_mod.F90	(revision 3291)
@@ -131,9 +131,9 @@
     REAL, PARAMETER, PUBLIC :: capcalsno=2.3867e+06*0.15
 
-    REAL, PARAMETER, PUBLIC :: h_alb_ice=0.5*ice_den ! height for full ice albedo
-    REAL, PARAMETER, PUBLIC :: h_sno_alb=0.02*sno_den ! height for control of snow fraction
-
-    REAL, PARAMETER, PUBLIC :: alb_ice_min=0.2
-    REAL, PARAMETER, PUBLIC :: alb_ice_max=0.65
+    REAL, PARAMETER, PUBLIC :: h_alb_ice=0.3*ice_den ! height (in kg/m2) used in the calculation of sea ice albedo vs thickness
+    ! (changed from 50cm to 30cm based on comparisons with Brandt et al. 2005) ; more info in the slab ocean wiki page
+    REAL, PARAMETER, PUBLIC :: h_sno_alb=0.02*sno_den ! height (in kg/m2) for control of snow fraction
+
+    REAL, PARAMETER, PUBLIC :: alb_ice_min=0.08 ! minimum sea ice albedo used for calculation of albedo as a function of sea ice thickness (https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Slab_ocean_model)
 
 ! Horizontal transport parameters
