Changeset 1326 for trunk/NEMO/OFF_SRC/LDF
- Timestamp:
- 2009-02-20T11:08:16+01:00 (15 years ago)
- Location:
- trunk/NEMO/OFF_SRC/LDF
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OFF_SRC/LDF/ldfeiv.F90
r1265 r1326 37 37 38 38 CONTAINS 39 40 # if defined key_mpp_omp41 !!----------------------------------------------------------------------42 !! 'key_mpp_omp' : OpenMP / NEC autotasking (j-slab)43 !!----------------------------------------------------------------------44 45 SUBROUTINE ldf_eiv( kt )46 !!----------------------------------------------------------------------47 !! *** ROUTINE ldf_eiv ***48 !!49 !! ** Purpose : Compute the eddy induced velocity coefficient from the50 !! growth rate of baroclinic instability.51 !!52 !! ** Method : Specific to the offline model. Computes the horizontal53 !! values from the vertical value54 !!55 !! History :56 !! 9.0 ! 06-03 (O. Aumont) Free form, F9057 !!----------------------------------------------------------------------58 !! * Arguments59 INTEGER, INTENT( in ) :: kt ! ocean time-step inedx60 61 !! * Local declarations62 INTEGER :: ji, jj, jk ! dummy loop indices63 !!----------------------------------------------------------------------64 65 IF( kt == nit000 ) THEN66 IF(lwp) WRITE(numout,*)67 IF(lwp) WRITE(numout,*) 'ldf_eiv : eddy induced velocity coefficients'68 IF(lwp) WRITE(numout,*) '~~~~~~~ NEC autotasking / OpenMP : j-slab'69 ENDIF70 71 ! Average the diffusive coefficient at u- v- points72 DO jj = 2, jpjm173 DO ji = fs_2, fs_jpim1 ! vector opt.74 aeiu(ji,jj) = .5 * (aeiw(ji,jj) + aeiw(ji+1,jj ))75 aeiv(ji,jj) = .5 * (aeiw(ji,jj) + aeiw(ji ,jj+1))76 END DO77 END DO78 !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,synchro,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,79 80 ! lateral boundary condition on aeiu, aeiv81 CALL lbc_lnk( aeiu, 'U', 1. )82 CALL lbc_lnk( aeiv, 'V', 1. )83 84 END SUBROUTINE ldf_eiv85 86 # else87 !!----------------------------------------------------------------------88 !! Default key k-j-i loops89 !!----------------------------------------------------------------------90 39 91 40 SUBROUTINE ldf_eiv( kt ) … … 129 78 END SUBROUTINE ldf_eiv 130 79 131 # endif132 80 133 81 #else -
trunk/NEMO/OFF_SRC/LDF/ldfslp.F90
r1156 r1326 140 140 141 141 IF( ln_zps ) THEN ! partial steps correction at the bottom ocean level (zps_hde routine) 142 # if defined key_vectopt_loop && ! defined key_mpp_omp142 # if defined key_vectopt_loop 143 143 jj = 1 144 144 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 152 152 zgru(ji,jj,iku) = gru(ji,jj) 153 153 zgrv(ji,jj,ikv) = grv(ji,jj) 154 # if ! defined key_vectopt_loop || defined key_mpp_omp154 # if ! defined key_vectopt_loop 155 155 END DO 156 156 # endif … … 491 491 ! mask for mixed layer 492 492 DO jk = 1, jpk 493 # if defined key_vectopt_loop && ! defined key_mpp_omp493 # if defined key_vectopt_loop 494 494 jj = 1 495 495 DO ji = 1, jpij ! vector opt. (forced unrolling) … … 505 505 omlmask(ji,jj,jk) = 0.e0 506 506 ENDIF 507 # if ! defined key_vectopt_loop || defined key_mpp_omp507 # if ! defined key_vectopt_loop 508 508 END DO 509 509 # endif … … 523 523 zwy(:,jpj) = 0.e0 524 524 zwy(jpi,:) = 0.e0 525 # if defined key_vectopt_loop && ! defined key_mpp_omp525 # if defined key_vectopt_loop 526 526 jj = 1 527 527 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 536 536 & * ( pn2(ji,jj,ik) + pn2(ji,jj,ik+1) ) & 537 537 & / MAX( tmask(ji,jj,ik) + tmask (ji,jj,ik+1), 1. ) 538 # if ! defined key_vectopt_loop || defined key_mpp_omp538 # if ! defined key_vectopt_loop 539 539 END DO 540 540 # endif … … 544 544 545 545 ! Slope at u points 546 # if defined key_vectopt_loop && ! defined key_mpp_omp546 # if defined key_vectopt_loop 547 547 jj = 1 548 548 DO ji = jpi+2, jpij-jpi-1 ! vector opt. (forced unrolling) … … 561 561 ! uslpml 562 562 uslpml (ji,jj) = zau / ( zbu - zeps ) * umask (ji,jj,ik) 563 # if ! defined key_vectopt_loop || defined key_mpp_omp563 # if ! defined key_vectopt_loop 564 564 END DO 565 565 # endif … … 573 573 zwy ( :, jpj) = 0.e0 574 574 zwy ( jpi, :) = 0.e0 575 # if defined key_vectopt_loop && ! defined key_mpp_omp575 # if defined key_vectopt_loop 576 576 jj = 1 577 577 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 585 585 & * ( pn2(ji,jj,ik) + pn2(ji,jj,ik+1) ) & 586 586 & / MAX( tmask(ji,jj,ik) + tmask (ji,jj,ik+1), 1. ) 587 # if ! defined key_vectopt_loop || defined key_mpp_omp587 # if ! defined key_vectopt_loop 588 588 END DO 589 589 # endif … … 594 594 595 595 ! Slope at v points 596 # if defined key_vectopt_loop && ! defined key_mpp_omp596 # if defined key_vectopt_loop 597 597 jj = 1 598 598 DO ji = jpi+2, jpij-jpi-1 ! vector opt. (forced unrolling) … … 611 611 ! vslpml 612 612 vslpml (ji,jj) = zav / ( zbv - zeps ) * vmask (ji,jj,ik) 613 # if ! defined key_vectopt_loop || defined key_mpp_omp613 # if ! defined key_vectopt_loop 614 614 END DO 615 615 # endif … … 625 625 ! Local vertical density gradient evaluated from N^2 626 626 ! zwy = d/dz(prd)= - mk ( prd ) / grav * pn2 -- at w point 627 # if defined key_vectopt_loop && ! defined key_mpp_omp627 # if defined key_vectopt_loop 628 628 jj = 1 629 629 DO ji = 1, jpij ! vector opt. (forced unrolling) … … 637 637 zwy (ji,jj) = zm05g * pn2 (ji,jj,ik) * & 638 638 & ( prd (ji,jj,ik) + prd (ji,jj,ikm1) + 2. ) 639 # if ! defined key_vectopt_loop || defined key_mpp_omp639 # if ! defined key_vectopt_loop 640 640 END DO 641 641 # endif … … 643 643 644 644 ! Slope at w point 645 # if defined key_vectopt_loop && ! defined key_mpp_omp645 # if defined key_vectopt_loop 646 646 jj = 1 647 647 DO ji = jpi+2, jpij-jpi-1 ! vector opt. (forced unrolling) … … 673 673 wslpiml (ji,jj) = zai / ( zbi - zeps) * tmask (ji,jj,ik) 674 674 wslpjml (ji,jj) = zaj / ( zbj - zeps) * tmask (ji,jj,ik) 675 # if ! defined key_vectopt_loop || defined key_mpp_omp675 # if ! defined key_vectopt_loop 676 676 END DO 677 677 # endif
Note: See TracChangeset
for help on using the changeset viewer.