Index: /trunk/NEMO/OPA_SRC/DOM/phycst.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DOM/phycst.F90	(revision 1859)
+++ /trunk/NEMO/OPA_SRC/DOM/phycst.F90	(revision 1860)
@@ -4,9 +4,8 @@
    !!     Definition of of both ocean and ice parameters used in the code
    !!=====================================================================
-   !! History :        !  90-10  (C. Levy - G. Madec)  Original code
-   !!                  !  91-11  (G. Madec)
-   !!                  !  91-12  (M. Imbard)
-   !!             8.5  !  02-08  (G. Madec, C. Ethe)  F90, add ice constants
-   !!             9.0  !  06-08  (G. Madec)  style 
+   !! History :   OPA  !  1990-10  (C. Levy, G. Madec)  Original code
+   !!                  !  1991-11  (G. Madec, M. Imbard)
+   !!  NEMO       1.0  !  2002-08  (G. Madec, C. Ethe)  F90, add ice constants
+   !!              -   !  2006-08  (G. Madec)  style 
    !!----------------------------------------------------------------------
 
@@ -59,5 +58,4 @@
       rcdic   =   2.034396_wp ,   &  !: thermal conductivity of fresh ice
       cpic    = 2067.0        ,   &
-      ! add the following lines
       lsub    = 2.834e+6      ,   &  !: pure ice latent heat of sublimation (J.kg-1)
       lfus    = 0.334e+6      ,   &  !: latent heat of fusion of fresh ice   (J.kg-1)
@@ -69,6 +67,7 @@
       rcpsn   =   6.9069e+5_wp,   &  !: density times specific heat for snow
       rcpic   =   1.8837e+6_wp,   &  !: volumetric latent heat fusion of sea ice
-      xlsn    = 110.121e+6_wp ,   &  !: volumetric latent heat fusion of snow
-      xlic    = 300.33e+6_wp  ,   &  !: volumetric latent heat fusion of ice
+      lfus    = 0.3337e+6     ,   &  !: latent heat of fusion of fresh ice   (J.kg-1)
+      xlsn    = 110.121e+6_wp ,   &  !: = lfus * rhosn, volumetric latent heat fusion of snow
+      xlic    = 300.33e+6_wp  ,   &  !: = lfus * rhosn, volumetric latent heat fusion of ice
       xsn     =   2.8e+6      ,   &  !: latent heat of sublimation of snow
       rhoic   = 900._wp       ,   &  !: volumic mass of sea ice (kg/m3)
@@ -83,7 +82,7 @@
       stefan  =   5.67e-8_wp         !: Stefan-Boltzmann constant 
       !!----------------------------------------------------------------------
-      !!  OPA 9.0 , LOCEAN-IPSL (2005) 
+      !! NEMO/OPA 3.2 , LOCEAN-IPSL (2010) 
       !! $Id$ 
-      !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
+      !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
       !!----------------------------------------------------------------------
    
@@ -160,4 +159,10 @@
       IF(lwp) WRITE(numout,*) '                       1. / ( rau0 * rcp ) = ro0cpr = ', ro0cpr
 
+#if defined key_lim3
+      xlsn = lfus * rhosn        ! volumetric latent heat fusion of snow [J/m3]
+#else
+      lfus = xlsn / rhosn        ! latent heat of fusion of fresh ice
+#endif
+
       IF(lwp) THEN
          WRITE(numout,*)
Index: /trunk/NEMO/OPA_SRC/SBC/sbccpl.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/SBC/sbccpl.F90	(revision 1859)
+++ /trunk/NEMO/OPA_SRC/SBC/sbccpl.F90	(revision 1860)
@@ -23,4 +23,5 @@
    USE sbc_oce         ! Surface boundary condition: ocean fields
    USE sbc_ice         ! Surface boundary condition: ice fields
+   USE phycst          ! physical constants
 #if defined key_lim3
    USE par_ice         ! ice parameters
@@ -45,5 +46,4 @@
    USE lib_mpp         ! distribued memory computing library
    USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
-   USE phycst, ONLY : xlsn, rhosn, xlic, rhoic
 #if defined key_cpl_carbon_cycle
    USE p4zflx, ONLY : oce_co2
@@ -715,7 +715,6 @@
          IF( srcv(jpr_qnsoce)%laction )   qns(:,:) = frcv(:,:,jpr_qnsoce)
          IF( srcv(jpr_qnsmix)%laction )   qns(:,:) = frcv(:,:,jpr_qnsmix)        
-         !   energy for melting solid precipitation over free ocean
-         zcoef = xlsn / rhosn
-         qns(:,:) = qns(:,:) - frcv(:,:,jpr_snow) * zcoef
+         qns(:,:) = qns(:,:) - frcv(:,:,jpr_snow) * lfus              ! add the latent heat of solid precip. melting 
+
          !                                                       ! solar flux over the ocean          (qsr)
          IF( srcv(jpr_qsroce)%laction )   qsr(:,:) = frcv(:,:,jpr_qsroce) 
@@ -1118,9 +1117,6 @@
             &                                                   +          pist(:,:,1)   * zicefr(:,:,1) ) )
       END SELECT
-      !                                                           ! snow melting heat flux ....
-      !   energy for melting solid precipitation over ice-free ocean
-      zcoef = xlsn / rhosn
-      ztmp(:,:) = p_frld(:,:,1) * zsnow(:,:) * zcoef
-      pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:)
+      ztmp(:,:) = p_frld(:,:,1) * zsnow(:,:) * lfus               ! add the latent heat of solid precip. melting
+      pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:)                   ! over free ocean 
       IF( lk_diaar5 )   CALL iom_put( 'hflx_snow_cea', ztmp + zsnow(:,:) * zcptn(:,:) )   ! heat flux from snow (cell average)
 !!gm
@@ -1131,9 +1127,7 @@
 !!
 !! similar job should be done for snow and precipitation temperature
-      !                                                           ! Iceberg melting heat flux ....
-      !   energy for iceberg melting 
-      IF( srcv(jpr_cal)%laction ) THEN 
-         zcoef = xlic / rhoic
-         ztmp(:,:) = frcv(:,:,jpr_cal) * zcoef
+      !                                     
+      IF( srcv(jpr_cal)%laction ) THEN                            ! Iceberg melting 
+         ztmp(:,:) = frcv(:,:,jpr_cal) * lfus                     ! add the latent heat of iceberg melting 
          pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:)
          IF( lk_diaar5 )   CALL iom_put( 'hflx_cal_cea', ztmp + frcv(:,:,jpr_cal) * zcptn(:,:) )   ! heat flux from calving
