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/ldfdyn.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/ldfdyn.F90

    r6140 r6748  
    136136      IF( ierr /= 0 )   CALL ctl_stop( 'STOP', 'ldf_dyn_init: failed to allocate arrays') 
    137137      ! 
     138!$OMP PARALLEL WORKSHARE 
    138139      ahmt(:,:,jpk) = 0._wp                           ! last level always 0   
    139140      ahmf(:,:,jpk) = 0._wp 
     141!$OMP END PARALLEL WORKSHARE 
    140142      ! 
    141143      !                                               ! value of eddy mixing coef. 
     
    154156         CASE(   0  )      !==  constant  ==! 
    155157            IF(lwp) WRITE(numout,*) '          momentum mixing coef. = constant ' 
     158!$OMP PARALLEL WORKSHARE 
    156159            ahmt(:,:,:) = zah0 * tmask(:,:,:) 
    157160            ahmf(:,:,:) = zah0 * fmask(:,:,:) 
     161!$OMP END PARALLEL WORKSHARE 
    158162            ! 
    159163         CASE(  10  )      !==  fixed profile  ==! 
    160164            IF(lwp) WRITE(numout,*) '          momentum mixing coef. = F( depth )' 
     165!$OMP PARALLEL WORKSHARE 
    161166            ahmt(:,:,1) = zah0 * tmask(:,:,1)                      ! constant surface value 
    162167            ahmf(:,:,1) = zah0 * fmask(:,:,1) 
     168!$OMP END PARALLEL WORKSHARE 
    163169            CALL ldf_c1d( 'DYN', r1_4, ahmt(:,:,1), ahmf(:,:,1), ahmt, ahmf ) 
    164170            ! 
     
    172178!!              do we introduce a scaling by the max value of the array, and then multiply by zah0 ???? 
    173179!!              better:  check that the max is <=1  i.e. it is a shape from 0 to 1, not a coef that has physical dimension 
     180!$OMP PARALLEL DO schedule(static) private(jk) 
    174181            DO jk = 2, jpkm1 
    175182               ahmt(:,:,jk) = ahmt(:,:,1) * tmask(:,:,jk) 
     
    190197!!gm Question : info for LAP or BLP case  to take into account the SQRT in the bilaplacian case ???? 
    191198!!              do we introduce a scaling by the max value of the array, and then multiply by zah0 ???? 
     199!$OMP PARALLEL DO schedule(static) private(jk) 
    192200            DO jk = 1, jpkm1 
    193201               ahmt(:,:,jk) = ahmt(:,:,jk) * tmask(:,:,jk) 
Note: See TracChangeset for help on using the changeset viewer.