- Timestamp:
- 2014-02-04T13:19:11+01:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/LDF/ldfslp.F90
r4458 r4479 172 172 DO jj = 1, jpjm1 !== i- & j-gradient of density ==! 173 173 DO ji = 1, jpim1 174 DO jk = 1, mbkmax(ji,jj) ! jpk f175 #else 176 DO jk = 1, jpk f!== i- & j-gradient of density ==!174 DO jk = 1, mbkmax(ji,jj) ! jpk 175 #else 176 DO jk = 1, jpk !== i- & j-gradient of density ==! 177 177 DO jj = 1, jpjm1 178 178 DO ji = 1, fs_jpim1 ! vector opt. … … 202 202 DO ji = 1, jpi 203 203 zdzr(ji,jj,1) = 0._wp !== Local vertical density gradient at T-point == ! (evaluated from N^2) 204 DO jk = 2, mbkmax(ji,jj)-1 ! jpk fm1204 DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 205 205 zdzr(ji,jj,jk) = zm1_g * ( prd(ji,jj,jk) + 1._wp ) & 206 206 & * ( pn2(ji,jj,jk) + pn2(ji,jj,jk+1) ) * ( 1._wp - 0.5_wp * tmask(ji,jj,jk+1) ) … … 210 210 #else 211 211 zdzr(:,:,1) = 0._wp !== Local vertical density gradient at T-point == ! (evaluated from N^2) 212 DO jk = 2, jpk fm1212 DO jk = 2, jpkm1 213 213 ! ! zdzr = d/dz(prd)= - ( prd ) / grav * mk(pn2) -- at t point 214 214 ! ! trick: tmask(ik ) = 0 => all pn2 = 0 => zdzr = 0 … … 231 231 DO jj = 2, jpjm1 !* Slopes at u and v points 232 232 DO ji = 2, jpim1 233 DO jk = 2, mbkmax(ji,jj)-1 ! jpk fm1234 #else 235 DO jk = 2, jpk fm1 !* Slopes at u and v points233 DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 234 #else 235 DO jk = 2, jpkm1 !* Slopes at u and v points 236 236 DO jj = 2, jpjm1 237 237 DO ji = fs_2, fs_jpim1 ! vector opt. … … 275 275 DO jj = 2, jpjm1, MAX(1, jpj-3) ! rows jj=2 and =jpjm1 only 276 276 DO ji = 2, jpim1 277 DO jk = 2, mbkmax(ji,jj)-1 ! jpk fm1278 #else 279 DO jk = 2, jpk fm1277 DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 278 #else 279 DO jk = 2, jpkm1 280 280 DO jj = 2, jpjm1, MAX(1, jpj-3) ! rows jj=2 and =jpjm1 only 281 281 DO ji = 2, jpim1 … … 297 297 DO jj = 3, jpj-2 ! other rows 298 298 DO ji = 2, jpim1 299 DO jk = 2, mbkmax(ji,jj)-1 ! jpk fm1299 DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 300 300 #else 301 301 DO jj = 3, jpj-2 ! other rows … … 319 319 DO jj = 2, jpjm1 320 320 DO ji = 2, jpim1 321 DO jk = 2, mbkmax(ji,jj)-1 ! jpk fm1321 DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 322 322 #else 323 323 ! !* decrease along coastal boundaries … … 340 340 DO jj = 2, jpjm1 341 341 DO ji = 2, jpim1 342 DO jk = 2, mbkmax(ji,jj)-1 ! jpk fm1343 #else 344 DO jk = 2, jpk fm1342 DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 343 #else 344 DO jk = 2, jpkm1 345 345 DO jj = 2, jpjm1 346 346 DO ji = fs_2, fs_jpim1 ! vector opt. … … 384 384 DO jj = 2, jpjm1, MAX(1, jpj-3) ! rows jj=2 and =jpjm1 only 385 385 DO ji = 2, jpim1 386 DO jk = 2, mbkmax(ji,jj)-1 ! jpk fm1387 #else 388 DO jk = 2, jpk fm1386 DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 387 #else 388 DO jk = 2, jpkm1 389 389 DO jj = 2, jpjm1, MAX(1, jpj-3) ! rows jj=2 and =jpjm1 only 390 390 DO ji = 2, jpim1 … … 407 407 DO jj = 3, jpj-2 ! other rows 408 408 DO ji = 2, jpim1 409 DO jk = 2, mbkmax(ji,jj)-1 ! jpk fm1409 DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 410 410 #else 411 411 DO jj = 3, jpj-2 ! other rows … … 430 430 DO jj = 2, jpjm1 431 431 DO ji = 2, jpim1 432 DO jk = 2, mbkmax(ji,jj)-1 ! jpk fm1432 DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 433 433 #else 434 434 ! !* decrease along coastal boundaries … … 450 450 ! ! Gibraltar Strait 451 451 ij0 = 50 ; ij1 = 53 452 ii0 = 69 ; ii1 = 71 ; uslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk f) = 0._wp452 ii0 = 69 ; ii1 = 71 ; uslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk ) = 0._wp 453 453 ij0 = 51 ; ij1 = 53 454 ii0 = 68 ; ii1 = 71 ; vslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk f) = 0._wp455 ii0 = 69 ; ii1 = 71 ; wslpi( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk f) = 0._wp456 ii0 = 69 ; ii1 = 71 ; wslpj( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk f) = 0._wp454 ii0 = 68 ; ii1 = 71 ; vslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk ) = 0._wp 455 ii0 = 69 ; ii1 = 71 ; wslpi( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk ) = 0._wp 456 ii0 = 69 ; ii1 = 71 ; wslpj( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk ) = 0._wp 457 457 ! 458 458 ! ! Mediterranean Sea 459 459 ij0 = 49 ; ij1 = 56 460 ii0 = 71 ; ii1 = 90 ; uslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk f) = 0._wp460 ii0 = 71 ; ii1 = 90 ; uslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk ) = 0._wp 461 461 ij0 = 50 ; ij1 = 56 462 ii0 = 70 ; ii1 = 90 ; vslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk f) = 0._wp463 ii0 = 71 ; ii1 = 90 ; wslpi( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk f) = 0._wp464 ii0 = 71 ; ii1 = 90 ; wslpj( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk f) = 0._wp462 ii0 = 70 ; ii1 = 90 ; vslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk ) = 0._wp 463 ii0 = 71 ; ii1 = 90 ; wslpi( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk ) = 0._wp 464 ii0 = 71 ; ii1 = 90 ; wslpj( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpk ) = 0._wp 465 465 ENDIF 466 466 … … 547 547 DO jj = 1, jpjm1 548 548 DO ji = 1, jpim1 549 DO jk = 1, jpk fm1 !== before lateral T & S gradients at T-level jk ==!550 #else 551 DO jk = 1, jpk fm1 !== before lateral T & S gradients at T-level jk ==!549 DO jk = 1, jpkm1 !== before lateral T & S gradients at T-level jk ==! 550 #else 551 DO jk = 1, jpkm1 !== before lateral T & S gradients at T-level jk ==! 552 552 DO jj = 1, jpjm1 553 553 DO ji = 1, fs_jpim1 ! vector opt. … … 581 581 zdkt(ji,jj,1) = 0._wp !== before vertical T & S gradient at w-level ==! 582 582 zdks(ji,jj,1) = 0._wp 583 DO jk = 2, jpk f583 DO jk = 2, jpk 584 584 zdkt(ji,jj,jk) = ( tb(ji,jj,jk-1) - tb(ji,jj,jk) ) * tmask(ji,jj,jk) 585 585 zdks(ji,jj,jk) = ( sb(ji,jj,jk-1) - sb(ji,jj,jk) ) * tmask(ji,jj,jk) … … 590 590 zdkt(:,:,1) = 0._wp !== before vertical T & S gradient at w-level ==! 591 591 zdks(:,:,1) = 0._wp 592 DO jk = 2, jpk f592 DO jk = 2, jpk 593 593 zdkt(:,:,jk) = ( tb(:,:,jk-1) - tb(:,:,jk) ) * tmask(:,:,jk) 594 594 zdks(:,:,jk) = ( sb(:,:,jk-1) - sb(:,:,jk) ) * tmask(:,:,jk) … … 602 602 DO jj = 1, jpjm1 ! NB: not masked due to the minimum value set 603 603 DO ji = 1, jpim1 604 DO jk = 1, jpk fm1 ! done each pair of triad605 #else 606 DO jk = 1, jpk fm1 ! done each pair of triad604 DO jk = 1, jpkm1 ! done each pair of triad 605 #else 606 DO jk = 1, jpkm1 ! done each pair of triad 607 607 DO jj = 1, jpjm1 ! NB: not masked due to the minimum value set 608 608 DO ji = 1, fs_jpim1 ! vector opt. … … 620 620 DO jj = 1, jpj ! NB: not masked due to the minimum value set 621 621 DO ji = 1, jpi 622 DO jk = 1, jpk fm1 ! done each pair of triad623 #else 624 DO jk = 1, jpk fm1 ! done each pair of triad622 DO jk = 1, jpkm1 ! done each pair of triad 623 #else 624 DO jk = 1, jpkm1 ! done each pair of triad 625 625 DO jj = 1, jpj ! NB: not masked due to the minimum value set 626 626 DO ji = 1, jpi ! vector opt. … … 682 682 DO jj = 1, jpjm1 683 683 DO ji = 1, jpim1 684 DO jk = 1, jpk fm1685 #else 686 DO jk = 1, jpk fm1684 DO jk = 1, jpkm1 685 #else 686 DO jk = 1, jpkm1 687 687 DO jj = 1, jpjm1 688 688 DO ji = 1, fs_jpim1 ! vector opt. … … 818 818 DO jj = 1, jpj 819 819 DO ji = 1, jpi 820 DO jk = 1, mbkmax(ji,jj) ! jpk f! =1 inside the mixed layer, =0 otherwise821 #else 822 DO jk = 1, jpk f! =1 inside the mixed layer, =0 otherwise820 DO jk = 1, mbkmax(ji,jj) ! jpk ! =1 inside the mixed layer, =0 otherwise 821 #else 822 DO jk = 1, jpk ! =1 inside the mixed layer, =0 otherwise 823 823 # if defined key_vectopt_loop 824 824 DO jj = 1, 1 … … 987 987 DO jk = 1, mbkmax(ji,jj) 988 988 #else 989 DO jk = 1, jpk f989 DO jk = 1, jpk 990 990 DO jj = 2, jpjm1 991 991 DO ji = fs_2, fs_jpim1 ! vector opt.
Note: See TracChangeset
for help on using the changeset viewer.