Changes from branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_lap.F90 at r8627 to trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_lap.F90 at r4990
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_lap.F90
r8627 r4990 17 17 USE oce ! ocean dynamics and tracers 18 18 USE dom_oce ! ocean space and time domain 19 USE phycst ! physical constants20 19 USE ldfdyn_oce ! ocean dynamics: lateral physics 21 20 USE zdf_oce ! ocean vertical physics 22 21 ! 23 22 USE in_out_manager ! I/O manager 24 USE iom ! I/O library25 23 USE timing ! Timing 26 24 … … 64 62 INTEGER :: ji, jj, jk ! dummy loop indices 65 63 REAL(wp) :: zua, zva, ze2u, ze1v ! local scalars 66 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: z2d ! 2D workspace67 64 !!---------------------------------------------------------------------- 68 65 ! … … 96 93 END DO ! End of slab 97 94 ! ! =============== 98 99 IF( iom_use('dispkexyfo') ) THEN ! ocean Kinetic Energy dissipation per unit area100 ! ! due to lateral friction (xy=lateral)101 ! see NEMO_book appendix C, §C.7.2 (N.B. here averaged at t-points)102 ! local dissipation of KE at t-point due to laplacian operator is given by :103 ! - ahmt hdivb**2 - mi( mj(ahmf rotb**2 e1f*e2f*e3t) ) / (e1e2t*e3t)104 !105 ALLOCATE( z2d(jpi,jpj) )106 z2d(:,:) = 0._wp107 DO jk = 1, jpkm1108 DO jj = 2, jpjm1109 DO ji = 2, jpim1110 z2d(ji,jj) = z2d(ji,jj) - ( &111 & hdivb(ji,jj,jk)**2 * fsahmt(ji,jj,jk) * fse3t_n(ji,jj,jk) &112 & + 0.25_wp * ( &113 & rotb (ji ,jj ,jk)**2 * fsahmf(ji ,jj ,jk) * e12f(ji ,jj ) * fse3f(ji ,jj ,jk) &114 & + rotb (ji-1,jj ,jk)**2 * fsahmf(ji-1,jj ,jk) * e12f(ji-1,jj ) * fse3f(ji-1,jj ,jk) &115 & + rotb (ji ,jj-1,jk)**2 * fsahmf(ji ,jj-1,jk) * e12f(ji ,jj-1) * fse3f(ji ,jj-1,jk) &116 & + rotb (ji-1,jj-1,jk)**2 * fsahmf(ji-1,jj-1,jk) * e12f(ji-1,jj-1) * fse3f(ji-1,jj-1,jk) &117 & ) * r1_e12t(ji,jj) ) * tmask(ji,jj,jk)118 END DO119 END DO120 END DO121 z2d(:,:) = rau0 * z2d(:,:)122 CALL lbc_lnk( z2d,'T', 1. )123 CALL iom_put( 'dispkexyfo', z2d )124 DEALLOCATE( z2d )125 ENDIF126 127 95 IF( nn_timing == 1 ) CALL timing_stop('dyn_ldf_lap') 128 96 !
Note: See TracChangeset
for help on using the changeset viewer.