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 1920 for branches/DEV_1879_mpp_rep/NEMO/OPA_SRC/DYN – NEMO

Ignore:
Timestamp:
2010-06-07T13:45:58+02:00 (14 years ago)
Author:
rblod
Message:

Add modifications for mpp reproducibility, see ticket #677

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DEV_1879_mpp_rep/NEMO/OPA_SRC/DYN/dynspg_flt.F90

    r1876 r1920  
    4747   USE iom 
    4848   USE restart         ! only for lrst_oce 
     49   USE lib_fortran 
    4950 
    5051   IMPLICIT NONE 
     
    186187 
    187188#if defined key_obc 
    188       IF( lk_obc )   CALL obc_dyn( kt )   ! Update velocities on each open boundary with the radiation algorithm 
    189       IF( lk_obc )   CALL obc_vol( kt )   ! Correction of the barotropic componant velocity to control the volume of the system 
     189      CALL obc_dyn( kt )      ! Update velocities on each open boundary with the radiation algorithm 
     190      CALL obc_vol( kt )      ! Correction of the barotropic componant velocity to control the volume of the system 
    190191#endif 
    191192#if defined key_bdy 
     
    281282      ! ------------------ 
    282283      rnorme =0.e0 
    283       rnorme = SUM( gcb(1:jpi,1:jpj) * gcdmat(1:jpi,1:jpj) * gcb(1:jpi,1:jpj) * bmask(:,:) ) 
    284       IF( lk_mpp )   CALL mpp_sum( rnorme )   ! sum over the global domain 
     284      rnorme = GLOB_SUM( gcb(1:jpi,1:jpj) * gcdmat(1:jpi,1:jpj) * gcb(1:jpi,1:jpj) * bmask(:,:) ) 
    285285 
    286286      epsr = eps * eps * rnorme 
     
    315315#if defined key_obc 
    316316            ! caution : grad D = 0 along open boundaries 
    317             IF( Agrif_Root() ) THEN 
    318                spgu(ji,jj) = z2dt * ztdgu * obcumask(ji,jj) 
    319                spgv(ji,jj) = z2dt * ztdgv * obcvmask(ji,jj) 
    320             ELSE 
    321                spgu(ji,jj) = z2dt * ztdgu 
    322                spgv(ji,jj) = z2dt * ztdgv 
    323             ENDIF 
     317            spgu(ji,jj) = z2dt * ztdgu * obcumask(ji,jj) 
     318            spgv(ji,jj) = z2dt * ztdgv * obcvmask(ji,jj) 
    324319#elif defined key_bdy 
    325320            ! caution : grad D = 0 along open boundaries 
Note: See TracChangeset for help on using the changeset viewer.