- Timestamp:
- 2014-04-06T17:28:25+02:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_flt.F90
r4328 r4616 166 166 DO jj = 2, jpjm1 ! Surface pressure gradient (now) 167 167 DO ji = fs_2, fs_jpim1 ! vector opt. 168 spgu(ji,jj) = - grav * ( sshn(ji+1,jj) - sshn(ji,jj) ) /e1u(ji,jj)169 spgv(ji,jj) = - grav * ( sshn(ji,jj+1) - sshn(ji,jj) ) /e2v(ji,jj)168 spgu(ji,jj) = - grav * ( sshn(ji+1,jj) - sshn(ji,jj) ) * r1_e1u(ji,jj) 169 spgv(ji,jj) = - grav * ( sshn(ji,jj+1) - sshn(ji,jj) ) * r1_e2v(ji,jj) 170 170 END DO 171 171 END DO … … 192 192 ! compute the next vertically averaged velocity (effect of the additional force not included) 193 193 ! --------------------------------------------- 194 ! vertical sum 194 195 DO jj = 2, jpjm1 195 196 DO ji = fs_2, fs_jpim1 ! vector opt. 196 spgu(ji,jj) = 0._wp 197 spgv(ji,jj) = 0._wp 198 END DO 199 END DO 200 201 ! vertical sum 202 !CDIR NOLOOPCHG 203 IF( lk_vopt_loop ) THEN ! vector opt., forced unroll 204 DO jk = 1, jpkm1 205 DO ji = 1, jpij 206 spgu(ji,1) = spgu(ji,1) + fse3u_a(ji,1,jk) * ua(ji,1,jk) 207 spgv(ji,1) = spgv(ji,1) + fse3v_a(ji,1,jk) * va(ji,1,jk) 208 END DO 209 END DO 210 ELSE ! No vector opt. 211 DO jk = 1, jpkm1 212 DO jj = 2, jpjm1 213 DO ji = 2, jpim1 214 spgu(ji,jj) = spgu(ji,jj) + fse3u_a(ji,jj,jk) * ua(ji,jj,jk) 215 spgv(ji,jj) = spgv(ji,jj) + fse3v_a(ji,jj,jk) * va(ji,jj,jk) 216 END DO 217 END DO 218 END DO 219 ENDIF 197 spgu(ji,jj) = fse3u_a(ji,jj,1) * ua(ji,jj,1) 198 spgv(ji,jj) = fse3v_a(ji,jj,1) * va(ji,jj,1) 199 END DO 200 END DO 201 DO jk = 2, jpkm1 202 DO jj = 2, jpjm1 203 DO ji = 2, jpim1 204 spgu(ji,jj) = spgu(ji,jj) + fse3u_a(ji,jj,jk) * ua(ji,jj,jk) 205 spgv(ji,jj) = spgv(ji,jj) + fse3v_a(ji,jj,jk) * va(ji,jj,jk) 206 END DO 207 END DO 208 END DO 220 209 221 210 ! transport: multiplied by the horizontal scale factor … … 294 283 DO ji = fs_2, fs_jpim1 ! vector opt. 295 284 ! trend of Transport divergence gradient 296 ztdgu = z2dtg * (gcx(ji+1,jj ) - gcx(ji,jj) ) /e1u(ji,jj)297 ztdgv = z2dtg * (gcx(ji ,jj+1) - gcx(ji,jj) ) /e2v(ji,jj)285 ztdgu = z2dtg * (gcx(ji+1,jj ) - gcx(ji,jj) ) * r1_e1u(ji,jj) 286 ztdgv = z2dtg * (gcx(ji ,jj+1) - gcx(ji,jj) ) * r1_e2v(ji,jj) 298 287 ! multiplied by z2dt 299 288 #if defined key_bdy
Note: See TracChangeset
for help on using the changeset viewer.