Index: branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90
===================================================================
--- branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90	(revision 5462)
+++ branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90	(revision 5539)
@@ -663,4 +663,5 @@
 
       ! --- evaporation minus precipitation --- !
+      zsnw(:,:) = 0._wp
       CALL lim_thd_snwblow( pfrld, zsnw )          ! snow redistribution by wind
       emp_oce(:,:) = pfrld(:,:) * zevap(:,:) - ( tprecip(:,:) - sprecip(:,:) ) - sprecip(:,:) * ( 1._wp - zsnw )
Index: branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
===================================================================
--- branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90	(revision 5462)
+++ branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90	(revision 5539)
@@ -613,4 +613,5 @@
 
       ! --- evaporation minus precipitation --- !
+      zsnw(:,:) = 0._wp
       CALL lim_thd_snwblow( pfrld, zsnw )  ! snow distribution over ice after wind blowing 
       emp_oce(:,:) = pfrld(:,:) * zevap(:,:) - ( tprecip(:,:) - sprecip(:,:) ) - sprecip(:,:) * (1._wp - zsnw )
Index: branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
===================================================================
--- branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90	(revision 5462)
+++ branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90	(revision 5539)
@@ -780,5 +780,5 @@
       xcplmask(:,:,0) = 1. - SUM( xcplmask(:,:,1:nn_cplmodel), dim = 3 )
       !
-      ncpl_qsr_freq = cpl_freq( 'O_QsrOce' ) + cpl_freq( 'O_QsrMix' ) + cpl_freq( 'S_QsrOce' ) + cpl_freq( 'S_QsrMix' )
+      ncpl_qsr_freq = cpl_freq( 'O_QsrOce' ) + cpl_freq( 'O_QsrMix' ) + cpl_freq( 'I_QsrOce' ) + cpl_freq( 'I_QsrMix' )
       IF( ln_dm2dc .AND. ln_cpl .AND. ncpl_qsr_freq /= 86400 )   &
          &   CALL ctl_stop( 'sbc_cpl_init: diurnal cycle reconstruction (ln_dm2dc) needs daily couping for solar radiation' )
@@ -1379,5 +1379,5 @@
       REAL(wp), POINTER, DIMENSION(:,:  ) ::   zemp_tot, zemp_ice, zsprecip, ztprecip, zqns_tot, zqsr_tot
       REAL(wp), POINTER, DIMENSION(:,:,:) ::   zqns_ice, zqsr_ice, zdqns_ice
-      REAL(wp), POINTER, DIMENSION(:,:  ) ::   zevap, zsnw, zqns_oce, zqprec_ice, zqemp_oce ! for LIM3
+      REAL(wp), POINTER, DIMENSION(:,:  ) ::   zevap, zsnw, zqns_oce, zqsr_oce, zqprec_ice, zqemp_oce ! for LIM3
       !!----------------------------------------------------------------------
       !
@@ -1524,4 +1524,5 @@
 
       ! --- heat flux associated with emp --- !
+      zsnw(:,:) = 0._wp
       CALL lim_thd_snwblow( p_frld, zsnw )  ! snow distribution over ice after wind blowing
       zqemp_oce(:,:) = -      zevap(:,:)                   * p_frld(:,:)      *   zcptn(:,:)   &      ! evap
@@ -1556,5 +1557,4 @@
 
       CALL wrk_dealloc( jpi,jpj, zevap, zsnw, zqns_oce, zqprec_ice, zqemp_oce ) 
-
 #else
 
@@ -1624,4 +1624,17 @@
          ENDDO
       ENDIF
+
+#if defined key_lim3
+      CALL wrk_alloc( jpi,jpj, zqsr_oce ) 
+      ! --- solar flux over ocean --- !
+      !         note: p_frld cannot be = 0 since we limit the ice concentration to amax
+      zqsr_oce = 0._wp
+      WHERE( p_frld /= 0._wp )  zqsr_oce(:,:) = ( zqsr_tot(:,:) - SUM( a_i * zqsr_ice, dim=3 ) ) / p_frld(:,:)
+
+      IF( ln_mixcpl ) THEN   ;   qsr_oce(:,:) = qsr_oce(:,:) * xcplmask(:,:,0) +  zqsr_oce(:,:)* zmsk(:,:)
+      ELSE                   ;   qsr_oce(:,:) = zqsr_oce(:,:)   ;   ENDIF
+
+      CALL wrk_dealloc( jpi,jpj, zqsr_oce ) 
+#endif
 
       IF( ln_mixcpl ) THEN
Index: branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
===================================================================
--- branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90	(revision 5462)
+++ branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90	(revision 5539)
@@ -509,5 +509,5 @@
       CALL nemo2cice(ztmp,ss_tlty,'F', -1. )
 
-      CALL wrk_dealloc( jpi,jpj, ztmp )
+      CALL wrk_dealloc( jpi,jpj, ztmp, zpice )
       CALL wrk_dealloc( jpi,jpj,ncat, ztmpn )
       !
Index: branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90
===================================================================
--- branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90	(revision 5462)
+++ branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90	(revision 5539)
@@ -216,8 +216,8 @@
             zalb_ice(:,:,:) = ( 1. - cldf_ice ) * zalb_cs(:,:,:) + cldf_ice * zalb_os(:,:,:)
                                  CALL sbc_cpl_ice_flx( p_frld=pfrld, palbi=zalb_ice, psst=sst_m, pist=t_su )
+            ! clem: evap_ice is forced to 0 in coupled mode for now 
+            !       but it needs to be changed (along with modif in limthd_dh) once heat flux from evap will be avail. from atm. models
+            evap_ice  (:,:,:) = 0._wp   ;   devap_ice (:,:,:) = 0._wp
             IF( nn_limflx == 2 ) CALL ice_lim_flx( t_su, zalb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_limflx )
-            ! Latent heat flux is forced to 0 in coupled: it is included in qns (non-solar heat flux)
-            evap_ice  (:,:,:) = 0._wp
-            devap_ice (:,:,:) = 0._wp
          END SELECT
          CALL wrk_dealloc( jpi,jpj,jpl, zalb_os, zalb_cs, zalb_ice )
Index: branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
===================================================================
--- branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90	(revision 5462)
+++ branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90	(revision 5539)
@@ -53,4 +53,5 @@
    USE timing           ! Timing
    USE sbcwave          ! Wave module
+   USE bdy_par          ! Require lk_bdy
 
    IMPLICIT NONE
@@ -343,5 +344,7 @@
       !                                            ! ---------------------------------------- !
       !
-      IF( ln_apr_dyn ) CALL sbc_apr( kt )                ! atmospheric pressure provided at kt+0.5*nn_fsbc
+      IF ( .NOT. lk_bdy ) then
+         IF( ln_apr_dyn ) CALL sbc_apr( kt )                ! atmospheric pressure provided at kt+0.5*nn_fsbc
+      ENDIF
                                                          ! (caution called before sbc_ssm)
       !
Index: branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90
===================================================================
--- branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90	(revision 5462)
+++ branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90	(revision 5539)
@@ -209,5 +209,5 @@
       zfact = 0.5_wp
       !
-      IF( ln_rnf_depth ) THEN      !==   runoff distributed over several levels   ==!
+      IF( ln_rnf_depth .OR. ln_rnf_depth_ini ) THEN      !==   runoff distributed over several levels   ==!
          IF( lk_vvl ) THEN             ! variable volume case
             DO jj = 1, jpj                   ! update the depth over which runoffs are distributed
