- Timestamp:
- 2015-12-16T10:25:22+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRD/trdglo.F90
r5836 r6060 52 52 53 53 !! * Substitutions 54 # include "domzgr_substitute.h90"55 54 # include "vectopt_loop_substitute.h90" 56 55 # include "zdfddm_substitute.h90" … … 92 91 DO jj = 1, jpj 93 92 DO ji = 1, jpi 94 zvm = e1e2t(ji,jj) * fse3t(ji,jj,jk) * tmask(ji,jj,jk) * tmask_i(ji,jj)93 zvm = e1e2t(ji,jj) * e3t_n(ji,jj,jk) * tmask(ji,jj,jk) * tmask_i(ji,jj) 95 94 zvt = ptrdx(ji,jj,jk) * zvm 96 95 zvs = ptrdy(ji,jj,jk) * zvm … … 103 102 END DO 104 103 ! ! linear free surface: diagnose advective flux trough the fixed k=1 w-surface 105 IF( .NOT.lk_vvl.AND. ktrd == jptra_zad ) THEN106 tmo(jptra_sad) = SUM( wn(:,:,1) * tsn(:,:,1,jp_tem) * e1e2t(:,:) )107 smo(jptra_sad) = SUM( wn(:,:,1) * tsn(:,:,1,jp_sal) * e1e2t(:,:) )108 t2 (jptra_sad) = SUM( wn(:,:,1) * tsn(:,:,1,jp_tem) * tsn(:,:,1,jp_tem) * e1e2t(:,:) )109 s2 (jptra_sad) = SUM( wn(:,:,1) * tsn(:,:,1,jp_sal) * tsn(:,:,1,jp_sal) * e1e2t(:,:) )104 IF( ln_linssh .AND. ktrd == jptra_zad ) THEN 105 tmo(jptra_sad) = SUM( wn(:,:,1) * tsn(:,:,1,jp_tem) * e1e2t(:,:) * tmask_i(:,:) ) 106 smo(jptra_sad) = SUM( wn(:,:,1) * tsn(:,:,1,jp_sal) * e1e2t(:,:) * tmask_i(:,:) ) 107 t2 (jptra_sad) = SUM( wn(:,:,1) * tsn(:,:,1,jp_tem) * tsn(:,:,1,jp_tem) * e1e2t(:,:) * tmask_i(:,:) ) 108 s2 (jptra_sad) = SUM( wn(:,:,1) * tsn(:,:,1,jp_sal) * tsn(:,:,1,jp_sal) * e1e2t(:,:) * tmask_i(:,:) ) 110 109 ENDIF 111 110 ! … … 126 125 DO ji = 1, jpim1 127 126 zvt = ptrdx(ji,jj,jk) * tmask_i(ji+1,jj ) * tmask_i(ji,jj) * umask(ji,jj,jk) & 128 & * e1u (ji ,jj ) * e2u (ji,jj) * fse3u(ji,jj,jk)127 & * e1u (ji ,jj ) * e2u (ji,jj) * e3u_n(ji,jj,jk) 129 128 zvs = ptrdy(ji,jj,jk) * tmask_i(ji ,jj+1) * tmask_i(ji,jj) * vmask(ji,jj,jk) & 130 & * e1v (ji ,jj ) * e2v (ji,jj) * fse3u(ji,jj,jk)129 & * e1v (ji ,jj ) * e2v (ji,jj) * e3u_n(ji,jj,jk) 131 130 umo(ktrd) = umo(ktrd) + zvt 132 131 vmo(ktrd) = vmo(ktrd) + zvs … … 143 142 & * z1_2rau0 * e1u (ji ,jj ) * e2u (ji,jj) 144 143 zvs = ( vtau_b(ji,jj) + vtau(ji,jj) ) * tmask_i(ji ,jj+1) * tmask_i(ji,jj) * vmask(ji,jj,jk) & 145 & * z1_2rau0 * e1v (ji ,jj ) * e2v (ji,jj) * fse3u(ji,jj,jk)144 & * z1_2rau0 * e1v (ji ,jj ) * e2v (ji,jj) * e3u_n(ji,jj,jk) 146 145 umo(jpdyn_tau) = umo(jpdyn_tau) + zvt 147 146 vmo(jpdyn_tau) = vmo(jpdyn_tau) + zvs … … 225 224 DO jj = 1, jpjm1 226 225 DO ji = 1, jpim1 227 zkx(ji,jj,jk) = zcof * e2u(ji,jj) * fse3u(ji,jj,jk) * un(ji,jj,jk) * ( rhop(ji,jj,jk) + rhop(ji+1,jj,jk) )228 zky(ji,jj,jk) = zcof * e1v(ji,jj) * fse3v(ji,jj,jk) * vn(ji,jj,jk) * ( rhop(ji,jj,jk) + rhop(ji,jj+1,jk) )226 zkx(ji,jj,jk) = zcof * e2u(ji,jj) * e3u_n(ji,jj,jk) * un(ji,jj,jk) * ( rhop(ji,jj,jk) + rhop(ji+1,jj,jk) ) 227 zky(ji,jj,jk) = zcof * e1v(ji,jj) * e3v_n(ji,jj,jk) * vn(ji,jj,jk) * ( rhop(ji,jj,jk) + rhop(ji,jj+1,jk) ) 229 228 END DO 230 229 END DO … … 237 236 & + zkx(ji,jj,jk) - zkx(ji-1,jj ,jk ) & 238 237 & + zky(ji,jj,jk) - zky(ji ,jj-1,jk ) ) & 239 & / ( e1e2t(ji,jj) * fse3t(ji,jj,jk) ) * tmask(ji,jj,jk) * tmask_i(ji,jj)238 & / ( e1e2t(ji,jj) * e3t_n(ji,jj,jk) ) * tmask(ji,jj,jk) * tmask_i(ji,jj) 240 239 END DO 241 240 END DO … … 246 245 peke = 0._wp 247 246 DO jk = 1, jpkm1 248 peke = peke + SUM( zkepe(:,:,jk) * fsdept(:,:,jk) * e1e2t(:,:) * fse3t(:,:,jk) )247 peke = peke + SUM( zkepe(:,:,jk) * gdept_n(:,:,jk) * e1e2t(:,:) * e3t_n(:,:,jk) ) 249 248 END DO 250 249 peke = grav * peke … … 530 529 tvolt = 0._wp 531 530 DO jk = 1, jpkm1 532 tvolt = tvolt + SUM( e1e2t(:,:) * fse3t(:,:,jk) * tmask(:,:,jk) * tmask_i(:,:) )531 tvolt = tvolt + SUM( e1e2t(:,:) * e3t_n(:,:,jk) * tmask(:,:,jk) * tmask_i(:,:) ) 533 532 END DO 534 533 IF( lk_mpp ) CALL mpp_sum( tvolt ) ! sum over the global domain … … 547 546 DO jj = 2, jpjm1 548 547 DO ji = fs_2, fs_jpim1 ! vector opt. 549 tvolu = tvolu + e1u(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,jk) * tmask_i(ji+1,jj ) * tmask_i(ji,jj) * umask(ji,jj,jk)550 tvolv = tvolv + e1v(ji,jj) * e2v(ji,jj) * fse3v(ji,jj,jk) * tmask_i(ji ,jj+1) * tmask_i(ji,jj) * vmask(ji,jj,jk)548 tvolu = tvolu + e1u(ji,jj) * e2u(ji,jj) * e3u_n(ji,jj,jk) * tmask_i(ji+1,jj ) * tmask_i(ji,jj) * umask(ji,jj,jk) 549 tvolv = tvolv + e1v(ji,jj) * e2v(ji,jj) * e3v_n(ji,jj,jk) * tmask_i(ji ,jj+1) * tmask_i(ji,jj) * vmask(ji,jj,jk) 551 550 END DO 552 551 END DO
Note: See TracChangeset
for help on using the changeset viewer.