- Timestamp:
- 2014-02-04T13:11:41+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
r3432 r4402 172 172 DO jj = 1, jpjm1 !== i- & j-gradient of density ==! 173 173 DO ji = 1, jpim1 174 DO jk = 1, jpk 175 #else 176 DO jk = 1, jpk 174 DO jk = 1, jpkf 175 #else 176 DO jk = 1, jpkf !== 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, jpk m1204 DO jk = 2, jpkfm1 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 m1212 DO jk = 2, jpkfm1 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, jpk m1234 #else 235 DO jk = 2, jpk m1 !* Slopes at u and v points233 DO jk = 2, jpkfm1 234 #else 235 DO jk = 2, jpkfm1 !* 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, jpk m1278 #else 279 DO jk = 2, jpk m1277 DO jk = 2, jpkfm1 278 #else 279 DO jk = 2, jpkfm1 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, jpk m1299 DO jk = 2, jpkfm1 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, jpk m1321 DO jk = 2, jpkfm1 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, jpk m1343 #else 344 DO jk = 2, jpk m1342 DO jk = 2, jpkfm1 343 #else 344 DO jk = 2, jpkfm1 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, jpk m1387 #else 388 DO jk = 2, jpk m1386 DO jk = 2, jpkfm1 387 #else 388 DO jk = 2, jpkfm1 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, jpk m1409 DO jk = 2, jpkfm1 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, jpk m1432 DO jk = 2, jpkfm1 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) , : ) = 0._wp452 ii0 = 69 ; ii1 = 71 ; uslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpkf ) = 0._wp 453 453 ij0 = 51 ; ij1 = 53 454 ii0 = 68 ; ii1 = 71 ; vslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , : ) = 0._wp455 ii0 = 69 ; ii1 = 71 ; wslpi( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , : ) = 0._wp456 ii0 = 69 ; ii1 = 71 ; wslpj( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , : ) = 0._wp454 ii0 = 68 ; ii1 = 71 ; vslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpkf ) = 0._wp 455 ii0 = 69 ; ii1 = 71 ; wslpi( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpkf ) = 0._wp 456 ii0 = 69 ; ii1 = 71 ; wslpj( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpkf ) = 0._wp 457 457 ! 458 ! ! Mediterran nean Sea458 ! ! Mediterranean Sea 459 459 ij0 = 49 ; ij1 = 56 460 ii0 = 71 ; ii1 = 90 ; uslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , : ) = 0._wp460 ii0 = 71 ; ii1 = 90 ; uslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpkf ) = 0._wp 461 461 ij0 = 50 ; ij1 = 56 462 ii0 = 70 ; ii1 = 90 ; vslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , : ) = 0._wp463 ii0 = 71 ; ii1 = 90 ; wslpi( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , : ) = 0._wp464 ii0 = 71 ; ii1 = 90 ; wslpj( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , : ) = 0._wp462 ii0 = 70 ; ii1 = 90 ; vslp ( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpkf ) = 0._wp 463 ii0 = 71 ; ii1 = 90 ; wslpi( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpkf ) = 0._wp 464 ii0 = 71 ; ii1 = 90 ; wslpj( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , :jpkf ) = 0._wp 465 465 ENDIF 466 466 … … 547 547 DO jj = 1, jpjm1 548 548 DO ji = 1, jpim1 549 DO jk = 1, jpk m1 !== before lateral T & S gradients at T-level jk ==!550 #else 551 DO jk = 1, jpk m1 !== before lateral T & S gradients at T-level jk ==!549 DO jk = 1, jpkfm1 !== before lateral T & S gradients at T-level jk ==! 550 #else 551 DO jk = 1, jpkfm1 !== 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 583 DO jk = 2, jpkf 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 592 DO jk = 2, jpkf 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 m1 ! done each pair of triad605 #else 606 DO jk = 1, jpk m1 ! done each pair of triad604 DO jk = 1, jpkfm1 ! done each pair of triad 605 #else 606 DO jk = 1, jpkfm1 ! 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 m1 ! done each pair of triad623 #else 624 DO jk = 1, jpk m1 ! done each pair of triad622 DO jk = 1, jpkfm1 ! done each pair of triad 623 #else 624 DO jk = 1, jpkfm1 ! 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 m1685 #else 686 DO jk = 1, jpk m1684 DO jk = 1, jpkfm1 685 #else 686 DO jk = 1, jpkfm1 687 687 DO jj = 1, jpjm1 688 688 DO ji = 1, fs_jpim1 ! vector opt. … … 815 815 ! 816 816 ! !== surface mixed layer mask ! 817 DO jk = 1, jpk 817 DO jk = 1, jpkf ! =1 inside the mixed layer, =0 otherwise 818 818 # if ( defined key_vectopt_loop ) && ! ( defined key_z_first ) 819 819 DO jj = 1, 1 … … 869 869 ! !== i- & j-slopes at w-points just below the Mixed Layer ==! 870 870 ! 871 ik = MIN( nmln(ji,jj) + 1, jpk )871 ik = MIN( nmln(ji,jj) + 1, jpkf ) 872 872 ikm1 = MAX( 1, ik-1 ) 873 873 ! !- vertical density gradient for w-slope (from N^2) … … 963 963 DO jj = 2, jpjm1 964 964 DO ji = 2, jpim1 965 DO jk = 1, jpk 966 #else 967 DO jk = 1, jpk 965 DO jk = 1, jpkf 966 #else 967 DO jk = 1, jpkf 968 968 DO jj = 2, jpjm1 969 969 DO ji = fs_2, fs_jpim1 ! vector opt.
Note: See TracChangeset
for help on using the changeset viewer.