Changeset 4455
- Timestamp:
- 2014-02-04T13:16:43+01:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90
r4438 r4455 152 152 END DO 153 153 ELSE ! applied on thickness weighted velocity 154 155 #if defined key_z_first 156 DO jj = 1, jpj, 1 157 DO ji = 1, jpi, 1 158 DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 159 ua(ji,jj,jk) = ( ub(ji,jj,jk) * fse3u_b(ji,jj,jk) & 160 & + z2dt * ua(ji,jj,jk) * fse3u_n(ji,jj,jk) ) & 161 & / fse3u_a(ji,jj,jk) * umask(ji,jj,jk) 162 va(ji,jj,jk) = ( vb(ji,jj,jk) * fse3v_b(ji,jj,jk) & 163 & + z2dt * va(ji,jj,jk) * fse3v_n(ji,jj,jk) ) & 164 & / fse3v_a(ji,jj,jk) * vmask(ji,jj,jk) 165 END DO 166 END DO 167 END DO 168 #else 154 169 DO jk = 1, jpkm1 155 170 ua(:,:,jk) = ( ub(:,:,jk) * fse3u_b(:,:,jk) & … … 160 175 & / fse3v_a(:,:,jk) * vmask(:,:,jk) 161 176 END DO 177 #endif 162 178 ENDIF 163 179 … … 238 254 DO jj = 1, jpj 239 255 DO ji = 1, jpi 240 DO jk = 1, jpkm1256 DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 241 257 un(ji,jj,jk) = ua(ji,jj,jk) ! un <-- ua 242 258 vn(ji,jj,jk) = va(ji,jj,jk) … … 257 273 DO jj = 1, jpj 258 274 DO ji = 1, jpi 259 DO jk = 1, jpkm1275 DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 260 276 #else 261 277 DO jk = 1, jpkm1 … … 278 294 ! Before scale factor at t-points 279 295 ! ------------------------------- 296 #if defined key_z_first 297 DO jj = 1, jpj 298 DO ji = 1, jpi 299 DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 300 fse3t_b(ji,jj,jk) = fse3t_n(ji,jj,jk) & 301 & + atfp * ( fse3t_b(ji,jj,jk) + fse3t_a(ji,jj,jk) & 302 & - 2.e0 * fse3t_n(ji,jj,jk) ) 303 END DO 304 END DO 305 ENDDO 306 #else 280 307 DO jk = 1, jpkm1 281 308 fse3t_b(:,:,jk) = fse3t_n(:,:,jk) & … … 283 310 & - 2.e0 * fse3t_n(:,:,jk) ) 284 311 ENDDO 312 #endif 285 313 ! Add volume filter correction only at the first level of t-point scale factors 286 314 zec = atfp * rdt / rau0 … … 302 330 DO jj = 1, jpjm1 303 331 DO ji = 1, jpim1 304 DO jk = 1, jpkm1332 DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 305 333 #else 306 334 DO jk = 1, jpkm1 … … 320 348 CALL lbc_lnk( fse3v_b(:,:,:), 'V', 1. ) 321 349 ! Add initial scale factor to scale factor anomaly 350 #if defined key_z_first 351 DO jj = 1, jpjm1 352 DO ji = 1, jpim1 353 DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 354 fse3u_b(ji,jj,jk) = fse3u_b(ji,jj,jk) + fse3u_0(ji,jj,jk) 355 fse3v_b(ji,jj,jk) = fse3v_b(ji,jj,jk) + fse3v_0(ji,jj,jk) 356 END DO 357 END DO 358 END DO 359 #else 322 360 fse3u_b(:,:,:) = fse3u_b(:,:,:) + fse3u_0(:,:,:) 323 361 fse3v_b(:,:,:) = fse3v_b(:,:,:) + fse3v_0(:,:,:) 362 #endif 324 363 ! Leap-Frog - Asselin filter and swap: applied on velocity 325 364 ! ----------------------------------- … … 327 366 DO jj = 1, jpj 328 367 DO ji = 1, jpi 329 DO jk = 1, jpkm1368 DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 330 369 #else 331 370 DO jk = 1, jpkm1 … … 351 390 DO jj = 1, jpjm1 352 391 DO ji = 1, jpim1 353 DO jk = 1, jpkm1392 DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 354 393 #else 355 394 DO jk = 1, jpkm1 … … 369 408 CALL lbc_lnk( ze3v_f, 'V', 1. ) 370 409 ! Add initial scale factor to scale factor anomaly 410 #if defined key_z_first 411 DO jj = 1, jpjm1 412 DO ji = 1, jpim1 413 DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 414 ze3u_f(ji,jj,jk) = ze3u_f(ji,jj,jk) + fse3u_0(ji,jj,jk) 415 ze3v_f(ji,jj,jk) = ze3v_f(ji,jj,jk) + fse3v_0(ji,jj,jk) 416 END DO 417 END DO 418 END DO 419 #else 371 420 ze3u_f(:,:,:) = ze3u_f(:,:,:) + fse3u_0(:,:,:) 372 421 ze3v_f(:,:,:) = ze3v_f(:,:,:) + fse3v_0(:,:,:) 422 #endif 373 423 ! Leap-Frog - Asselin filter and swap: applied on thickness weighted velocity 374 424 ! ----------------------------------- =========================== … … 376 426 DO jj = 1, jpj 377 427 DO ji = 1, jpim1 378 DO jk = 1, jpkm1428 DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 379 429 #else 380 430 DO jk = 1, jpkm1 … … 399 449 END DO 400 450 END DO 451 #if defined key_z_first 452 DO jj = 1, jpj 453 DO ji = 1, jpim1 454 DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 455 fse3u_b(ji,jj,jk) = ze3u_f(ji,jj,jk) ! e3u_b <-- filtered scale factor 456 fse3v_b(ji,jj,jk) = ze3v_f(ji,jj,jk) 457 END DO 458 END DO 459 END DO 460 #else 401 461 fse3u_b(:,:,:) = ze3u_f(:,:,:) ! e3u_b <-- filtered scale factor 402 462 fse3v_b(:,:,:) = ze3v_f(:,:,:) 463 #endif 403 464 CALL lbc_lnk( ub, 'U', -1. ) ! lateral boundary conditions 404 465 CALL lbc_lnk( vb, 'V', -1. )
Note: See TracChangeset
for help on using the changeset viewer.