Index: /branches/DEV_r1924_nocs_latphys/CONFIG/GYRE/EXP00/namelist
===================================================================
--- /branches/DEV_r1924_nocs_latphys/CONFIG/GYRE/EXP00/namelist	(revision 2189)
+++ /branches/DEV_r1924_nocs_latphys/CONFIG/GYRE/EXP00/namelist	(revision 2190)
@@ -401,4 +401,5 @@
    ln_traldf_hor    =  .false.  !     horizontal (geopotential)         (require "key_ldfslp" when ln_sco=T)
    ln_traldf_iso    =  .true.   !     iso-neutral                       (require "key_ldfslp")
+   ln_traldf_grif   =  .false.  !     griffies skew flux formulation    (require "key_ldfslp")
                            !  Coefficient
    rn_aht_0         =  1000.    !     horizontal eddy diffusivity for tracers [m2/s]
Index: /branches/DEV_r1924_nocs_latphys/CONFIG/GYRE_LOBSTER/EXP00/namelist
===================================================================
--- /branches/DEV_r1924_nocs_latphys/CONFIG/GYRE_LOBSTER/EXP00/namelist	(revision 2189)
+++ /branches/DEV_r1924_nocs_latphys/CONFIG/GYRE_LOBSTER/EXP00/namelist	(revision 2190)
@@ -401,4 +401,5 @@
    ln_traldf_hor    =  .false.  !     horizontal (geopotential)         (require "key_ldfslp" when ln_sco=T)
    ln_traldf_iso    =  .true.   !     iso-neutral                       (require "key_ldfslp")
+   ln_traldf_grif   =  .false.  !     griffies skew flux formulation    (require "key_ldfslp")
                            !  Coefficient
    rn_aht_0         =  1000.    !     horizontal eddy diffusivity for tracers [m2/s]
Index: /branches/DEV_r1924_nocs_latphys/CONFIG/ORCA2_LIM/EXP00/namelist
===================================================================
--- /branches/DEV_r1924_nocs_latphys/CONFIG/ORCA2_LIM/EXP00/namelist	(revision 2189)
+++ /branches/DEV_r1924_nocs_latphys/CONFIG/ORCA2_LIM/EXP00/namelist	(revision 2190)
@@ -428,4 +428,5 @@
    ln_traldf_hor    =  .false.  !     horizontal (geopotential)         (require "key_ldfslp" when ln_sco=T)
    ln_traldf_iso    =  .true.   !     iso-neutral                       (require "key_ldfslp")
+   ln_traldf_grif   =  .false.  !     griffies skew flux formulation    (require "key_ldfslp")
                            !  Coefficient
    rn_aht_0         =  2000.    !     horizontal eddy diffusivity for tracers [m2/s]
Index: /branches/DEV_r1924_nocs_latphys/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist
===================================================================
--- /branches/DEV_r1924_nocs_latphys/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist	(revision 2189)
+++ /branches/DEV_r1924_nocs_latphys/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist	(revision 2190)
@@ -428,4 +428,5 @@
    ln_traldf_hor    =  .false.  !     horizontal (geopotential)         (require "key_ldfslp" when ln_sco=T)
    ln_traldf_iso    =  .true.   !     iso-neutral                       (require "key_ldfslp")
+   ln_traldf_grif   =  .false.  !     griffies skew flux formulation    (require "key_ldfslp")
                            !  Coefficient
    rn_aht_0         =  2000.    !     horizontal eddy diffusivity for tracers [m2/s]
Index: /branches/DEV_r1924_nocs_latphys/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist
===================================================================
--- /branches/DEV_r1924_nocs_latphys/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist	(revision 2189)
+++ /branches/DEV_r1924_nocs_latphys/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist	(revision 2190)
@@ -91,4 +91,5 @@
    ln_traldf_hor    =  .false.  !     horizontal (geopotential)         (require "key_ldfslp" when ln_sco=T)
    ln_traldf_iso    =  .true.   !     iso-neutral                       (require "key_ldfslp")
+   ln_traldf_grif   =  .false.  !     griffies skew flux formulation    (require "key_ldfslp")
 !                               !  Coefficient
    aht0        =  2000.         !     horizontal eddy diffusivity for tracers [m2/s]
Index: /branches/DEV_r1924_nocs_latphys/CONFIG/POMME/EXP00/namelist
===================================================================
--- /branches/DEV_r1924_nocs_latphys/CONFIG/POMME/EXP00/namelist	(revision 2189)
+++ /branches/DEV_r1924_nocs_latphys/CONFIG/POMME/EXP00/namelist	(revision 2190)
@@ -425,4 +425,5 @@
    ln_traldf_hor    =  .false.  !     horizontal (geopotential)         (require "key_ldfslp" when ln_sco=T)
    ln_traldf_iso    =  .true.   !     iso-neutral                       (require "key_ldfslp")
+   ln_traldf_grif   =  .false.  !     griffies skew flux formulation    (require "key_ldfslp")
                            !  Coefficient
    rn_aht_0         =   300.    !     horizontal eddy diffusivity for tracers [m2/s]
Index: /branches/DEV_r1924_nocs_latphys/NEMO/OPA_SRC/LDF/ldfslp.F90
===================================================================
--- /branches/DEV_r1924_nocs_latphys/NEMO/OPA_SRC/LDF/ldfslp.F90	(revision 2189)
+++ /branches/DEV_r1924_nocs_latphys/NEMO/OPA_SRC/LDF/ldfslp.F90	(revision 2190)
@@ -558,6 +558,6 @@
         ! Depth of the w-point below ML base
         ! ---------------------------------------
-        DO jj = 1, jpjm1
-           DO ji = 1, fs_jpim1
+        DO jj = 1, jpj
+           DO ji = 1, jpi
               jk = nmln(ji,jj)
               zr_ml_basew(ji,jj)=1.0/fsdepw(ji,jj,jk+1)
@@ -617,6 +617,6 @@
               DO jj = 1, jpjm1
                  DO ji = 1, fs_jpim1
-                    jk = nmln(ji,jj)
-                    zsx_ml_base(ji,jj,ip,kp)=zsx(ji,jj,jk+1-kp,ip,kp)
+                    jk = nmln(ji+ip,jj)
+                    zsx_ml_base(ji+ip,jj,1-ip,kp)=zsx(ji+ip,jj,jk+1-kp,1-ip,kp)
                  END DO
               END DO
@@ -634,7 +634,10 @@
 
                     DO ji = 1, fs_jpim1   ! vector opt.
-                       zfact = 1 - 1/(1 + (jk+1-kp)/nmln(ji,jj))
-                       zsx(ji,jj,jk,ip,kp) = zfact*zsx(ji,jj,jk,ip,kp) + &
-                            & (1.0_wp-zfact)*(fsdepw(ji,jj,jk+1-kp)*zr_ml_basew(ji,jj))*zsx_ml_base(ji,jj,ip,kp) 
+                       ! k index of uppermost point(s) of triad is jk+kp-1
+                       ! must be .ge. nmln(ji,jj) for zfact=1.
+                       !                   otherwise  zfact=0.
+                       zfact = 1 - 1/(1 + (jk+kp-1)/nmln(ji+ip,jj))
+                       zsx(ji+ip,jj,jk,1-ip,kp) = zfact*zsx(ji+ip,jj,jk,1-ip,kp) + &
+                            & (1.0_wp-zfact)*(fsdepw(ji+ip,jj,jk+kp)*zr_ml_basew(ji+ip,jj))*zsx_ml_base(ji+ip,jj,1-ip,kp) 
                     END DO
 
@@ -674,5 +677,5 @@
                        wslp2(ji+ip,jj,jk+kp)=wslp2(ji+ip,jj,jk+kp)+ &
                             & ((zvolf*ze3wr)/(e1t(ji+ip,jj)*e2t(ji+ip,jj)))*(zslope)**2
-                       psix_eiv(ji+ip,jj,jk+kp) = psix_eiv(ji+ip,jj,jk+kp) + 0.25_wp*zslope
+                       psix_eiv(ji,jj,jk+kp) = psix_eiv(ji,jj,jk+kp) + 0.25_wp*zslope
 
                     END DO
@@ -720,6 +723,6 @@
               DO jj = 1, jpjm1
                  DO ji = 1, fs_jpim1
-                    jk = nmln(ji,jj)
-                    zsy_ml_base(ji,jj,jp,kp)=zsy(ji,jj,jk+1-kp,jp,kp)
+                    jk = nmln(ji,jj+jp)
+                    zsy_ml_base(ji,jj+jp,1-jp,kp)=zsy(ji,jj+jp,jk+1-kp,1-jp,kp)
                  END DO
               END DO
@@ -737,7 +740,10 @@
 
                     DO ji = 1, fs_jpim1   ! vector opt.
-                       zfact = 1 - 1/(1 + (jk+1-kp)/nmln(ji,jj))
-                       zsy(ji,jj,jk,jp,kp) = zfact*zsy(ji,jj,jk,jp,kp) +&
-                            & (1.0_wp-zfact)*(fsdepw(ji,jj,jk+1-kp)*zr_ml_basew(ji,jj))*zsy_ml_base(ji,jj,jp,kp) 
+                       ! k index of uppermost point(s) of triad is jk+kp-1
+                       ! must be .ge. nmln(ji,jj) for zfact=1.
+                       !                   otherwise  zfact=0.
+                       zfact = 1 - 1/(1 + (jk+kp-1)/nmln(ji,jj+jp))
+                       zsy(ji,jj+jp,jk,1-jp,kp) = zfact*zsy(ji,jj+jp,jk,1-jp,kp) + &
+                            & (1.0_wp-zfact)*(fsdepw(ji,jj+jp,jk+kp)*zr_ml_basew(ji,jj+jp))*zsy_ml_base(ji,jj+jp,1-jp,kp) 
                     END DO
 
@@ -777,5 +783,5 @@
                        wslp2(ji,jj+jp,jk+kp)=wslp2(ji,jj+jp,jk+kp)+ &
                             & ((zvolf*ze3wr)/(e1t(ji,jj+jp)*e2t(ji,jj+jp)))*(zslope)**2
-                       psiy_eiv(ji,jj+jp,jk+kp) = psiy_eiv(ji,jj+jp,jk+kp) + 0.25_wp*zslope
+                       psiy_eiv(ji,jj,jk+kp) = psiy_eiv(ji,jj,jk+kp) + 0.25_wp*zslope
 
                     END DO
Index: /branches/DEV_r1924_nocs_latphys/NEMO/OPA_SRC/LDF/ldftra_oce.F90
===================================================================
--- /branches/DEV_r1924_nocs_latphys/NEMO/OPA_SRC/LDF/ldftra_oce.F90	(revision 2189)
+++ /branches/DEV_r1924_nocs_latphys/NEMO/OPA_SRC/LDF/ldftra_oce.F90	(revision 2190)
@@ -20,5 +20,5 @@
    LOGICAL , PUBLIC ::   ln_traldf_hor   = .FALSE.   !: horizontal (geopotential) direction
    LOGICAL , PUBLIC ::   ln_traldf_iso   = .TRUE.    !: iso-neutral direction
-   LOGICAL , PUBLIC ::   ln_traldf_grif  = .TRUE.    !: griffies skew flux
+   LOGICAL , PUBLIC ::   ln_traldf_grif  = .FALSE.   !: griffies skew flux
    REAL(wp), PUBLIC ::   rn_aht_0        = 2000._wp  !: lateral eddy diffusivity (m2/s)
    REAL(wp), PUBLIC ::   rn_ahtb_0       =    0._wp  !: lateral background eddy diffusivity (m2/s)
@@ -27,4 +27,5 @@
 
    REAL(wp), PUBLIC ::   aht0, ahtb0, aeiv0         !!: OLD namelist names
+   REAL(wp), PUBLIC ::   slpmax                     !: slope limit 
 
 #if defined key_traldf_c3d
@@ -44,5 +45,4 @@
    !!----------------------------------------------------------------------
    LOGICAL, PUBLIC, PARAMETER               ::   lk_traldf_eiv   = .TRUE.   !: eddy induced velocity flag
-   REAL(wp), PUBLIC                         ::   slpmax                     !: slope limit 
       
 # if defined key_traldf_c3d
Index: /branches/DEV_r1924_nocs_latphys/NEMO/OPA_SRC/TRA/traldf.F90
===================================================================
--- /branches/DEV_r1924_nocs_latphys/NEMO/OPA_SRC/TRA/traldf.F90	(revision 2189)
+++ /branches/DEV_r1924_nocs_latphys/NEMO/OPA_SRC/TRA/traldf.F90	(revision 2190)
@@ -153,5 +153,5 @@
          WRITE(numout,*) '      horizontal (geopotential)   ln_traldf_hor   = ', ln_traldf_hor
          WRITE(numout,*) '      iso-neutral                 ln_traldf_iso   = ', ln_traldf_iso
-         WRITE(numout,*) '          iso-neutral (Griffies)      ln_traldf_grif  = ', ln_traldf_grif
+         WRITE(numout,*) '      iso-neutral (Griffies)      ln_traldf_grif  = ', ln_traldf_grif
       ENDIF
 
Index: /branches/DEV_r1924_nocs_latphys/NEMO/OPA_SRC/TRA/traldf_iso_grif.F90
===================================================================
--- /branches/DEV_r1924_nocs_latphys/NEMO/OPA_SRC/TRA/traldf_iso_grif.F90	(revision 2189)
+++ /branches/DEV_r1924_nocs_latphys/NEMO/OPA_SRC/TRA/traldf_iso_grif.F90	(revision 2190)
@@ -178,6 +178,12 @@
       END DO
       !
-      psix_eiv(:,:,:) = psix_eiv(:,:,:)*fsaeiu(:,:,:)
-      psiy_eiv(:,:,:) = psiy_eiv(:,:,:)*fsaeiv(:,:,:)
+      DO jk=1,jpk
+      DO jj=2,jpjm1
+      DO ji=fs_2,fs_jpim1
+       psix_eiv(ji,jj,jk) = psix_eiv(ji,jj,jk)*fsaeiu(ji,jj,jk)
+       psiy_eiv(ji,jj,jk) = psiy_eiv(ji,jj,jk)*fsaeiv(ji,jj,jk)
+      END DO
+      END DO
+      END DO
 
    END SUBROUTINE tra_ldf_iso_grif
