- Timestamp:
- 2017-12-01T07:22:09+01:00 (6 years ago)
- Location:
- branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/ZDF
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfphy.F90
r8863 r8866 28 28 USE sbcrnf ! surface boundary condition: runoff variables 29 29 #if defined key_agrif 30 USE agrif_opa_interp 30 USE agrif_opa_interp ! interpavm 31 31 #endif 32 32 ! … … 279 279 280 280 #if defined key_agrif 281 ! interpolation parent grid => child grid for avm_k ( ex : at west border: 282 ! update column 1 and 2) 283 CALL Agrif_tke 281 ! interpolation parent grid => child grid for avm_k ( ex : at west border: update column 1 and 2) 282 IF( l_zdfsh2 ) CALL Agrif_avm 284 283 #endif 285 284 286 285 ! !* Lateral boundary conditions (sign unchanged) 287 CALL lbc_lnk( avm_k, 'W', 1. ) ! needed to compute the shear production term 288 CALL lbc_lnk( avt_k, 'W', 1. ) !!gm a priori useless ==>> to be tested 286 IF( l_zdfsh2 ) THEN 287 CALL lbc_lnk( avm_k, 'W', 1. ) ! needed to compute the shear production term 288 CALL lbc_lnk( avt_k, 'W', 1. ) !!gm a priori useless ==>> to be tested 289 ENDIF 289 290 CALL lbc_lnk( avm , 'W', 1. ) ! needed to compute avm at u- and v-points 290 291 CALL lbc_lnk( avt , 'W', 1. ) !!gm a priori only avm_k and avm are required 291 CALL lbc_lnk( avs , 'W', 1. ) !!gm To be tested292 CALL lbc_lnk( avs , 'W', 1. ) !!gm for calculation, keeped here for output only 292 293 ! 293 294 IF( l_zdfdrg ) THEN ! drag have been updated (non-linear cases) … … 297 298 ! 298 299 CALL zdf_mxl( kt ) !* mixed layer depth, and level 299 300 ! 300 301 IF( lrst_oce ) THEN !* write TKE, GLS or RIC fields in the restart file 301 302 IF( ln_zdftke ) CALL tke_rst( kt, 'WRITE' ) -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90
r8863 r8866 46 46 USE zdfdrg ! vertical physics: top/bottom drag coef. 47 47 USE zdfmxl ! vertical physics: mixed layer 48 #if defined key_agrif49 USE agrif_opa_interp50 USE agrif_opa_update51 #endif52 48 ! 53 49 USE in_out_manager ! I/O manager … … 107 103 !!---------------------------------------------------------------------- 108 104 ALLOCATE( htau(jpi,jpj) , dissl(jpi,jpj,jpk) , apdlr(jpi,jpj,jpk) , STAT= zdf_tke_alloc ) 109 105 ! 110 106 IF( lk_mpp ) CALL mpp_sum ( zdf_tke_alloc ) 111 107 IF( zdf_tke_alloc /= 0 ) CALL ctl_warn('zdf_tke_alloc: failed to allocate arrays') … … 171 167 172 168 173 SUBROUTINE tke_tke( pdepw, p_e3t, p_e3w, p_sh2 & 174 & , p_avm, p_avt ) 169 SUBROUTINE tke_tke( pdepw, p_e3t, p_e3w, p_sh2, p_avm, p_avt ) 175 170 !!---------------------------------------------------------------------- 176 171 !! *** ROUTINE tke_tke *** … … 217 212 zfact3 = 0.5_wp * rn_ediss 218 213 ! 219 !220 214 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 221 215 ! ! Surface/top/bottom boundary condition on tke … … 234 228 END DO 235 229 ENDIF 236 230 ! 237 231 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 238 232 ! ! Bottom boundary condition on tke … … 395 389 END DO 396 390 END DO 397 391 ! 398 392 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 399 393 ! ! TKE due to surface and internal wave breaking … … 483 477 REAL(wp) :: zdku, zdkv, zsqen ! - - 484 478 REAL(wp) :: zemxl, zemlm, zemlp ! - - 485 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zmxlm, zmxld 479 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zmxlm, zmxld ! 3D workspace 486 480 !!-------------------------------------------------------------------- 487 481 ! 488 482 IF( ln_timing ) CALL timing_start('tke_avn') 489 483 ! 490 484 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 491 485 ! ! Mixing length … … 597 591 END SELECT 598 592 ! 599 600 593 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 601 594 ! ! Vertical eddy viscosity and diffusivity (avm and avt) … … 623 616 END DO 624 617 ENDIF 625 618 ! 626 619 IF(ln_ctl) THEN 627 620 CALL prt_ctl( tab3d_1=en , clinfo1=' tke - e: ', tab3d_2=avt, clinfo2=' t: ', ovlap=1, kdim=jpk)
Note: See TracChangeset
for help on using the changeset viewer.