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 7525 for branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/OPA_SRC/DIA/diafwb.F90 – NEMO

Ignore:
Timestamp:
2017-01-04T17:47:47+01:00 (7 years ago)
Author:
mocavero
Message:

changes after review

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/OPA_SRC/DIA/diafwb.F90

    r7037 r7525  
    5555      REAL(wp) :: zarea, zvol, zwei 
    5656      REAL(wp) :: ztemi(4), ztemo(4), zsali(4), zsalo(4), zflxi(4), zflxo(4) 
    57       REAL(wp) :: zt, zs, zu   
     57      REAL(wp) :: zt, zs, zu 
    5858      REAL(wp) :: zsm0, zfwfnew 
     59      REAL(wp), DIMENSION(:,:)     ::   ztmp      ! 2D workspace 
    5960      IF( cp_cfg == "orca" .AND. jp_cfg == 1 .OR. jp_cfg == 2 .OR. jp_cfg == 4 ) THEN 
    6061      !!---------------------------------------------------------------------- 
     
    6364      ! Mean global salinity 
    6465      zsm0 = 34.72654 
    65  
    6666      ! To compute fwf mean value mean fwf 
    6767 
     
    7272         a_salb   = 0.e0 ! valeur de sal au debut de la simulation 
    7373         ! sshb used because diafwb called after tranxt (i.e. after the swap) 
    74          a_sshb = SUM( e1e2t(:,:) * sshb(:,:) * tmask_i(:,:) ) 
     74!$OMP PARALLEL DO schedule(static) private(jj,ji) REDUCTION(+:a_sshb) 
     75         DO jj = 1, jpj 
     76            DO ji = 1, jpi 
     77               ztmp(ji,jj) = e1e2t(ji,jj) * sshb(ji,jj) * tmask_i(ji,jj) 
     78               a_sshb = a_sshb + ztmp(ji,jj) 
     79            END DO 
     80         END DO 
    7581         IF( lk_mpp )   CALL mpp_sum( a_sshb )      ! sum over the global domain 
    7682 
     
    8692         IF( lk_mpp )   CALL mpp_sum( a_salb )      ! sum over the global domain 
    8793      ENDIF 
    88        
    89       a_fwf    = SUM( e1e2t(:,:) * ( emp(:,:)-rnf(:,:) ) * tmask_i(:,:) )  
     94         
     95!$OMP PARALLEL DO schedule(static) private(jj,ji) REDUCTION(+:a_fwf) 
     96      DO jj = 1, jpj 
     97         DO ji = 1, jpi 
     98            ztmp(ji,jj) = e1e2t(ji,jj) * ( emp(ji,jj)-rnf(ji,jj) ) * tmask_i(ji,jj) 
     99            a_fwf = a_fwf + ztmp(ji,jj) 
     100         END DO 
     101      END DO 
     102 
    90103      IF( lk_mpp )   CALL mpp_sum( a_fwf    )       ! sum over the global domain 
    91104 
     
    97110         zfwfnew = 0.e0 
    98111         ! Mean sea level at nitend 
    99          a_sshn = SUM( e1e2t(:,:) * sshn(:,:) * tmask_i(:,:) ) 
     112!$OMP PARALLEL DO schedule(static) private(jj,ji) REDUCTION(+:a_sshn) 
     113         DO jj = 1, jpj 
     114            DO ji = 1, jpi 
     115               ztmp(ji,jj) = e1e2t(ji,jj) * sshn(ji,jj) * tmask_i(ji,jj) 
     116               a_sshn = a_sshn + ztmp(ji,jj) 
     117            END DO 
     118         END DO 
    100119         IF( lk_mpp )   CALL mpp_sum( a_sshn )      ! sum over the global domain 
    101          zarea  = SUM( e1e2t(:,:) *             tmask_i(:,:) ) 
     120!$OMP PARALLEL DO schedule(static) private(jj,ji) REDUCTION(+:zarea) 
     121         DO jj = 1, jpj 
     122            DO ji = 1, jpi 
     123               ztmp(ji,jj) = e1e2t(ji,jj) *            tmask_i(ji,jj) 
     124               zarea = zarea + ztmp(ji,jj) 
     125            END DO 
     126         END DO 
    102127         IF( lk_mpp )   CALL mpp_sum( zarea  )      ! sum over the global domain 
    103128          
Note: See TracChangeset for help on using the changeset viewer.