- Timestamp:
- 2017-02-06T16:21:14+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/GO6_dyn_vrt_diag/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_bilap.F90
r6486 r7649 19 19 USE dom_oce ! ocean space and time domain 20 20 USE ldfdyn_oce ! ocean dynamics: lateral physics 21 USE divcur ! for dyn_vrt_dia 21 22 ! 22 23 USE in_out_manager ! I/O manager … … 75 76 INTEGER, INTENT(in) :: kt ! ocean time-step index 76 77 ! 78 INTEGER :: id_dia_vrt_ldf_int = 1 ! TODO remove once flags set properly 79 INTEGER :: id_dia_vrt_ldf_mean = 1 ! TODO remove once flags set properly 77 80 INTEGER :: ji, jj, jk ! dummy loop indices 78 REAL(wp) :: z ua, zva, zbt, ze2u, ze2v! temporary scalar81 REAL(wp) :: zbt, ze2u, ze2v ! temporary scalar 79 82 REAL(wp), POINTER, DIMENSION(:,: ) :: zcu, zcv 80 REAL(wp), POINTER, DIMENSION(:,:,:) :: zuf, zut, zlu, zlv 83 REAL(wp), POINTER, DIMENSION(:,:,:) :: zuf, zut, zlu, zlv, zua, zva 81 84 !!---------------------------------------------------------------------- 82 85 ! … … 84 87 ! 85 88 CALL wrk_alloc( jpi, jpj, zcu, zcv ) 86 CALL wrk_alloc( jpi, jpj, jpk, zuf, zut, zlu, zlv )89 CALL wrk_alloc( jpi, jpj, jpk, zuf, zut, zlu, zlv, zua, zva ) 87 90 ! 88 91 IF( kt == nit000 .AND. lwp ) THEN … … 191 194 ze2v = e1v(ji,jj) * fse3v(ji,jj,jk) 192 195 ! horizontal biharmonic diffusive trends 193 zua = - ( zuf(ji ,jj,jk) - zuf(ji,jj-1,jk) ) / ze2u & 194 & + ( zut(ji+1,jj,jk) - zut(ji,jj ,jk) ) / e1u(ji,jj) 195 196 zva = + ( zuf(ji,jj ,jk) - zuf(ji-1,jj,jk) ) / ze2v & 197 & + ( zut(ji,jj+1,jk) - zut(ji ,jj,jk) ) / e2v(ji,jj) 196 zua(ji,jj,jk) = - ( zuf(ji ,jj,jk) - zuf(ji,jj-1,jk) ) / ze2u & 197 & + ( zut(ji+1,jj,jk) - zut(ji,jj ,jk) ) / e1u(ji,jj) & 198 & * ( fsahmu(ji,jj,jk)*nkahm_smag +(1 -nkahm_smag )) 199 zva(ji,jj,jk) = + ( zuf(ji,jj ,jk) - zuf(ji-1,jj,jk) ) / ze2v & 200 & + ( zut(ji,jj+1,jk) - zut(ji ,jj,jk) ) / e2v(ji,jj) & 201 & * ( fsahmv(ji,jj,jk)*nkahm_smag +(1 -nkahm_smag )) 198 202 ! add it to the general momentum trends 199 ua(ji,jj,jk) = ua(ji,jj,jk) + zua * ( fsahmu(ji,jj,jk)*nkahm_smag +(1 -nkahm_smag ))200 va(ji,jj,jk) = va(ji,jj,jk) + zva * ( fsahmv(ji,jj,jk)*nkahm_smag +(1 -nkahm_smag ))203 ua(ji,jj,jk) = ua(ji,jj,jk) + zua(ji,jj,jk) 204 va(ji,jj,jk) = va(ji,jj,jk) + zva(ji,jj,jk) 201 205 END DO 202 206 END DO … … 205 209 END DO ! End of slab 206 210 ! ! =============== 211 IF ( ( id_dia_vrt_ldf_int == 1 ) .or. ( id_dia_vrt_ldf_mean == 1 ) ) THEN 212 CALL dyn_vrt_dia(zua, zva, id_dia_vrt_ldf_int, id_dia_vrt_ldf_mean) 213 END IF 214 ! 207 215 CALL wrk_dealloc( jpi, jpj, zcu, zcv ) 208 CALL wrk_dealloc( jpi, jpj, jpk, zuf, zut, zlu, zlv )216 CALL wrk_dealloc( jpi, jpj, jpk, zuf, zut, zlu, zlv, zua, zva ) 209 217 ! 210 218 IF( nn_timing == 1 ) CALL timing_stop('dyn_ldf_bilap')
Note: See TracChangeset
for help on using the changeset viewer.