Index: trunk/NEMOGCM/CONFIG/SHARED/namelist_ref
===================================================================
--- trunk/NEMOGCM/CONFIG/SHARED/namelist_ref	(revision 5028)
+++ trunk/NEMOGCM/CONFIG/SHARED/namelist_ref	(revision 5029)
@@ -842,4 +842,5 @@
    ln_dynvor_mix = .false. !  mixed scheme
    ln_dynvor_een = .true.  !  energy & enstrophy scheme
+   ln_dynvor_een_old = .false.  !  energy & enstrophy scheme - original formulation
 /
 !-----------------------------------------------------------------------
Index: trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90
===================================================================
--- trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90	(revision 5028)
+++ trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90	(revision 5029)
@@ -51,4 +51,5 @@
    LOGICAL, PUBLIC ::   ln_dynvor_mix   !: mixed scheme
    LOGICAL, PUBLIC ::   ln_dynvor_een   !: energy and enstrophy conserving scheme
+   LOGICAL, PUBLIC ::   ln_dynvor_een_old !: energy and enstrophy conserving scheme (original formulation)
 
    INTEGER ::   nvor = 0   ! type of vorticity trend used
@@ -596,15 +597,29 @@
 
       IF( kt == nit000 .OR. lk_vvl ) THEN      ! reciprocal of e3 at F-point (masked averaging of e3t over ocean points)
-         DO jk = 1, jpk
-            DO jj = 1, jpjm1
-               DO ji = 1, jpim1
-                  ze3  = ( fse3t(ji,jj+1,jk)*tmask(ji,jj+1,jk) + fse3t(ji+1,jj+1,jk)*tmask(ji+1,jj+1,jk)   &
-                     &   + fse3t(ji,jj  ,jk)*tmask(ji,jj  ,jk) + fse3t(ji+1,jj  ,jk)*tmask(ji+1,jj  ,jk) )
-                  zmsk = (                   tmask(ji,jj+1,jk) +                     tmask(ji+1,jj+1,jk)   &
-                     &                     + tmask(ji,jj  ,jk) +                     tmask(ji+1,jj  ,jk) )
-                  IF( ze3 /= 0._wp )   ze3f(ji,jj,jk) = zmsk / ze3
-               END DO
-            END DO
-         END DO
+
+         IF( ln_dynvor_een_old ) THEN ! original formulation
+            DO jk = 1, jpk
+               DO jj = 1, jpjm1
+                  DO ji = 1, jpim1
+                     ze3  = ( fse3t(ji,jj+1,jk)*tmask(ji,jj+1,jk) + fse3t(ji+1,jj+1,jk)*tmask(ji+1,jj+1,jk)   &
+                        &   + fse3t(ji,jj  ,jk)*tmask(ji,jj  ,jk) + fse3t(ji+1,jj  ,jk)*tmask(ji+1,jj  ,jk) )
+                     IF( ze3 /= 0._wp )   ze3f(ji,jj,jk) = 4.0_wp / ze3
+                  END DO
+               END DO
+            END DO
+         ELSE ! new formulation from NEMO 3.6
+            DO jk = 1, jpk
+               DO jj = 1, jpjm1
+                  DO ji = 1, jpim1
+                     ze3  = ( fse3t(ji,jj+1,jk)*tmask(ji,jj+1,jk) + fse3t(ji+1,jj+1,jk)*tmask(ji+1,jj+1,jk)   &
+                        &   + fse3t(ji,jj  ,jk)*tmask(ji,jj  ,jk) + fse3t(ji+1,jj  ,jk)*tmask(ji+1,jj  ,jk) )
+                     zmsk = (                   tmask(ji,jj+1,jk) +                     tmask(ji+1,jj+1,jk)   &
+                        &                     + tmask(ji,jj  ,jk) +                     tmask(ji+1,jj  ,jk) )
+                     IF( ze3 /= 0._wp )   ze3f(ji,jj,jk) = zmsk / ze3
+                  END DO
+               END DO
+            END DO
+         ENDIF
+
          CALL lbc_lnk( ze3f, 'F', 1. )
       ENDIF
@@ -705,5 +720,5 @@
       INTEGER ::   ios             ! Local integer output status for namelist read
       !!
-      NAMELIST/namdyn_vor/ ln_dynvor_ens, ln_dynvor_ene, ln_dynvor_mix, ln_dynvor_een
+      NAMELIST/namdyn_vor/ ln_dynvor_ens, ln_dynvor_ene, ln_dynvor_mix, ln_dynvor_een, ln_dynvor_een_old
       !!----------------------------------------------------------------------
 
@@ -726,4 +741,5 @@
          WRITE(numout,*) '           mixed enstrophy/energy conserving scheme   ln_dynvor_mix = ', ln_dynvor_mix
          WRITE(numout,*) '           enstrophy and energy conserving scheme     ln_dynvor_een = ', ln_dynvor_een
+         WRITE(numout,*) '           enstrophy and energy conserving scheme (old) ln_dynvor_een_old= ', ln_dynvor_een_old
       ENDIF
 
@@ -749,4 +765,5 @@
       IF( ln_dynvor_mix )   ioptio = ioptio + 1
       IF( ln_dynvor_een )   ioptio = ioptio + 1
+      IF( ln_dynvor_een_old )   ioptio = ioptio + 1
       IF( lk_esopa      )   ioptio =          1
 
@@ -757,5 +774,5 @@
       IF( ln_dynvor_ens )   nvor =  1
       IF( ln_dynvor_mix )   nvor =  2
-      IF( ln_dynvor_een )   nvor =  3
+      IF( ln_dynvor_een .or. ln_dynvor_een_old )   nvor =  3
       IF( lk_esopa      )   nvor = -1
       
Index: trunk/NEMOGCM/SETTE/BATCH_TEMPLATE/batch-PW7_MONSOON
===================================================================
--- trunk/NEMOGCM/SETTE/BATCH_TEMPLATE/batch-PW7_MONSOON	(revision 5028)
+++ trunk/NEMOGCM/SETTE/BATCH_TEMPLATE/batch-PW7_MONSOON	(revision 5029)
@@ -13,5 +13,4 @@
 # @ notification = error
 # @ task_affinity = core
-# @ group = science
 # @ queue
 
