New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 6748 for branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra.F90 – NEMO

Ignore:
Timestamp:
2016-06-28T11:53:56+02:00 (8 years ago)
Author:
mocavero
Message:

GYRE hybrid parallelization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra.F90

    r6140 r6748  
    185185      IF( ierr /= 0 )   CALL ctl_stop( 'STOP', 'ldf_tra_init: failed to allocate arrays') 
    186186      ! 
     187!$OMP PARALLEL WORKSHARE 
    187188      ahtu(:,:,jpk) = 0._wp                           ! last level always 0   
    188189      ahtv(:,:,jpk) = 0._wp 
     190!$OMP END PARALLEL WORKSHARE 
    189191      ! 
    190192      !                                               ! value of eddy mixing coef. 
     
    201203         CASE(   0  )      !==  constant  ==! 
    202204            IF(lwp) WRITE(numout,*) '          tracer mixing coef. = constant = ', rn_aht_0 
     205!$OMP PARALLEL WORKSHARE 
    203206            ahtu(:,:,:) = zah0 * umask(:,:,:) 
    204207            ahtv(:,:,:) = zah0 * vmask(:,:,:) 
     208!$OMP END PARALLEL WORKSHARE 
    205209            ! 
    206210         CASE(  10  )      !==  fixed profile  ==! 
    207211            IF(lwp) WRITE(numout,*) '          tracer mixing coef. = F( depth )' 
     212!$OMP PARALLEL WORKSHARE 
    208213            ahtu(:,:,1) = zah0 * umask(:,:,1)                      ! constant surface value 
    209214            ahtv(:,:,1) = zah0 * vmask(:,:,1) 
     215!$OMP END PARALLEL WORKSHARE 
    210216            CALL ldf_c1d( 'TRA', r1_4, ahtu(:,:,1), ahtv(:,:,1), ahtu, ahtv ) 
    211217            ! 
     
    216222            CALL iom_get ( inum, jpdom_data, 'ahtv_2D', ahtv(:,:,1) ) 
    217223            CALL iom_close( inum ) 
     224!$OMP PARALLEL DO schedule(static) private(jk) 
    218225            DO jk = 2, jpkm1 
    219226               ahtu(:,:,jk) = ahtu(:,:,1) * umask(:,:,jk) 
     
    245252            CALL iom_get ( inum, jpdom_data, 'ahtv_3D', ahtv ) 
    246253            CALL iom_close( inum ) 
     254!$OMP PARALLEL DO schedule(static) private(jk) 
    247255            DO jk = 1, jpkm1 
    248256               ahtu(:,:,jk) = ahtu(:,:,jk) * umask(:,:,jk) 
     
    268276         ! 
    269277         IF( ln_traldf_blp .AND. .NOT. l_ldftra_time ) THEN 
     278!$OMP PARALLEL WORKSHARE 
    270279            ahtu(:,:,:) = SQRT( ahtu(:,:,:) ) 
    271280            ahtv(:,:,:) = SQRT( ahtv(:,:,:) ) 
     281!$OMP END PARALLEL WORKSHARE 
    272282         ENDIF 
    273283         ! 
     
    422432         CASE(   0  )      !==  constant  ==! 
    423433            IF(lwp) WRITE(numout,*) '          eddy induced velocity coef. = constant = ', rn_aeiv_0 
     434!$OMP PARALLEL WORKSHARE 
    424435            aeiu(:,:,:) = rn_aeiv_0 
    425436            aeiv(:,:,:) = rn_aeiv_0 
     437!$OMP END PARALLEL WORKSHARE 
    426438            ! 
    427439         CASE(  10  )      !==  fixed profile  ==! 
    428440            IF(lwp) WRITE(numout,*) '          eddy induced velocity coef. = F( depth )' 
     441!$OMP PARALLEL WORKSHARE 
    429442            aeiu(:,:,1) = rn_aeiv_0                                ! constant surface value 
    430443            aeiv(:,:,1) = rn_aeiv_0 
     444!$OMP END PARALLEL WORKSHARE 
    431445            CALL ldf_c1d( 'TRA', r1_4, aeiu(:,:,1), aeiv(:,:,1), aeiu, aeiv ) 
    432446            ! 
     
    437451            CALL iom_get  ( inum, jpdom_data, 'aeiv', aeiv(:,:,1) ) 
    438452            CALL iom_close( inum ) 
     453!$OMP PARALLEL DO schedule(static) private(jk) 
    439454            DO jk = 2, jpk 
    440455               aeiu(:,:,jk) = aeiu(:,:,1) 
Note: See TracChangeset for help on using the changeset viewer.