Changeset 6386
- Timestamp:
- 2016-03-11T15:11:22+01:00 (8 years ago)
- Location:
- branches/2016/dev_r6381_SIMPLIF_5/NEMOGCM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_r6381_SIMPLIF_5/NEMOGCM/CONFIG/SHARED/namelist_ref
r6383 r6386 815 815 rn_aht_0 = 2000. ! lateral eddy diffusivity (lap. operator) [m2/s] 816 816 rn_bht_0 = 1.e+12 ! lateral eddy diffusivity (bilap. operator) [m4/s] 817 !818 ! Smagorinsky settings:819 rn_csmc = 3.5 ! Smagorinsky constant of proportionality820 rn_cfacmin = 1.0 ! multiplier of theorectical lower limit821 rn_cfacmax = 1.0 ! multiplier of theorectical upper limit822 817 / 823 818 !----------------------------------------------------------------------- … … 932 927 ! ! = 30 F(i,j,k)=c2d*c1d 933 928 ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) 929 ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) 930 ! Caution in 20 and 30 cases the coefficient have to be given for a 1 degree grid (~111km) 934 931 rn_ahm_0 = 40000. ! horizontal laplacian eddy viscosity [m2/s] 935 932 rn_ahm_b = 0. ! background eddy viscosity for ldf_iso [m2/s] 936 933 rn_bhm_0 = 1.e+12 ! horizontal bilaplacian eddy viscosity [m4/s] 937 ! 938 ! Caution in 20 and 30 cases the coefficient have to be given for a 1 degree grid (~111km) 934 ! ! Smagorinsky settings (nn_ahm_ijk_t = 32) : 935 rn_csmc = 3.5 ! Smagorinsky constant of proportionality 936 rn_minfac = 1.0 ! multiplier of theorectical lower limit 937 rn_maxfac = 1.0 ! multiplier of theorectical upper limit 939 938 / 940 939 -
branches/2016/dev_r6381_SIMPLIF_5/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn.F90
r6383 r6386 45 45 !! will be computed. 46 46 REAL(wp), PUBLIC :: rn_csmc !: Smagorinsky constant of proportionality 47 REAL(wp), PUBLIC :: rn_ cfacmin!: Multiplicative factor of theorectical minimum Smagorinsky viscosity48 REAL(wp), PUBLIC :: rn_ cfacmax!: Multiplicative factor of theorectical maximum Smagorinsky viscosity47 REAL(wp), PUBLIC :: rn_minfac !: Multiplicative factor of theorectical minimum Smagorinsky viscosity 48 REAL(wp), PUBLIC :: rn_maxfac !: Multiplicative factor of theorectical maximum Smagorinsky viscosity 49 49 50 50 LOGICAL , PUBLIC :: l_ldfdyn_time !: flag for time variation of the lateral eddy viscosity coef. … … 99 99 & ln_dynldf_lev, ln_dynldf_hor, ln_dynldf_iso, & 100 100 & nn_ahm_ijk_t , rn_ahm_0, rn_ahm_b, rn_bhm_0, & 101 & rn_csmc , rn_ cfacmin, rn_cfacmax101 & rn_csmc , rn_minfac, rn_maxfac 102 102 !!---------------------------------------------------------------------- 103 103 ! … … 134 134 WRITE(numout,*) ' Smagorinsky coefficient rn_csmc = ', rn_csmc 135 135 WRITE(numout,*) ' factor multiplier for theorectical lower limit for ' 136 WRITE(numout,*) ' Smagorinsky eddy visc (def. 1.0) rn_ cfacmin = ', rn_cfacmin136 WRITE(numout,*) ' Smagorinsky eddy visc (def. 1.0) rn_minfac = ', rn_minfac 137 137 WRITE(numout,*) ' factor multiplier for theorectical lower upper for ' 138 WRITE(numout,*) ' Smagorinsky eddy visc (def. 1.0) rn_ cfacmax = ', rn_cfacmax138 WRITE(numout,*) ' Smagorinsky eddy visc (def. 1.0) rn_maxfac = ', rn_maxfac 139 139 ENDIF 140 140 … … 234 234 l_ldfdyn_time = .TRUE. ! will be calculated by call to ldf_dyn routine in step.F90 235 235 ! 236 ! allocate locate gradient arrays used in ldf_dyn. Allocated once here for efficiency.236 ! allocate arrays used in ldf_dyn. 237 237 ALLOCATE( dtensq(jpi,jpj) , dshesq(jpi,jpj) , esqt(jpi,jpj) , esqf(jpi,jpj) , STAT=ierr ) 238 238 IF( ierr /= 0 ) CALL ctl_stop( 'STOP', 'ldf_dyn_init: failed to allocate Smagorinsky arrays') … … 328 328 ! 329 329 zcmsmag = (rn_csmc/rpi)**2 ! (C_smag/pi)^2 330 zstabf_lo = rn_cfacmin * rn_cfacmin / ( 2_.wp * 4._wp * zcmsmag ) ! lower limit stability factor scaling 331 zstabf_up = rn_cfacmax / ( 4._wp * zcmsmag * rdt ) ! upper limit stability factor scaling 332 ! 330 zstabf_lo = rn_minfac * rn_minfac / ( 2._wp * 4._wp * zcmsmag ) ! lower limit stability factor scaling 331 zstabf_up = rn_maxfac / ( 4._wp * zcmsmag * 2._wp * rdt ) ! upper limit stability factor scaling 332 IF( ln_dynldf_blp ) zstabf_lo = ( 16._wp / 9._wp ) * zstabf_lo ! provide |U|L^3/12 lower limit instead 333 ! ! of |U|L^3/16 in blp case 333 334 DO jk = 1, jpkm1 334 335 ! … … 365 366 & dshesq(ji-1,jj) + dshesq(ji-1,jj-1) ) ) 366 367 ahmt(ji,jj,jk) = MAX( ahmt(ji,jj,jk), & 367 & SQRT( (zu2pv2_ij + zu2pv2_ij_m1) * zdelta * zstabf_lo ) ) ! Impose lower limit == cfacmin* |U|L/2368 ahmt(ji,jj,jk) = MIN( ahmt(ji,jj,jk), zdelta * zstabf_up ) ! Impose upper limit == cfacmax * L^2/(4dt)368 & SQRT( (zu2pv2_ij + zu2pv2_ij_m1) * zdelta * zstabf_lo ) ) ! Impose lower limit == minfac * |U|L/2 369 ahmt(ji,jj,jk) = MIN( ahmt(ji,jj,jk), zdelta * zstabf_up ) ! Impose upper limit == maxfac * L^2/(4*2dt) 369 370 ! F-point value 370 371 zdelta = zcmsmag * esqf(ji,jj) ! L^2 * (C_smag/pi)^2 … … 373 374 & dtensq(ji+1,jj) + dtensq(ji+1,jj+1) ) ) 374 375 ahmf(ji,jj,jk) = MAX( ahmf(ji,jj,jk), & 375 & SQRT( (zu2pv2_ij + zu2pv2_ij_p1) * zdelta * zstabf_lo ) ) ! Impose lower limit == cfacmin* |U|L/2376 ahmf(ji,jj,jk) = MIN( ahmf(ji,jj,jk), zdelta * zstabf_up ) ! Impose upper limit == cfacmax * L^2/(4dt)376 & SQRT( (zu2pv2_ij + zu2pv2_ij_p1) * zdelta * zstabf_lo ) ) ! Impose lower limit == minfac * |U|L/2 377 ahmf(ji,jj,jk) = MIN( ahmf(ji,jj,jk), zdelta * zstabf_up ) ! Impose upper limit == maxfac * L^2/(4*2dt) 377 378 ! 378 379 END DO … … 385 386 ! = sqrt( A_lap_smag L^2/8 ) 386 387 ! stability limits already applied to laplacian values 388 ! effective default limits are |U|L^3/12 < B_hm < L^4/(32*2dt) 387 389 ! 388 390 DO jk = 1, jpkm1
Note: See TracChangeset
for help on using the changeset viewer.