Index: /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/trabbl.F90
===================================================================
--- /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/trabbl.F90	(revision 2970)
+++ /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/trabbl.F90	(revision 2971)
@@ -106,13 +106,13 @@
       !!----------------------------------------------------------------------
 
-      IF( l_trdtra )   THEN                    !* Save ta and sa trends
+      IF( l_trdtra )   THEN                        !* Save ta and sa trends
          ALLOCATE( ztrdt(jpi,jpj,jpk) )   ;    ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 
          ALLOCATE( ztrds(jpi,jpj,jpk) )   ;    ztrds(:,:,:) = tsa(:,:,:,jp_sal)
       ENDIF
 
-      IF( l_bbl )   CALL bbl( kt, 'TRA' )       !* bbl coef. and transport (only if not already done in trcbbl)
-
-
-      IF( nn_bbl_ldf == 1 ) THEN                !* Diffusive bbl
+      IF( l_bbl )  CALL bbl( kt, nit000, 'TRA' )   !* bbl coef. and transport (only if not already done in trcbbl)
+
+
+      IF( nn_bbl_ldf == 1 ) THEN                   !* Diffusive bbl
          CALL tra_bbl_dif( tsb, tsa, jpts )
          IF( ln_ctl )  &
Index: /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/TRP/trcbbl.F90
===================================================================
--- /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/TRP/trcbbl.F90	(revision 2970)
+++ /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/TRP/trcbbl.F90	(revision 2971)
@@ -56,11 +56,11 @@
       !!----------------------------------------------------------------------
 
-      IF( .NOT. lk_offline ) THEN
-         CALL bbl( kt, 'TRC' )         ! Online coupling with dynamics  : Computation of bbl coef and bbl transport
-         l_bbl = .FALSE.               ! Offline coupling with dynamics : Read bbl coef and bbl transport from input files
+      IF( .NOT. lk_offline .AND. nn_dttrc == 1 ) THEN
+         CALL bbl( kt, nittrc000, 'TRC' )      ! Online coupling with dynamics  : Computation of bbl coef and bbl transport
+         l_bbl = .FALSE.                       ! Offline coupling with dynamics : Read bbl coef and bbl transport from input files
       ENDIF
 
       IF( l_trdtrc )  THEN
-         ALLOCATE( ztrtrd(jpi,jpj,jpk,jptra) )   ! temporary save of trends
+         ALLOCATE( ztrtrd(jpi,jpj,jpk,jptra) ) ! temporary save of trends
          ztrtrd(:,:,:,:)  = tra(:,:,:,:)
       ENDIF
Index: /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90
===================================================================
--- /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90	(revision 2970)
+++ /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90	(revision 2971)
@@ -227,4 +227,5 @@
    USE sbc_oce , ONLY :   qsr        =>    qsr        !: penetrative solar radiation (w m-2)  
    USE sbc_oce , ONLY :   emp        =>    emp        !: freshwater budget: volume flux               [Kg/m2/s]
+   USE sbc_oce , ONLY :   emp_b      =>    emp_b      !: freshwater budget: volume flux               [Kg/m2/s]
    USE sbc_oce , ONLY :   emps       =>    emps       !: freshwater budget: concentration/dillution   [Kg/m2/s]
    USE sbc_oce , ONLY :   rnf        =>    rnf        !: river runoff   [Kg/m2/s]
@@ -237,4 +238,5 @@
    USE sbcrnf  , ONLY :   rnfmsk     =>    rnfmsk     !: mixed adv scheme in runoffs vicinity (hori.) 
    USE sbcrnf  , ONLY :   rnfmsk_z   =>    rnfmsk_z   !: mixed adv scheme in runoffs vicinity (vert.)
+   USE sbcrnf  , ONLY :   h_rnf      =>    h_rnf      !: river runoff   [Kg/m2/s]
 
    USE trc_oce
Index: /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trc.F90
===================================================================
--- /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trc.F90	(revision 2970)
+++ /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trc.F90	(revision 2971)
@@ -105,9 +105,8 @@
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  un_tm       !: i-horizontal velocity average     [m/s]
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  vn_tm       !: j-horizontal velocity average     [m/s]
-   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  wn_tm       !: k-vertical velocity average       [m/s]
-   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::  tsn_tm     !: t/s average     [m/s]
-   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  avt_tm      !: vertical viscosity & diffusivity coeff. at  w-point   [m2/s]
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::  tsn_tm      !: t/s average     [m/s]
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  avt_tm      !: vertical diffusivity coeff. at  w-point   [m2/s]
 # if defined key_zdfddm
-   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  avs_tm     !: salinity vertical diffusivity coeff. at w-point   [m/s]
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  avs_tm      !: vertical double diffusivity coeff. at w-point   [m/s]
 # endif
 #if defined key_ldfslp
@@ -116,4 +115,10 @@
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  uslp_tm     !: j-direction slope at u-, w-points
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  vslp_tm     !: j-direction slope at u-, w-points
+#endif
+#if defined key_trabbl
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  ahu_bbl_tm  !: u-, w-points
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  ahv_bbl_tm  !: j-direction slope at u-, w-points
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  utr_bbl_tm  !: j-direction slope at u-, w-points
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  vtr_bbl_tm  !: j-direction slope at u-, w-points
 #endif
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshn_tm     !: average ssh for the now step [m]
@@ -171,4 +176,8 @@
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  emp_temp, emps_temp, emp_b_temp
    !
+#if defined key_trabbl
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  ahu_bbl_temp, ahv_bbl_temp, utr_bbl_temp, vtr_bbl_temp !: hold current values 
+#endif
+   !
 #if defined key_ldfslp
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  wslpi_temp, wslpj_temp, uslp_temp, vslp_temp    !: hold current values 
Index: /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcrst.F90
===================================================================
--- /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcrst.F90	(revision 2970)
+++ /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcrst.F90	(revision 2971)
@@ -229,5 +229,5 @@
          ENDIF
          ! Control of date 
-         IF( nittrc000  - NINT( zkt ) /= 1 .AND.  nn_rsttr /= 0 )                                  &
+         IF( nittrc000  - NINT( zkt ) /= nn_dttrc .AND.  nn_rsttr /= 0 )                                  &
             &   CALL ctl_stop( ' ===>>>> : problem with nittrc000 for the restart',                 &
             &                  ' verify the restart file or rerun with nn_rsttr = 0 (namelist)' )
Index: /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcsub.F90
===================================================================
--- /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcsub.F90	(revision 2970)
+++ /branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcsub.F90	(revision 2971)
@@ -22,4 +22,5 @@
    USE zdfgls, ONLY: en
 #endif
+   USE trabbl
    USE zdf_oce
    USE domvvl
@@ -67,5 +68,5 @@
       !!-------------------------------------------------------------------
 
-       IF (kt == nit000) THEN
+       IF( kt == nit000 ) THEN
            IF(lwp) WRITE(numout,*)
            IF(lwp) WRITE(numout,*) 'trc_sub_stp : substepping of the passive tracers'
@@ -86,5 +87,4 @@
           un_tm   (:,:,:)        = un_tm   (:,:,:)        + un   (:,:,:)        * fse3u(:,:,:) 
           vn_tm   (:,:,:)        = vn_tm   (:,:,:)        + vn   (:,:,:)        * fse3v(:,:,:) 
-          wn_tm   (:,:,:)        = wn_tm   (:,:,:)        + wn   (:,:,:)        * fse3w(:,:,:) 
           tsn_tm  (:,:,:,jp_tem) = tsn_tm  (:,:,:,jp_tem) + tsn  (:,:,:,jp_tem) * fse3t(:,:,:)  
           tsn_tm  (:,:,:,jp_sal) = tsn_tm  (:,:,:,jp_sal) + tsn  (:,:,:,jp_sal) * fse3t(:,:,:)  
@@ -99,4 +99,14 @@
           vslp_tm (:,:,:)        = vslp_tm (:,:,:)        + vslp (:,:,:)        * fse3v(:,:,:) 
 #endif
+# if defined key_trabbl
+          IF( nn_bbl_ldf == 1 ) THEN
+             ahu_bbl_tm(:,:)     = ahu_bbl_tm(:,:)        + ahu_bbl(:,:) 
+             ahv_bbl_tm(:,:)     = ahv_bbl_tm(:,:)        + ahv_bbl(:,:) 
+          ENDIF
+          IF( nn_bbl_adv == 1 ) THEN
+             utr_bbl_tm(:,:)     = utr_bbl_tm(:,:)        + utr_bbl(:,:) 
+             vtr_bbl_tm(:,:)     = vtr_bbl_tm(:,:)        + vtr_bbl(:,:) 
+          ENDIF
+# endif
           !
           sshn_tm  (:,:)         = sshn_tm  (:,:)         + sshn  (:,:) 
@@ -169,4 +179,14 @@
          vslp_temp  (:,:,:)      = vslp  (:,:,:)
 #endif
+# if defined key_trabbl
+          IF( nn_bbl_ldf == 1 ) THEN
+             ahu_bbl_temp(:,:)   = ahu_bbl(:,:)  
+             ahv_bbl_temp(:,:)   = ahv_bbl(:,:) 
+          ENDIF
+          IF( nn_bbl_adv == 1 ) THEN
+             utr_bbl_temp(:,:)   = utr_bbl(:,:) 
+             vtr_bbl_temp(:,:)   = vtr_bbl(:,:) 
+          ENDIF
+# endif
          sshn_temp  (:,:)        = sshn  (:,:)
          sshu_n_temp(:,:)        = sshu_n(:,:)
@@ -229,5 +249,5 @@
 # endif
 #endif
-!  Variables reset in trc_sub_ssh
+         !                                    !  Variables reset in trc_sub_ssh
          rotn_temp  (:,:,:)      = rotn  (:,:,:)
          hdivn_temp (:,:,:)      = hdivn (:,:,:)
@@ -258,5 +278,4 @@
          un_tm    (:,:,:)        = un_tm   (:,:,:)        + un   (:,:,:)        * e3u_temp(:,:,:) 
          vn_tm    (:,:,:)        = vn_tm   (:,:,:)        + vn   (:,:,:)        * e3v_temp(:,:,:) 
-         wn_tm    (:,:,:)        = wn_tm   (:,:,:)        + wn   (:,:,:)        * e3w_temp(:,:,:) 
          tsn_tm   (:,:,:,jp_tem) = tsn_tm  (:,:,:,jp_tem) + tsn  (:,:,:,jp_tem) * e3t_temp(:,:,:)  
          tsn_tm   (:,:,:,jp_sal) = tsn_tm  (:,:,:,jp_sal) + tsn  (:,:,:,jp_sal) * e3t_temp(:,:,:)  
@@ -271,4 +290,14 @@
          vslp_tm  (:,:,:)        = vslp_tm (:,:,:)        + vslp (:,:,:)        * e3v_temp(:,:,:) 
 #endif
+# if defined key_trabbl
+          IF( nn_bbl_ldf == 1 ) THEN
+             ahu_bbl_tm(:,:)     = ahu_bbl_tm(:,:)        + ahu_bbl(:,:) 
+             ahv_bbl_tm(:,:)     = ahv_bbl_tm(:,:)        + ahv_bbl(:,:) 
+          ENDIF
+          IF( nn_bbl_adv == 1 ) THEN
+             utr_bbl_tm(:,:)     = utr_bbl_tm(:,:)        + utr_bbl(:,:) 
+             vtr_bbl_tm(:,:)     = vtr_bbl_tm(:,:)        + vtr_bbl(:,:) 
+          ENDIF
+# endif
          sshn_tm  (:,:)          = sshn_tm    (:,:)       + sshn  (:,:) 
          sshu_n_tm(:,:)          = sshu_n_tm  (:,:)       + sshu_n(:,:) 
@@ -300,4 +329,14 @@
             emps  (:,:)          = emps_tm    (:,:) * r1_ndttrc 
             fr_i  (:,:)          = fr_i_tm    (:,:) * r1_ndttrc
+# if defined key_trabbl
+            IF( nn_bbl_ldf == 1 ) THEN
+               ahu_bbl(:,:)      = ahu_bbl_tm (:,:) * r1_ndttrc  
+               ahv_bbl(:,:)      = ahv_bbl_tm (:,:) * r1_ndttrc 
+            ENDIF
+            IF( nn_bbl_adv == 1 ) THEN
+               utr_bbl(:,:)      = utr_bbl_tm (:,:) * r1_ndttrc  
+               vtr_bbl(:,:)      = vtr_bbl_tm (:,:) * r1_ndttrc 
+            ENDIF
+# endif
          ELSE
             wndm  (:,:)          = wndm_tm    (:,:) * r1_ndttrcp1 
@@ -306,4 +345,14 @@
             emps  (:,:)          = emps_tm    (:,:) * r1_ndttrcp1 
             fr_i  (:,:)          = fr_i_tm    (:,:) * r1_ndttrcp1 
+# if defined key_trabbl
+            IF( nn_bbl_ldf == 1 ) THEN
+               ahu_bbl(:,:)      = ahu_bbl_tm (:,:) * r1_ndttrcp1  
+               ahv_bbl(:,:)      = ahv_bbl_tm (:,:) * r1_ndttrcp1 
+            ENDIF
+            IF( nn_bbl_adv == 1 ) THEN
+               utr_bbl(:,:)      = utr_bbl_tm (:,:) * r1_ndttrcp1  
+               vtr_bbl(:,:)      = vtr_bbl_tm (:,:) * r1_ndttrcp1 
+            ENDIF
+# endif
          ENDIF
          !
@@ -318,5 +367,4 @@
                   un   (ji,jj,jk)        = un_tm   (ji,jj,jk)        * z1_ne3u
                   vn   (ji,jj,jk)        = vn_tm   (ji,jj,jk)        * z1_ne3v
-                  wn   (ji,jj,jk)        = wn_tm   (ji,jj,jk)        * z1_ne3w
                   tsn  (ji,jj,jk,jp_tem) = tsn_tm  (ji,jj,jk,jp_tem) * z1_ne3t
                   tsn  (ji,jj,jk,jp_sal) = tsn_tm  (ji,jj,jk,jp_sal) * z1_ne3t
@@ -413,7 +461,6 @@
 #endif
 
-         CALL lbc_lnk( un    (:,:,:)       , 'U', 1. ) 
-         CALL lbc_lnk( vn    (:,:,:)       , 'V', 1. ) 
-         CALL lbc_lnk( wn    (:,:,:)       , 'V', 1. ) 
+         CALL lbc_lnk( un    (:,:,:)       , 'U',-1. ) 
+         CALL lbc_lnk( vn    (:,:,:)       , 'V',-1. ) 
          CALL lbc_lnk( tsn   (:,:,:,jp_tem), 'T', 1. ) 
          CALL lbc_lnk( tsn   (:,:,:,jp_sal), 'T', 1. ) 
@@ -423,8 +470,8 @@
 # endif
 #if defined key_ldfslp
-         CALL lbc_lnk( uslp  (:,:,:)       , 'U', 1. ) 
-         CALL lbc_lnk( vslp  (:,:,:)       , 'V', 1. ) 
-         CALL lbc_lnk( wslpi (:,:,:)       , 'W', 1. ) 
-         CALL lbc_lnk( wslpj (:,:,:)       , 'W', 1. ) 
+         CALL lbc_lnk( uslp  (:,:,:)       , 'U',-1. ) 
+         CALL lbc_lnk( vslp  (:,:,:)       , 'V',-1. ) 
+         CALL lbc_lnk( wslpi (:,:,:)       , 'W',-1. ) 
+         CALL lbc_lnk( wslpj (:,:,:)       , 'W',-1. ) 
 #endif
          CALL lbc_lnk( sshn  (:,:)         , 'T', 1. ) 
@@ -447,4 +494,14 @@
          CALL lbc_lnk( qsr   (:,:)         , 'T', 1. ) 
          CALL lbc_lnk( wndm  (:,:)         , 'T', 1. ) 
+# if defined key_trabbl
+         IF( nn_bbl_ldf == 1 ) THEN
+            CALL lbc_lnk( ahu_bbl(:,:)     , 'U', 1. ) 
+            CALL lbc_lnk( ahv_bbl(:,:)     , 'v', 1. ) 
+         ENDIF
+         IF( nn_bbl_adv == 1 ) THEN
+            CALL lbc_lnk( utr_bbl(:,:)     , 'U', 1. ) 
+            CALL lbc_lnk( vtr_bbl(:,:)     , 'U', 1. ) 
+         ENDIF
+# endif
 #if defined key_traldf_c3d
          CALL lbc_lnk( ahtt  (:,:,:)       , 'T', 1. ) 
@@ -472,4 +529,5 @@
          CALL trc_sub_ssh( kt )         ! after ssh & vertical velocity
          !
+         CALL lbc_lnk( wn    (:,:,:)       , 'W',-1. ) 
          CALL lbc_lnk( rotn  (:,:,:)       , 'F', 1. ) 
          CALL lbc_lnk( hdivn (:,:,:)       , 'T', 1. ) 
@@ -507,5 +565,4 @@
       un_tm   (:,:,:)        = un   (:,:,:)        * fse3u(:,:,:) 
       vn_tm   (:,:,:)        = vn   (:,:,:)        * fse3v(:,:,:) 
-      wn_tm   (:,:,:)        = wn   (:,:,:)        * fse3w(:,:,:) 
       tsn_tm  (:,:,:,jp_tem) = tsn  (:,:,:,jp_tem) * fse3t(:,:,:)  
       tsn_tm  (:,:,:,jp_sal) = tsn  (:,:,:,jp_sal) * fse3t(:,:,:)  
@@ -528,9 +585,19 @@
 
       ! Physics variables that are set after initialization:
-      fr_i_tm(:,:) = 0.
-      emp_tm (:,:) = 0.
-      emps_tm(:,:) = 0.
-      qsr_tm (:,:) = 0.
-      wndm_tm(:,:) = 0.
+      fr_i_tm(:,:) = 0._wp
+      emp_tm (:,:) = 0._wp
+      emps_tm(:,:) = 0._wp
+      qsr_tm (:,:) = 0._wp
+      wndm_tm(:,:) = 0._wp
+# if defined key_trabbl
+      IF( nn_bbl_ldf == 1 ) THEN
+         ahu_bbl_tm(:,:) = 0._wp
+         ahv_bbl_tm(:,:) = 0._wp
+      ENDIF
+      IF( nn_bbl_adv == 1 ) THEN
+         utr_bbl_tm(:,:) = 0._wp
+         vtr_bbl_tm(:,:) = 0._wp
+      ENDIF
+# endif
       !
 #if defined key_traldf_c3d
@@ -626,4 +693,14 @@
       qsr   (:,:)     =  qsr_temp   (:,:)
       wndm  (:,:)     =  wndm_temp  (:,:)
+# if defined key_trabbl
+      IF( nn_bbl_ldf == 1 ) THEN
+         ahu_bbl(:,:) = ahu_bbl_temp(:,:) 
+         ahv_bbl(:,:) = ahv_bbl_temp(:,:) 
+      ENDIF
+      IF( nn_bbl_adv == 1 ) THEN
+         utr_bbl(:,:) = utr_bbl_temp(:,:) 
+         vtr_bbl(:,:) = vtr_bbl_temp(:,:) 
+      ENDIF
+# endif
       !
 #if defined key_traldf_c3d
@@ -703,8 +780,6 @@
 
       ! Start new averages
-!      DO jk = 1, jpk
          un_tm   (:,:,:)        = un   (:,:,:)        * fse3u(:,:,:) 
          vn_tm   (:,:,:)        = vn   (:,:,:)        * fse3v(:,:,:) 
-         wn_tm   (:,:,:)        = wn   (:,:,:)        * fse3w(:,:,:) 
          tsn_tm  (:,:,:,jp_tem) = tsn  (:,:,:,jp_tem) * fse3t(:,:,:)  
          tsn_tm  (:,:,:,jp_sal) = tsn  (:,:,:,jp_sal) * fse3t(:,:,:)  
@@ -719,5 +794,4 @@
          vslp_tm (:,:,:)        = vslp (:,:,:)        * fse3v(:,:,:) 
 #endif
-!      END DO
       !
       sshb_hold  (:,:) = sshn  (:,:)
@@ -736,4 +810,14 @@
       qsr_tm     (:,:) = qsr   (:,:)
       wndm_tm    (:,:) = wndm  (:,:)
+# if defined key_trabbl
+      IF( nn_bbl_ldf == 1 ) THEN
+         ahu_bbl_tm(:,:) = ahu_bbl(:,:) 
+         ahv_bbl_tm(:,:) = ahv_bbl(:,:) 
+      ENDIF
+      IF( nn_bbl_adv == 1 ) THEN
+         utr_bbl_tm(:,:) = utr_bbl(:,:) 
+         vtr_bbl_tm(:,:) = vtr_bbl(:,:) 
+      ENDIF
+# endif
       !
 #if defined key_traldf_c3d
@@ -945,6 +1029,10 @@
          &      uslp_temp(jpi,jpj,jpk)      ,  vslp_temp(jpi,jpj,jpk),   &
 #endif
+#if defined key_trabbl
+         &      ahu_bbl_temp(jpi,jpj)       ,  ahv_bbl_temp(jpi,jpj),    &
+         &      utr_bbl_temp(jpi,jpj)       ,  vtr_bbl_temp(jpi,jpj),    &
+#endif
          &      rnf_temp(jpi,jpj)           ,  h_rnf_temp(jpi,jpj) ,     &
-         &      tsn_temp(jpi,jpj,jpk,2)     ,                            &
+         &      tsn_temp(jpi,jpj,jpk,2)     ,  emp_b_temp(jpi,jpj),      &
          &      emp_temp(jpi,jpj)           ,  emps_temp(jpi,jpj) ,      &
          &      hmld_temp(jpi,jpj)          ,  qsr_temp(jpi,jpj) ,       &
@@ -990,5 +1078,5 @@
          &      hur_temp(jpi,jpj)           ,  hvr_temp(jpi,jpj),        &
          &      un_tm(jpi,jpj,jpk)          ,  vn_tm(jpi,jpj,jpk)  ,     &
-         &      wn_tm(jpi,jpj,jpk)          ,  avt_tm(jpi,jpj,jpk) ,     &
+         &      avt_tm(jpi,jpj,jpk)                                ,     &
          &      sshn_tm(jpi,jpj)            ,  sshb_hold(jpi,jpj) ,      &
          &      sshu_n_tm(jpi,jpj)          ,  sshu_b_hold(jpi,jpj),     &
@@ -1001,4 +1089,8 @@
          &      wslpi_tm(jpi,jpj,jpk)       ,  wslpj_tm(jpi,jpj,jpk),    &
          &      uslp_tm(jpi,jpj,jpk)        ,  vslp_tm(jpi,jpj,jpk),     &
+#endif
+#if defined key_trabbl
+         &      ahu_bbl_tm(jpi,jpj)         ,  ahv_bbl_tm(jpi,jpj),      &
+         &      utr_bbl_tm(jpi,jpj)         ,  vtr_bbl_tm(jpi,jpj),      &
 #endif
          &      rnf_tm(jpi,jpj)             ,  h_rnf_tm(jpi,jpj) ,       &
