# Changeset 5029

Ignore:
Timestamp:
2015-01-14T17:32:37+01:00 (6 years ago)
Message:

Reinstate old formulation of EEN vorticity scheme as an option in NEMO 3.6.
See ticket #1375

Location:
trunk/NEMOGCM
Files:
3 edited

Unmodified
Added
Removed
• ## trunk/NEMOGCM/CONFIG/SHARED/namelist_ref

 r4990 ln_dynvor_mix = .false. !  mixed scheme ln_dynvor_een = .true.  !  energy & enstrophy scheme ln_dynvor_een_old = .false.  !  energy & enstrophy scheme - original formulation / !-----------------------------------------------------------------------
• ## trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90

 r4990 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 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 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 !!---------------------------------------------------------------------- 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 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 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
• ## trunk/NEMOGCM/SETTE/BATCH_TEMPLATE/batch-PW7_MONSOON

 r5028 # @ notification = error # @ task_affinity = core # @ group = science # @ queue
Note: See TracChangeset for help on using the changeset viewer.