Index: branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_substitute.h90
===================================================================
--- branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_substitute.h90	(revision 7269)
+++ branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_substitute.h90	(revision 7311)
@@ -35,2 +35,32 @@
 #      define   fsahtw(i,j,k)   rldf * aht0
 #endif
+
+   !!----------------------------------------------------------------------
+
+#if defined key_crs
+#if defined key_traldf_c3d
+!   'key_traldf_c3d' :                 aht: 3D coefficient
+#       define   fsahtt_crs(i,j,k)   rldf * ahtt_crs(i,j,k)
+#       define   fsahtu_crs(i,j,k)   rldf * ahtu_crs(i,j,k) * r_fact_lap_crs(i,j,k)
+#       define   fsahtv_crs(i,j,k)   rldf * ahtv_crs(i,j,k)
+#       define   fsahtw_crs(i,j,k)   rldf * ahtw_crs(i,j,k)
+#elif defined key_traldf_c2d
+!   'key_traldf_c2d' :                 aht: 2D coefficient
+#       define   fsahtt_crs(i,j,k)   rldf * ahtt_crs(i,j)
+#       define   fsahtu_crs(i,j,k)   rldf * ahtu_crs(i,j) * r_fact_lap_crs(i,j,k)
+#       define   fsahtv_crs(i,j,k)   rldf * ahtv_crs(i,j)
+#       define   fsahtw_crs(i,j,k)   rldf * ahtw_crs(i,j)
+#elif defined key_traldf_c1d
+!   'key_traldf_c1d' :                aht: 1D coefficient
+#       define   fsahtt_crs(i,j,k)   rldf * ahtt_crs(k)
+#       define   fsahtu_crs(i,j,k)   rldf * ahtu_crs(k) * r_fact_lap_crs(i,j,k)
+#       define   fsahtv_crs(i,j,k)   rldf * ahtv_crs(k)
+#       define   fsahtw_crs(i,j,k)   rldf * ahtw_crs(k)
+#else
+!   Default option :             aht: Constant coefficient
+#      define   fsahtt_crs(i,j,k)   rldf * aht0
+#      define   fsahtu_crs(i,j,k)   rldf * aht0 * r_fact_lap_crs(i,j,k)
+#      define   fsahtv_crs(i,j,k)   rldf * aht0
+#      define   fsahtw(_crsi,j,k)   rldf * aht0
+#endif
+#endif
Index: branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_crs.F90
===================================================================
--- branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_crs.F90	(revision 7269)
+++ branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_crs.F90	(revision 7311)
@@ -29,6 +29,8 @@
    USE wrk_nemo        ! Memory Allocation
    USE timing          ! Timing
-   USE oce_trc
+!cbr   USE oce_trc
+   USE ldftra_oce, ONLY: rldf
    USE iom, ONLY : iom_put,iom_swap
+   USE crs
 
    IMPLICIT NONE
@@ -173,6 +175,6 @@
             DO jj = 1 , jpjm1
                DO ji = 1, fs_jpim1   ! vector opt.
-                  zabe1 = ( fsahtu(ji,jj,jk) + pahtb0 ) * e2e3u_msk(ji,jj,jk) / e1u_crs(ji,jj)
-                  zabe2 = ( fsahtv(ji,jj,jk) + pahtb0 ) * e1e3v_msk(ji,jj,jk) / e2v_crs(ji,jj)
+                  zabe1 = ( fsahtu_crs(ji,jj,jk) + pahtb0 ) * e2e3u_msk(ji,jj,jk) / e1u_crs(ji,jj)
+                  zabe2 = ( fsahtv_crs(ji,jj,jk) + pahtb0 ) * e1e3v_msk(ji,jj,jk) / e2v_crs(ji,jj)
 
                   zmsku = 1. / MAX(  tmask_crs(ji+1,jj,jk  ) + tmask_crs(ji,jj,jk+1)   &
@@ -182,6 +184,6 @@
                      &             + tmask_crs(ji,jj+1,jk+1) + tmask_crs(ji,jj,jk  ), 1. )
                   !
-                  zcof1 = - fsahtu(ji,jj,jk) * e2e3u_msk(ji,jj,jk) * uslp_crs(ji,jj,jk) * zmsku / MAX( 1._wp , fse3u_max_crs(ji,jj,jk))
-                  zcof2 = - fsahtv(ji,jj,jk) * e1e3v_msk(ji,jj,jk) * vslp_crs(ji,jj,jk) * zmskv / MAX( 1._wp , fse3v_max_crs(ji,jj,jk))
+                  zcof1 = - fsahtu_crs(ji,jj,jk) * e2e3u_msk(ji,jj,jk) * uslp_crs(ji,jj,jk) * zmsku / MAX( 1._wp , fse3u_max_crs(ji,jj,jk))
+                  zcof2 = - fsahtv_crs(ji,jj,jk) * e1e3v_msk(ji,jj,jk) * vslp_crs(ji,jj,jk) * zmskv / MAX( 1._wp , fse3v_max_crs(ji,jj,jk))
                   !
                   zftu(ji,jj,jk ) = ( zabe1 * zdit(ji,jj,jk)   &
@@ -260,5 +262,5 @@
             DO jj = 2, jpjm1
                DO ji = fs_2, fs_jpim1   ! vector opt.
-                  zcoef0 = - fsahtw(ji,jj,jk) * tmask_crs(ji,jj,jk)
+                  zcoef0 = - fsahtw_crs(ji,jj,jk) * tmask_crs(ji,jj,jk)
                   !
                   zmsku = 1./MAX(   umask_crs(ji  ,jj,jk-1) + umask_crs(ji-1,jj,jk)      &
