Changeset 11319
- Timestamp:
- 2019-07-22T12:27:25+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DYN/dynspg_ts.F90
r11265 r11319 250 250 zhV(:,:) = vn_b(:,:) * hv_n(:,:) * e1v(:,:) ! NB: FULL domain : put a value in last row and column 251 251 ! 252 CALL dyn_cor_2d( h t_n, hu_n, hv_n, un_b, vn_b, zhU, zhV, & ! <<== in253 & 252 CALL dyn_cor_2d( hu_n, hv_n, un_b, vn_b, zhU, zhV, & ! <<== in 253 & zu_trd, zv_trd ) ! ==>> out 254 254 ! 255 255 IF( .NOT.ln_linssh ) THEN !* surface pressure gradient (variable volume only) … … 468 468 END DO 469 469 END DO 470 DO jj = 1, jpj ! not jpj-row471 DO ji = 1, jpi m1470 DO jj = 1, jpjm1 ! not jpj-row 471 DO ji = 1, jpi 472 472 zhvp2_e(ji,jj) = hv_0(ji,jj) + r1_2 * r1_e1e2v(ji,jj) & 473 473 & * ( e1e2t(ji,jj ) * zsshp2_e(ji,jj ) & … … 595 595 ! at each time step. We however keep them constant here for optimization. 596 596 ! Recall that zhU and zhV hold fluxes at jn+0.5 (extrapolated not backward interpolated) 597 CALL dyn_cor_2d( zh tp2_e, zhup2_e, zhvp2_e, ua_e, va_e, zhU, zhV, zu_trd, zv_trd )597 CALL dyn_cor_2d( zhup2_e, zhvp2_e, ua_e, va_e, zhU, zhV, zu_trd, zv_trd ) 598 598 ! 599 599 ! Add tidal astronomical forcing if defined … … 1237 1237 1238 1238 1239 SUBROUTINE dyn_cor_2d( h t_n, hu_n, hv_n, un_b, vn_b, zhU, zhV, zu_trd, zv_trd )1239 SUBROUTINE dyn_cor_2d( hu_n, hv_n, un_b, vn_b, zhU, zhV, zu_trd, zv_trd ) 1240 1240 !!--------------------------------------------------------------------- 1241 1241 !! *** ROUTINE dyn_cor_2d *** … … 1243 1243 !! ** Purpose : Compute u and v coriolis trends 1244 1244 !!---------------------------------------------------------------------- 1245 INTEGER :: ji ,jj ! dummy loop indices1246 REAL(wp) :: zx1, zx2, zy1, zy2 ! - -1247 REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: h t_n, hu_n, hv_n, un_b, vn_b, zhU, zhV1245 INTEGER :: ji ,jj ! dummy loop indices 1246 REAL(wp) :: zx1, zx2, zy1, zy2, z1_hu, z1_hv ! - - 1247 REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: hu_n, hv_n, un_b, vn_b, zhU, zhV 1248 1248 REAL(wp), DIMENSION(jpi,jpj), INTENT( out) :: zu_trd, zv_trd 1249 1249 !!---------------------------------------------------------------------- … … 1252 1252 DO jj = 2, jpjm1 1253 1253 DO ji = 2, jpim1 1254 zu_trd(ji,jj) = + r1_4 * r1_e1e2u(ji,jj) * r1_hu_n(ji,jj) & 1254 z1_hu = ssumask(ji,jj) / ( hu_n(ji,jj) + 1._wp - ssumask(ji,jj) ) 1255 z1_hv = ssvmask(ji,jj) / ( hv_n(ji,jj) + 1._wp - ssvmask(ji,jj) ) 1256 zu_trd(ji,jj) = + r1_4 * r1_e1e2u(ji,jj) * z1_hu & 1255 1257 & * ( e1e2t(ji+1,jj)*ht_n(ji+1,jj)*ff_t(ji+1,jj) * ( vn_b(ji+1,jj) + vn_b(ji+1,jj-1) ) & 1256 1258 & + e1e2t(ji ,jj)*ht_n(ji ,jj)*ff_t(ji ,jj) * ( vn_b(ji ,jj) + vn_b(ji ,jj-1) ) ) 1257 1259 ! 1258 zv_trd(ji,jj) = - r1_4 * r1_e1e2v(ji,jj) * r1_hv_n(ji,jj)&1260 zv_trd(ji,jj) = - r1_4 * r1_e1e2v(ji,jj) * z1_hv & 1259 1261 & * ( e1e2t(ji,jj+1)*ht_n(ji,jj+1)*ff_t(ji,jj+1) * ( un_b(ji,jj+1) + un_b(ji-1,jj+1) ) & 1260 1262 & + e1e2t(ji,jj )*ht_n(ji,jj )*ff_t(ji,jj ) * ( un_b(ji,jj ) + un_b(ji-1,jj ) ) )
Note: See TracChangeset
for help on using the changeset viewer.