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 7753 for trunk/NEMOGCM/NEMO/OPA_SRC/USR – NEMO

Ignore:
Timestamp:
2017-03-03T12:46:59+01:00 (7 years ago)
Author:
mocavero
Message:

Reverting trunk to remove OpenMP

Location:
trunk/NEMOGCM/NEMO/OPA_SRC/USR
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_hgr.F90

    r7715 r7753  
    77   !! User defined :   mesh and Coriolis parameter of a user configuration 
    88   !!====================================================================== 
    9    !! History  :  4.0 ! 2016-03  (S. Flavoni)  
     9   !! History :  4.0 ! 2016-03  (S. Flavoni)  
    1010   !!---------------------------------------------------------------------- 
    1111 
     
    103103      ENDIF 
    104104      !    
    105 !$OMP PARALLEL 
    106 !$OMP DO schedule(static) private(jj, ji, zim1, zjm1) 
    107105      DO jj = 1, jpj  
    108106         DO ji = 1, jpi  
     
    131129         END DO 
    132130      END DO 
    133 !$OMP END DO NOWAIT 
    134131      ! 
    135132      !                       !== Horizontal scale factors ==! (in meters) 
    136133      !                      
    137134      !                                         ! constant grid spacing 
    138 !$OMP DO schedule(static) private(jj, ji) 
    139       DO jj = 1, jpj 
    140          DO ji = 1, jpi 
    141             pe1t(ji,jj) =  ze1     ;      pe2t(ji,jj) = ze1 
    142             pe1u(ji,jj) =  ze1     ;      pe2u(ji,jj) = ze1 
    143             pe1v(ji,jj) =  ze1     ;      pe2v(ji,jj) = ze1 
    144             pe1f(ji,jj) =  ze1     ;      pe2f(ji,jj) = ze1 
    145             ! 
    146             !                                         ! NO reduction of grid size in some straits  
    147             pe1e2u(ji,jj) = 0._wp                       !    CAUTION: set to zero to avoid error with some compilers that 
    148             pe1e2v(ji,jj) = 0._wp                       !             require an initialization of INTENT(out) arguments 
    149          END DO 
    150       END DO 
    151 !$OMP END PARALLEL 
     135      pe1t(:,:) =  ze1     ;      pe2t(:,:) = ze1 
     136      pe1u(:,:) =  ze1     ;      pe2u(:,:) = ze1 
     137      pe1v(:,:) =  ze1     ;      pe2v(:,:) = ze1 
     138      pe1f(:,:) =  ze1     ;      pe2f(:,:) = ze1 
     139      ! 
     140      !                                         ! NO reduction of grid size in some straits  
    152141      ke1e2u_v = 0                              !    ==>> u_ & v_surfaces will be computed in dom_ghr routine 
     142      pe1e2u(:,:) = 0._wp                       !    CAUTION: set to zero to avoid error with some compilers that 
     143      pe1e2v(:,:) = 0._wp                       !             require an initialization of INTENT(out) arguments 
    153144      ! 
    154145      ! 
     
    162153      zf0   = 2. * omega * SIN( rad * zphi0 )            !  compute f0 1st point south 
    163154      ! 
    164 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    165       DO jj = 1, jpj 
    166          DO ji = 1, jpi 
    167             pff_f(ji,jj) = ( zf0 + zbeta * ABS( pphif(ji,jj) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 
    168             pff_t(ji,jj) = ( zf0 + zbeta * ABS( pphit(ji,jj) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 
    169          END DO 
    170       END DO 
     155      pff_f(:,:) = ( zf0 + zbeta * ABS( pphif(:,:) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 
     156      pff_t(:,:) = ( zf0 + zbeta * ABS( pphit(:,:) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 
    171157      ! 
    172158      IF(lwp) WRITE(numout,*) '                           beta-plane used. beta = ', zbeta, ' 1/(s.m)' 
  • trunk/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_istate.F90

    r7715 r7753  
    77   !! User defined : set the initial state of a user configuration 
    88   !!====================================================================== 
    9    !! History :  4.0  ! 2016-03  (S. Flavoni) Original code 
     9   !! History :  4.0 ! 2016-03  (S. Flavoni) Original code 
    1010   !!---------------------------------------------------------------------- 
    1111 
     
    5555      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~   Ocean at rest, with an horizontally uniform T and S profiles' 
    5656      ! 
    57 !$OMP PARALLEL 
    58 !$OMP DO schedule(static) private(jk,jj,ji) 
    59       DO jk = 1, jpk 
    60          DO jj = 1, jpj 
    61             DO ji = 1, jpi 
    62                pu  (ji,jj,jk) = 0._wp        ! ocean at rest 
    63                pv  (ji,jj,jk) = 0._wp 
    64             END DO 
    65          END DO 
    66       END DO 
    67 !$OMP END DO NOWAIT 
    68 !$OMP DO schedule(static) private(jj,ji) 
    69       DO jj = 1, jpj 
    70          DO ji = 1, jpi 
    71             pssh(ji,jj)   = 0._wp 
    72          END DO 
    73       END DO 
    74 !$OMP END DO NOWAIT 
     57      pu  (:,:,:) = 0._wp        ! ocean at rest 
     58      pv  (:,:,:) = 0._wp 
     59      pssh(:,:)   = 0._wp 
    7560      ! 
    76 !$OMP DO schedule(static) private(jk,jj,ji) 
    7761      DO jk = 1, jpk             ! horizontally uniform T & S profiles 
    7862         DO jj = 1, jpj 
     
    9579         END DO 
    9680      END DO 
    97 !$OMP END PARALLEL 
    9881      !    
    9982   END SUBROUTINE usr_def_istate 
  • trunk/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_sbc.F90

    r7698 r7753  
    109109      ztrp= - 40.e0        ! retroaction term on heat fluxes (W/m2/K) 
    110110      zconv = 3.16e-5      ! convertion factor: 1 m/yr => 3.16e-5 mm/s 
    111 !$OMP PARALLEL DO schedule(static) private(jj, ji, t_star) 
    112111      DO jj = 1, jpj 
    113112         DO ji = 1, jpi 
     
    138137 
    139138      ! freshwater (mass flux) and update of qns with heat content of emp 
    140 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    141       DO jj = 1, jpj 
    142          DO ji = 1, jpi 
    143             emp (ji,jj) = emp(ji,jj) - zsumemp * tmask(ji,jj,1)          ! freshwater flux (=0 in domain average) 
    144             sfx (ji,jj) = 0.0_wp                                         ! no salt flux 
    145             qns (ji,jj) = qns(ji,jj) - emp(ji,jj) * sst_m(ji,jj) * rcp   ! evap and precip are at SST 
    146          END DO 
    147       END DO 
     139      emp (:,:) = emp(:,:) - zsumemp * tmask(:,:,1)        ! freshwater flux (=0 in domain average) 
     140      sfx (:,:) = 0.0_wp                                   ! no salt flux 
     141      qns (:,:) = qns(:,:) - emp(:,:) * sst_m(:,:) * rcp   ! evap and precip are at SST 
    148142 
    149143 
     
    172166      ztau_sais = 0.015 
    173167      ztaun = ztau - ztau_sais * COS( (ztime - ztimemax) / (ztimemin - ztimemax) * rpi ) 
    174 !$OMP PARALLEL 
    175 !$OMP DO schedule(static) private(jj, ji) 
    176168      DO jj = 1, jpj 
    177169         DO ji = 1, jpi 
     
    185177      ! module of wind stress and wind speed at T-point 
    186178      zcoef = 1. / ( zrhoa * zcdrag )  
    187 !$OMP DO schedule(static) private(jj, ji, ztx, zty, zmod) 
    188179      DO jj = 2, jpjm1 
    189180         DO ji = fs_2, fs_jpim1   ! vect. opt. 
     
    195186         END DO 
    196187      END DO 
    197 !$OMP END PARALLEL 
    198188      CALL lbc_lnk( taum(:,:), 'T', 1. )   ;   CALL lbc_lnk( wndm(:,:), 'T', 1. ) 
    199189 
  • trunk/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_zgr.F90

    r7698 r7753  
    199199      ! 
    200200      REAL(wp), DIMENSION(jpi,jpj) ::   z2d   ! 2D local workspace 
    201  
    202       INTEGER  ::   ji, jj 
    203201      !!---------------------------------------------------------------------- 
    204202      ! 
     
    208206      IF(lwp) WRITE(numout,*) '       GYRE case : closed flat box ocean without ocean cavities' 
    209207      ! 
    210 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    211       DO jj = 1, jpj 
    212          DO ji = 1, jpi 
    213             z2d(ji,jj) = REAL( jpkm1 , wp )          ! flat bottom 
    214          END DO 
    215       END DO 
     208      z2d(:,:) = REAL( jpkm1 , wp )          ! flat bottom 
    216209      ! 
    217210      CALL lbc_lnk( z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
    218211      ! 
    219 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    220       DO jj = 1, jpj 
    221          DO ji = 1, jpi 
    222             k_bot(ji,jj) = INT( z2d(ji,jj) )           ! =jpkm1 over the ocean point, =0 elsewhere 
    223             ! 
    224             k_top(ji,jj) = MIN( 1 , k_bot(ji,jj) )     ! = 1    over the ocean point, =0 elsewhere 
    225          END DO 
    226       END DO 
     212      k_bot(:,:) = INT( z2d(:,:) )           ! =jpkm1 over the ocean point, =0 elsewhere 
     213      ! 
     214      k_top(:,:) = MIN( 1 , k_bot(:,:) )     ! = 1    over the ocean point, =0 elsewhere 
    227215      ! 
    228216   END SUBROUTINE zgr_msk_top_bot 
     
    246234      REAL(wp), DIMENSION(:,:,:), INTENT(  out) ::   pe3w , pe3uw, pe3vw         !    -       -      - 
    247235      ! 
    248       INTEGER  ::   ji, jj, jk 
     236      INTEGER  ::   jk 
    249237      !!---------------------------------------------------------------------- 
    250238      ! 
    251239      IF( nn_timing == 1 )  CALL timing_start('zgr_zco') 
    252240      ! 
    253 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
    254241      DO jk = 1, jpk 
    255          DO jj = 1, jpj 
    256             DO ji = 1, jpi 
    257                pdept(ji,jj,jk) = pdept_1d(jk) 
    258                pdepw(ji,jj,jk) = pdepw_1d(jk) 
    259                pe3t (ji,jj,jk) = pe3t_1d (jk) 
    260                pe3u (ji,jj,jk) = pe3t_1d (jk) 
    261                pe3v (ji,jj,jk) = pe3t_1d (jk) 
    262                pe3f (ji,jj,jk) = pe3t_1d (jk) 
    263                pe3w (ji,jj,jk) = pe3w_1d (jk) 
    264                pe3uw(ji,jj,jk) = pe3w_1d (jk) 
    265                pe3vw(ji,jj,jk) = pe3w_1d (jk) 
    266             END DO 
    267          END DO 
     242         pdept(:,:,jk) = pdept_1d(jk) 
     243         pdepw(:,:,jk) = pdepw_1d(jk) 
     244         pe3t (:,:,jk) = pe3t_1d (jk) 
     245         pe3u (:,:,jk) = pe3t_1d (jk) 
     246         pe3v (:,:,jk) = pe3t_1d (jk) 
     247         pe3f (:,:,jk) = pe3t_1d (jk) 
     248         pe3w (:,:,jk) = pe3w_1d (jk) 
     249         pe3uw(:,:,jk) = pe3w_1d (jk) 
     250         pe3vw(:,:,jk) = pe3w_1d (jk) 
    268251      END DO 
    269252      ! 
Note: See TracChangeset for help on using the changeset viewer.