- Timestamp:
- 2012-07-11T13:22:58+02:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90
r3211 r3432 61 61 ! !!! ** Namelist namzdf_gls ** 62 62 LOGICAL :: ln_crban = .FALSE. ! =T use Craig and Banner scheme 63 LOGICAL :: ln_length_lim = .FALSE. ! use limit on the dissipation rate under stable stratification (Galperin et al. 1988) 64 LOGICAL :: ln_sigpsi = .FALSE. ! Activate Burchard (2003) modification for k-eps closure & wave breaking mixing 63 LOGICAL :: ln_length_lim = .FALSE. ! use limit on the dissipation rate under 64 ! stable stratification (Galperin et al. 1988) 65 LOGICAL :: ln_sigpsi = .FALSE. ! Activate Burchard (2003) modification for 66 ! k-eps closure & wave breaking mixing 65 67 INTEGER :: nn_tkebc_surf = 0 ! TKE surface boundary condition (=0/1) 66 68 INTEGER :: nn_tkebc_bot = 0 ! TKE bottom boundary condition (=0/1) … … 72 74 REAL(wp) :: rn_epsmin = 1.e-12_wp ! minimum value of dissipation (m2/s3) 73 75 REAL(wp) :: rn_emin = 1.e-6_wp ! minimum value of TKE (m2/s2) 74 REAL(wp) :: rn_charn = 2.e+5_wp ! Charnock constant for surface breaking waves mixing : 1400. (standard) or 2.e5 (Stacey value) 76 REAL(wp) :: rn_charn = 2.e+5_wp ! Charnock constant for surface breaking waves 77 ! mixing : 1400. (standard) or 2.e5 (Stacey value) 75 78 REAL(wp) :: rn_crban = 100._wp ! Craig and Banner constant for surface breaking waves mixing 76 79 … … 167 170 USE wrk_nemo, ONLY: eps => wrk_3d_4 ! dissipation rate 168 171 USE wrk_nemo, ONLY: zwall_psi => wrk_3d_5 ! Wall function use in the wb case (ln_sigpsi.AND.ln_crban=T) 172 USE timing, ONLY: timing_start, timing_stop 169 173 170 174 !! DCSE_NEMO: need additional directives for renamed module variables … … 180 184 REAL(wp) :: gh, gm, shr, dif, zsqen, zav ! - - 181 185 !!-------------------------------------------------------------------- 186 187 CALL timing_start('zdf_gls') 182 188 183 189 IF( wrk_in_use(2, 1,2,3) .OR. wrk_in_use(3, 1,2,3,4,5) ) THEN … … 319 325 IF( ln_sigpsi ) THEN 320 326 zsigpsi = MIN( 1._wp, zesh2 / eps(ji,jj,jk) ) ! 0. <= zsigpsi <= 1. 321 zwall_psi(ji,jj,jk) = rsc_psi / ( zsigpsi * rsc_psi + (1._wp-zsigpsi) * rsc_psi0 / MAX( zwall(ji,jj,jk), 1._wp ) ) 327 zwall_psi(ji,jj,jk) = rsc_psi / ( zsigpsi * rsc_psi + & 328 (1._wp-zsigpsi) * rsc_psi0 / MAX( zwall(ji,jj,jk), 1._wp ) ) 322 329 ELSE 323 330 zwall_psi(ji,jj,jk) = 1._wp … … 1048 1055 DO ji = fs_2, fs_jpim1 ! vector opt. 1049 1056 #endif 1050 DO jk = 1, jpk1051 DO jj = 2, jpjm11052 DO ji = fs_2, fs_jpim1 ! vector opt.1053 1057 zsqen = SQRT( 2._wp * en(ji,jj,jk) ) * mxln(ji,jj,jk) 1054 1058 zav = zsqen * avmu(ji,jj,jk) … … 1089 1093 IF( wrk_not_released(2, 1,2,3) .OR. & 1090 1094 wrk_not_released(3, 1,2,3,4,5) ) CALL ctl_stop('zdf_gls: failed to release workspace arrays') 1095 ! 1096 CALL timing_stop('zdf_gls','section') 1091 1097 ! 1092 1098 END SUBROUTINE zdf_gls
Note: See TracChangeset
for help on using the changeset viewer.