# Changeset 3634

Ignore:
Timestamp:
2012-11-22T18:32:14+01:00 (8 years ago)
Message:

Branch dev_NOC_2012_r3555. #1006. Step 11: merge in changes from the 2012/dev_r3452_NOCL02_Smagorinsky branch

Location:
branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC
Files:
9 edited
2 copied

Unmodified
Removed
• ## branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_bilap.F90

 r3294 ! Multiply by the eddy viscosity coef. (at u- and v-points) zlu(:,:,jk) = zlu(:,:,jk) * fsahmu(:,:,jk) zlv(:,:,jk) = zlv(:,:,jk) * fsahmv(:,:,jk) zlu(:,:,jk) = zlu(:,:,jk) * ( fsahmu(:,:,jk) * (1-nkahm_smag) + nkahm_smag) zlv(:,:,jk) = zlv(:,:,jk) * ( fsahmv(:,:,jk) * (1-nkahm_smag) + nkahm_smag) ! Contravariant "laplacian" &  + ( zut(ji,jj+1,jk) - zut(ji  ,jj,jk) ) / e2v(ji,jj) ! add it to the general momentum trends ua(ji,jj,jk) = ua(ji,jj,jk) + zua va(ji,jj,jk) = va(ji,jj,jk) + zva ua(ji,jj,jk) = ua(ji,jj,jk) + zua * ( fsahmu(ji,jj,jk)*nkahm_smag +(1 -nkahm_smag )) va(ji,jj,jk) = va(ji,jj,jk) + zva * ( fsahmv(ji,jj,jk)*nkahm_smag +(1 -nkahm_smag )) END DO END DO
• ## branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_bilapg.F90

 r3294 ! II.3 Divergence of vertical fluxes added to the horizontal divergence ! --------------------------------------------------------------------- IF( kahm == 1 ) THEN IF( (kahm -nkahm_smag) ==1 ) THEN ! multiply the laplacian by the eddy viscosity coefficient DO jk = 1, jpkm1 END DO END DO ELSEIF( kahm == 2 ) THEN ELSEIF( (kahm +nkahm_smag ) == 2 ) THEN ! second call, no multiplication DO jk = 1, jpkm1
• ## branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn.F90

 r3294 NAMELIST/namdyn_ldf/ ln_dynldf_lap  , ln_dynldf_bilap,                  & &                 ln_dynldf_level, ln_dynldf_hor  , ln_dynldf_iso,   & &                 rn_ahm_0_lap   , rn_ahmb_0      , rn_ahm_0_blp !!---------------------------------------------------------------------- &                 rn_ahm_0_lap   , rn_ahmb_0      , rn_ahm_0_blp ,   & &                 rn_cmsmag_1    , rn_cmsmag_2    , rn_cmsh,         & &                 rn_ahm_m_lap   , rn_ahm_m_blp !!---------------------------------------------------------------------- REWIND( numnam )                  ! Read Namelist namdyn_ldf : Lateral physics WRITE(numout,*) '      background viscosity                    rn_ahmb_0       = ', rn_ahmb_0 WRITE(numout,*) '      horizontal bilaplacian eddy viscosity   rn_ahm_0_blp    = ', rn_ahm_0_blp WRITE(numout,*) '      upper limit for laplacian eddy visc     rn_ahm_m_lap    = ', rn_ahm_m_lap WRITE(numout,*) '      upper limit for bilap eddy viscosity    rn_ahm_m_blp    = ', rn_ahm_m_blp ENDIF IF(lwp) WRITE(numout,*) '        ahm1 = ahm2 = ahm0 =  ',ahm0 #endif nkahm_smag = 0 #if defined key_dynldf_smag nkahm_smag = 1 #endif ! END SUBROUTINE ldf_dyn_init
• ## branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_oce.F90

 r2715 REAL(wp), PUBLIC ::   rn_ahm_0_blp    =     0._wp   !: lateral bilaplacian eddy viscosity (m4/s) REAL(wp), PUBLIC ::   ahm0, ahmb0, ahm0_blp         !: OLD namelist names REAL(wp), PUBLIC ::   rn_cmsmag_1     =     3._wp   !: constant in laplacian Smagorinsky viscosity REAL(wp), PUBLIC ::   rn_cmsmag_2     =     3._wp   !: constant in bilaplacian Smagorinsky viscosity REAL(wp), PUBLIC ::   rn_cmsh         =     1._wp   !: 1 or 0 , if 0 -use only shear for Smagorinsky viscosity REAL(wp), PUBLIC ::   rn_ahm_m_blp    = -1.e12_wp   !: upper limit for bilap  abs(ahm) < min( dx^4/128rdt, rn_ahm_m_blp) REAL(wp), PUBLIC ::   rn_ahm_m_lap    =  40000_wp   !: upper limit for lap  ahm < min(dx^2/16rdt, rn_ahm_m_lap) INTEGER , PUBLIC ::   nkahm_smag      =  0          !: !                                                                                  !!! eddy coeff. at U-,V-,W-pts [m2/s]
• ## branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra.F90

 r3294 NAMELIST/namtra_ldf/ ln_traldf_lap  , ln_traldf_bilap,                  & &                 ln_traldf_level, ln_traldf_hor  , ln_traldf_iso,   & &                 ln_traldf_grif , ln_traldf_gdia,                   & &                 ln_triad_iso   , ln_botmix_grif,                   & &                 ln_traldf_grif , ln_traldf_gdia ,                  & &                 ln_triad_iso   , ln_botmix_grif ,                  & &                 rn_aht_0       , rn_ahtb_0      , rn_aeiv_0,       & &                 rn_slpmax &                 rn_slpmax      , rn_chsmag      ,    rn_smsh,      & &                 rn_aht_m !!---------------------------------------------------------------------- IF(lwp)WRITE(numout,*) '      constant eddy diffusivity coef.   ahtu = ahtv = ahtw = aht0 = ', aht0 IF( lk_traldf_eiv ) THEN IF(lwp)WRITE(numout,*) IF(lwp)WRITE(numout,*) '      constant eddy induced velocity coef.   aeiu = aeiv = aeiw = aeiv0 = ', aeiv0 ENDIF #endif #if defined key_traldf_smag && ! defined key_traldf_c3d CALL ctl_stop( 'key_traldf_smag can only be used with key_traldf_c3d' ) #endif #if defined key_traldf_smag IF(lwp) WRITE(numout,*)' SMAGORINSKY DIFFUSION' IF(lwp .AND. rn_smsh < 1)  WRITE(numout,*)' only  shear is used ' IF(lwp.and.ln_traldf_bilap) CALL ctl_stop(' SMAGORINSKY + BILAPLACIAN - UNSTABLE OR NON_CONSERVATIVE' ) #endif ! END SUBROUTINE ldf_tra_init
• ## branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_c3d.h90

 r2715 CALL lbc_lnk( aeiv, 'V', 1. ) CALL lbc_lnk( aeiw, 'W', 1. ) # endif IF(lwp .AND. ld_print ) THEN WRITE(numout,*) CALL prihre(aeiw(:,:,1),jpi,jpj,1,jpi,1,1,jpj,1,1.e-3,numout) ENDIF ! # endif END SUBROUTINE ldf_tra_c3d
• ## branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_oce.F90

 r3294 REAL(wp), PUBLIC ::   rn_aeiv_0       = 2000._wp  !: eddy induced velocity coefficient (m2/s) REAL(wp), PUBLIC ::   rn_slpmax       = 0.01_wp   !: slope limit REAL(wp), PUBLIC ::   rn_chsmag       = 1._wp     !:  multiplicative factor in Smagorinsky diffusivity REAL(wp), PUBLIC ::   rn_smsh         = 1._wp     !:  Smagorinsky diffusivity: = 0 - use only sheer REAL(wp), PUBLIC ::   rn_aht_m        = 2000._wp  !:  upper limit or stability criteria for lateral eddy diffusivity (m2/s) REAL(wp), PUBLIC ::   aht0, ahtb0, aeiv0         !!: OLD namelist names LOGICAL , PUBLIC ::   ln_triad_iso    = .FALSE.   !: calculate triads twice LOGICAL , PUBLIC ::   ln_botmix_grif  = .FALSE.   !: mixing on bottom
• ## branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC/step.F90

 r3294 IF( lk_traldf_eiv )   CALL ldf_eiv( kstp )      ! eddy induced velocity coefficient #endif #if defined key_traldf_c3d && key_traldf_smag CALL ldf_tra_smag( kstp )      ! eddy induced velocity coefficient #  endif #if defined key_dynldf_c3d && key_dynldf_smag CALL ldf_dyn_smag( kstp )      ! eddy induced velocity coefficient #  endif !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
• ## branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC/step_oce.F90

 r3294 USE ldfslp           ! iso-neutral slopes               (ldf_slp routine) USE ldfeiv           ! eddy induced velocity coef.      (ldf_eiv routine) USE ldftra_smag      ! Smagirinsky diffusion            (ldftra_smag routine) USE ldfdyn_smag      ! Smagorinsky viscosity            (ldfdyn_smag routine) USE zdftmx           ! tide-induced vertical mixing     (zdf_tmx routine)
Note: See TracChangeset for help on using the changeset viewer.