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 10425 for NEMO/trunk/src/OCE/DOM – NEMO

Ignore:
Timestamp:
2018-12-19T22:54:16+01:00 (5 years ago)
Author:
smasson
Message:

trunk: merge back dev_r10164_HPC09_ESIWACE_PREP_MERGE@10424 into the trunk

Location:
NEMO/trunk/src/OCE/DOM
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/DOM/closea.F90

    r10069 r10425  
    118118            ! number of closed seas = global maximum value in closea_mask field 
    119119            jncs = maxval(closea_mask(:,:)) 
    120             IF( lk_mpp ) CALL mpp_max(jncs) 
     120            CALL mpp_max('closea', jncs) 
    121121            IF( jncs > 0 ) THEN 
    122122               IF( lwp ) WRITE(numout,*) 'Number of closed seas : ',jncs 
     
    146146               ! number of closed seas rnf mappings = global maximum in closea_mask_rnf field 
    147147               jncsr = maxval(closea_mask_rnf(:,:)) 
    148                IF( lk_mpp ) CALL mpp_max(jncsr) 
     148               CALL mpp_max('closea', jncsr) 
    149149               IF( jncsr > 0 ) THEN 
    150150                  IF( lwp ) WRITE(numout,*) 'Number of closed seas rnf mappings : ',jncsr 
     
    166166               ! number of closed seas empmr mappings = global maximum value in closea_mask_empmr field 
    167167               jncse = maxval(closea_mask_empmr(:,:)) 
    168                IF( lk_mpp ) CALL mpp_max(jncse) 
     168               CALL mpp_max('closea', jncse) 
    169169               IF( jncse > 0 ) THEN  
    170170                  IF( lwp ) WRITE(numout,*) 'Number of closed seas empmr mappings : ',jncse 
     
    237237         surfe(:) = 0.e0_wp 
    238238         ! 
    239          surf(jncs+1) = glob_sum( e1e2t(:,:) )   ! surface of the global ocean 
     239         surf(jncs+1) = glob_sum( 'closea', e1e2t(:,:) )   ! surface of the global ocean 
    240240         ! 
    241241         !                                        ! surface areas of closed seas  
     
    243243            ztmp2d(:,:) = 0.e0_wp 
    244244            WHERE( closea_mask(:,:) == jc ) ztmp2d(:,:) = e1e2t(:,:) * tmask_i(:,:) 
    245             surf(jc) = glob_sum( ztmp2d(:,:) ) 
     245            surf(jc) = glob_sum( 'closea', ztmp2d(:,:) ) 
    246246         END DO 
    247247         ! 
     
    254254               ztmp2d(:,:) = 0.e0_wp 
    255255               WHERE( closea_mask_rnf(:,:) == jcr .and. closea_mask(:,:) == 0 ) ztmp2d(:,:) = e1e2t(:,:) * tmask_i(:,:) 
    256                surfr(jcr) = glob_sum( ztmp2d(:,:) ) 
     256               surfr(jcr) = glob_sum( 'closea', ztmp2d(:,:) ) 
    257257            END DO 
    258258         ENDIF 
     
    263263               ztmp2d(:,:) = 0.e0_wp 
    264264               WHERE( closea_mask_empmr(:,:) == jce .and. closea_mask(:,:) == 0 ) ztmp2d(:,:) = e1e2t(:,:) * tmask_i(:,:) 
    265                surfe(jce) = glob_sum( ztmp2d(:,:) ) 
     265               surfe(jce) = glob_sum( 'closea', ztmp2d(:,:) ) 
    266266            END DO 
    267267         ENDIF 
     
    301301         ztmp2d(:,:) = 0.e0_wp 
    302302         WHERE( closea_mask(:,:) == jc ) ztmp2d(:,:) = e1e2t(:,:) * ( emp(:,:)-rnf(:,:) ) * tmask_i(:,:) 
    303          zfwf(jc) = glob_sum( ztmp2d(:,:) ) 
     303         zfwf(jc) = glob_sum( 'closea', ztmp2d(:,:) ) 
    304304      END DO 
    305305      zfwf_total = SUM(zfwf) 
     
    316316            ztmp2d(:,:) = 0.e0_wp 
    317317            WHERE( closea_mask_rnf(:,:) == jcr .and. closea_mask(:,:) > 0 ) ztmp2d(:,:) = e1e2t(:,:) * ( emp(:,:)-rnf(:,:) ) * tmask_i(:,:) 
    318             zfwfr(jcr) = glob_sum( ztmp2d(:,:) ) 
     318            zfwfr(jcr) = glob_sum( 'closea', ztmp2d(:,:) ) 
    319319            ! 
    320320            ! The following if avoids the redistribution of the round off 
     
    345345            ztmp2d(:,:) = 0.e0_wp 
    346346            WHERE( closea_mask_empmr(:,:) == jce .and. closea_mask(:,:) > 0 ) ztmp2d(:,:) = e1e2t(:,:) * ( emp(:,:)-rnf(:,:) ) * tmask_i(:,:) 
    347             zfwfe(jce) = glob_sum( ztmp2d(:,:) ) 
     347            zfwfe(jce) = glob_sum( 'closea', ztmp2d(:,:) ) 
    348348            ! 
    349349            ! The following if avoids the redistribution of the round off 
     
    396396      emp (:,:) = emp (:,:) * tmask(:,:,1) 
    397397      ! 
    398       CALL lbc_lnk( emp , 'T', 1._wp ) 
     398      CALL lbc_lnk( 'closea', emp , 'T', 1._wp ) 
    399399      ! 
    400400   END SUBROUTINE sbc_clo 
  • NEMO/trunk/src/OCE/DOM/domain.F90

    r10068 r10425  
    469469      !! ** Method  :   compute and print extrema of masked scale factors 
    470470      !!---------------------------------------------------------------------- 
    471       INTEGER ::   iimi1, ijmi1, iimi2, ijmi2, iima1, ijma1, iima2, ijma2 
     471      INTEGER, DIMENSION(2) ::   imi1, imi2, ima1, ima2 
    472472      INTEGER, DIMENSION(2) ::   iloc   !  
    473473      REAL(wp) ::   ze1min, ze1max, ze2min, ze2max 
     
    475475      ! 
    476476      IF(lk_mpp) THEN 
    477          CALL mpp_minloc( e1t(:,:), tmask_i(:,:), ze1min, iimi1,ijmi1 ) 
    478          CALL mpp_minloc( e2t(:,:), tmask_i(:,:), ze2min, iimi2,ijmi2 ) 
    479          CALL mpp_maxloc( e1t(:,:), tmask_i(:,:), ze1max, iima1,ijma1 ) 
    480          CALL mpp_maxloc( e2t(:,:), tmask_i(:,:), ze2max, iima2,ijma2 ) 
     477         CALL mpp_minloc( 'domain', e1t(:,:), tmask_i(:,:), ze1min, imi1 ) 
     478         CALL mpp_minloc( 'domain', e2t(:,:), tmask_i(:,:), ze2min, imi2 ) 
     479         CALL mpp_maxloc( 'domain', e1t(:,:), tmask_i(:,:), ze1max, ima1 ) 
     480         CALL mpp_maxloc( 'domain', e2t(:,:), tmask_i(:,:), ze2max, ima2 ) 
    481481      ELSE 
    482482         ze1min = MINVAL( e1t(:,:), mask = tmask_i(:,:) == 1._wp )     
     
    486486         ! 
    487487         iloc  = MINLOC( e1t(:,:), mask = tmask_i(:,:) == 1._wp ) 
    488          iimi1 = iloc(1) + nimpp - 1 
    489          ijmi1 = iloc(2) + njmpp - 1 
     488         imi1(1) = iloc(1) + nimpp - 1 
     489         imi1(2) = iloc(2) + njmpp - 1 
    490490         iloc  = MINLOC( e2t(:,:), mask = tmask_i(:,:) == 1._wp ) 
    491          iimi2 = iloc(1) + nimpp - 1 
    492          ijmi2 = iloc(2) + njmpp - 1 
     491         imi2(1) = iloc(1) + nimpp - 1 
     492         imi2(2) = iloc(2) + njmpp - 1 
    493493         iloc  = MAXLOC( e1t(:,:), mask = tmask_i(:,:) == 1._wp ) 
    494          iima1 = iloc(1) + nimpp - 1 
    495          ijma1 = iloc(2) + njmpp - 1 
     494         ima1(1) = iloc(1) + nimpp - 1 
     495         ima1(2) = iloc(2) + njmpp - 1 
    496496         iloc  = MAXLOC( e2t(:,:), mask = tmask_i(:,:) == 1._wp ) 
    497          iima2 = iloc(1) + nimpp - 1 
    498          ijma2 = iloc(2) + njmpp - 1 
     497         ima2(1) = iloc(1) + nimpp - 1 
     498         ima2(2) = iloc(2) + njmpp - 1 
    499499      ENDIF 
    500500      IF(lwp) THEN 
     
    502502         WRITE(numout,*) 'dom_ctl : extrema of the masked scale factors' 
    503503         WRITE(numout,*) '~~~~~~~' 
    504          WRITE(numout,"(14x,'e1t maxi: ',1f10.2,' at i = ',i5,' j= ',i5)") ze1max, iima1, ijma1 
    505          WRITE(numout,"(14x,'e1t mini: ',1f10.2,' at i = ',i5,' j= ',i5)") ze1min, iimi1, ijmi1 
    506          WRITE(numout,"(14x,'e2t maxi: ',1f10.2,' at i = ',i5,' j= ',i5)") ze2max, iima2, ijma2 
    507          WRITE(numout,"(14x,'e2t mini: ',1f10.2,' at i = ',i5,' j= ',i5)") ze2min, iimi2, ijmi2 
     504         WRITE(numout,"(14x,'e1t maxi: ',1f10.2,' at i = ',i5,' j= ',i5)") ze1max, ima1(1), ima1(2) 
     505         WRITE(numout,"(14x,'e1t mini: ',1f10.2,' at i = ',i5,' j= ',i5)") ze1min, imi1(1), imi1(2) 
     506         WRITE(numout,"(14x,'e2t maxi: ',1f10.2,' at i = ',i5,' j= ',i5)") ze2max, ima2(1), ima2(2) 
     507         WRITE(numout,"(14x,'e2t mini: ',1f10.2,' at i = ',i5,' j= ',i5)") ze2min, imi2(1), imi2(2) 
    508508      ENDIF 
    509509      ! 
     
    553553                                          !- or they may be present as global attributes  
    554554                                          !- (netcdf only)   
    555          IF( iom_file(inum)%iolib == jpnf90 ) THEN 
    556             CALL iom_getatt( inum, 'cn_cfg', cd_cfg )  ! returns   !  if not found 
    557             CALL iom_getatt( inum, 'nn_cfg', kk_cfg )  ! returns -999 if not found 
    558             IF( TRIM(cd_cfg) == '!') cd_cfg = 'UNKNOWN' 
    559             IF( kk_cfg == -999     ) kk_cfg = -9999999 
    560          ENDIF 
     555         CALL iom_getatt( inum, 'cn_cfg', cd_cfg )  ! returns   !  if not found 
     556         CALL iom_getatt( inum, 'nn_cfg', kk_cfg )  ! returns -999 if not found 
     557         IF( TRIM(cd_cfg) == '!') cd_cfg = 'UNKNOWN' 
     558         IF( kk_cfg == -999     ) kk_cfg = -9999999 
    561559         ! 
    562560      ENDIF 
     
    608606      !          
    609607      clnam = cn_domcfg_out  ! filename (configuration information) 
    610       CALL iom_open( TRIM(clnam), inum, ldwrt = .TRUE., kiolib = jprstlib ) 
     608      CALL iom_open( TRIM(clnam), inum, ldwrt = .TRUE. ) 
    611609       
    612610      ! 
     
    693691      ! 
    694692      ! Add some global attributes ( netcdf only ) 
    695       IF( iom_file(inum)%iolib == jpnf90 ) THEN 
    696          CALL iom_putatt( inum, 'nn_cfg', nn_cfg ) 
    697          CALL iom_putatt( inum, 'cn_cfg', TRIM(cn_cfg) ) 
    698       ENDIF 
     693      CALL iom_putatt( inum, 'nn_cfg', nn_cfg ) 
     694      CALL iom_putatt( inum, 'cn_cfg', TRIM(cn_cfg) ) 
    699695      ! 
    700696      !                                ! ============================ 
  • NEMO/trunk/src/OCE/DOM/dommsk.F90

    r10068 r10425  
    145145!SF  add here lbc_lnk: bug not still understood : cause now domain configuration is read ! 
    146146!!gm I don't understand why...   
    147       CALL lbc_lnk( tmask  , 'T', 1._wp )      ! Lateral boundary conditions 
     147      CALL lbc_lnk( 'dommsk', tmask  , 'T', 1._wp )      ! Lateral boundary conditions 
    148148 
    149149     ! Mask corrections for bdy (read in mppini2) 
     
    183183         END DO 
    184184      END DO 
    185       CALL lbc_lnk_multi( umask, 'U', 1., vmask, 'V', 1., fmask, 'F', 1. )      ! Lateral boundary conditions 
     185      CALL lbc_lnk_multi( 'dommsk', umask, 'U', 1., vmask, 'V', 1., fmask, 'F', 1. )      ! Lateral boundary conditions 
    186186  
    187187      ! Ocean/land mask at wu-, wv- and w points    (computed from tmask) 
     
    283283         DEALLOCATE( zwf ) 
    284284         ! 
    285          CALL lbc_lnk( fmask, 'F', 1._wp )      ! Lateral boundary conditions on fmask 
     285         CALL lbc_lnk( 'dommsk', fmask, 'F', 1._wp )      ! Lateral boundary conditions on fmask 
    286286         ! 
    287287         ! CAUTION : The fmask may be further modified in dyn_vor_init ( dynvor.F90 ) depending on ln_vorlat 
  • NEMO/trunk/src/OCE/DOM/domngb.F90

    r10068 r10425  
    6767       
    6868      IF( lk_mpp ) THEN   
    69          CALL mpp_minloc( zdist(:,:), zmask, zmini, kii, kjj) 
     69         CALL mpp_minloc( 'domngb', zdist(:,:), zmask, zmini, iloc) 
     70         kii = iloc(1) ; kjj = iloc(2) 
    7071      ELSE 
    7172         iloc(:) = MINLOC( zdist(:,:), mask = zmask(:,:) == 1.e0 ) 
  • NEMO/trunk/src/OCE/DOM/domvvl.F90

    r10213 r10425  
    7979            &      dtilde_e3t_a(jpi,jpj,jpk) , un_td  (jpi,jpj,jpk)     , vn_td  (jpi,jpj,jpk)     ,   & 
    8080            &      STAT = dom_vvl_alloc        ) 
    81          IF( lk_mpp             )   CALL mpp_sum ( dom_vvl_alloc ) 
    82          IF( dom_vvl_alloc /= 0 )   CALL ctl_warn('dom_vvl_alloc: failed to allocate arrays') 
     81         CALL mpp_sum ( 'domvvl', dom_vvl_alloc ) 
     82         IF( dom_vvl_alloc /= 0 )   CALL ctl_stop( 'STOP', 'dom_vvl_alloc: failed to allocate arrays' ) 
    8383         un_td = 0._wp 
    8484         vn_td = 0._wp 
     
    8686      IF( ln_vvl_ztilde ) THEN 
    8787         ALLOCATE( frq_rst_e3t(jpi,jpj) , frq_rst_hdv(jpi,jpj) , hdiv_lf(jpi,jpj,jpk) , STAT= dom_vvl_alloc ) 
    88          IF( lk_mpp             )   CALL mpp_sum ( dom_vvl_alloc ) 
    89          IF( dom_vvl_alloc /= 0 )   CALL ctl_warn('dom_vvl_alloc: failed to allocate arrays') 
     88         CALL mpp_sum ( 'domvvl', dom_vvl_alloc ) 
     89         IF( dom_vvl_alloc /= 0 )   CALL ctl_stop( 'STOP', 'dom_vvl_alloc: failed to allocate arrays' ) 
    9090      ENDIF 
    9191      ! 
     
    410410         !                       ! d - thickness diffusion transport: boundary conditions 
    411411         !                             (stored for tracer advction and continuity equation) 
    412          CALL lbc_lnk_multi( un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 
     412         CALL lbc_lnk_multi( 'domvvl', un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 
    413413 
    414414         ! 4 - Time stepping of baroclinic scale factors 
     
    421421            z2dt = 2.0_wp * rdt 
    422422         ENDIF 
    423          CALL lbc_lnk( tilde_e3t_a(:,:,:), 'T', 1._wp ) 
     423         CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 
    424424         tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + z2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:) 
    425425 
     
    431431         END DO 
    432432         z_tmax = MAXVAL( ze3t(:,:,:) ) 
    433          IF( lk_mpp )   CALL mpp_max( z_tmax )                 ! max over the global domain 
     433         CALL mpp_max( 'domvvl', z_tmax )                 ! max over the global domain 
    434434         z_tmin = MINVAL( ze3t(:,:,:) ) 
    435          IF( lk_mpp )   CALL mpp_min( z_tmin )                 ! min over the global domain 
     435         CALL mpp_min( 'domvvl', z_tmin )                 ! min over the global domain 
    436436         ! - ML - test: for the moment, stop simulation for too large e3_t variations 
    437437         IF( ( z_tmax >  rn_zdef_max ) .OR. ( z_tmin < - rn_zdef_max ) ) THEN 
    438438            IF( lk_mpp ) THEN 
    439                CALL mpp_maxloc( ze3t, tmask, z_tmax, ijk_max(1), ijk_max(2), ijk_max(3) ) 
    440                CALL mpp_minloc( ze3t, tmask, z_tmin, ijk_min(1), ijk_min(2), ijk_min(3) ) 
     439               CALL mpp_maxloc( 'domvvl', ze3t, tmask, z_tmax, ijk_max ) 
     440               CALL mpp_minloc( 'domvvl', ze3t, tmask, z_tmin, ijk_min ) 
    441441            ELSE 
    442442               ijk_max = MAXLOC( ze3t(:,:,:) ) 
     
    452452               WRITE(numout, *) 'MIN( tilde_e3t_a(:,:,:) / e3t_0(:,:,:) ) =', z_tmin 
    453453               WRITE(numout, *) 'at i, j, k=', ijk_min             
    454                CALL ctl_warn('MAX( ABS( tilde_e3t_a(:,:,:) ) / e3t_0(:,:,:) ) too high') 
     454               CALL ctl_stop( 'STOP', 'MAX( ABS( tilde_e3t_a(:,:,: ) ) / e3t_0(:,:,:) ) too high') 
    455455            ENDIF 
    456456         ENDIF 
     
    495495         IF ( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN 
    496496            z_tmax = MAXVAL( tmask(:,:,1) * tmask_i(:,:) * ABS( zht(:,:) ) ) 
    497             IF( lk_mpp ) CALL mpp_max( z_tmax )                             ! max over the global domain 
     497            CALL mpp_max( 'domvvl', z_tmax )                             ! max over the global domain 
    498498            IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(SUM(tilde_e3t_a))) =', z_tmax 
    499499         END IF 
     
    504504         END DO 
    505505         z_tmax = MAXVAL( tmask(:,:,1) * tmask_i(:,:) * ABS( ht_0(:,:) + sshn(:,:) - zht(:,:) ) ) 
    506          IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain 
     506         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain 
    507507         IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(ht_0+sshn-SUM(e3t_n))) =', z_tmax 
    508508         ! 
     
    512512         END DO 
    513513         z_tmax = MAXVAL( tmask(:,:,1) * tmask_i(:,:) * ABS( ht_0(:,:) + ssha(:,:) - zht(:,:) ) ) 
    514          IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain 
     514         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain 
    515515         IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(ht_0+ssha-SUM(e3t_a))) =', z_tmax 
    516516         ! 
     
    520520         END DO 
    521521         z_tmax = MAXVAL( tmask(:,:,1) * tmask_i(:,:) * ABS( ht_0(:,:) + sshb(:,:) - zht(:,:) ) ) 
    522          IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain 
     522         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain 
    523523         IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(ht_0+sshb-SUM(e3t_b))) =', z_tmax 
    524524         ! 
    525525         z_tmax = MAXVAL( tmask(:,:,1) *  ABS( sshb(:,:) ) ) 
    526          IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain 
     526         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain 
    527527         IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(sshb))) =', z_tmax 
    528528         ! 
    529529         z_tmax = MAXVAL( tmask(:,:,1) *  ABS( sshn(:,:) ) ) 
    530          IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain 
     530         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain 
    531531         IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(sshn))) =', z_tmax 
    532532         ! 
    533533         z_tmax = MAXVAL( tmask(:,:,1) *  ABS( ssha(:,:) ) ) 
    534          IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain 
     534         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain 
    535535         IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(ssha))) =', z_tmax 
    536536      END IF 
     
    713713            END DO 
    714714         END DO 
    715          CALL lbc_lnk( pe3_out(:,:,:), 'U', 1._wp ) 
     715         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'U', 1._wp ) 
    716716         pe3_out(:,:,:) = pe3_out(:,:,:) + e3u_0(:,:,:) 
    717717         ! 
     
    726726            END DO 
    727727         END DO 
    728          CALL lbc_lnk( pe3_out(:,:,:), 'V', 1._wp ) 
     728         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'V', 1._wp ) 
    729729         pe3_out(:,:,:) = pe3_out(:,:,:) + e3v_0(:,:,:) 
    730730         ! 
     
    740740            END DO 
    741741         END DO 
    742          CALL lbc_lnk( pe3_out(:,:,:), 'F', 1._wp ) 
     742         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'F', 1._wp ) 
    743743         pe3_out(:,:,:) = pe3_out(:,:,:) + e3f_0(:,:,:) 
    744744         ! 
  • NEMO/trunk/src/OCE/DOM/domwri.F90

    r10068 r10425  
    7272      !                                  !  create 'mesh_mask.nc' file 
    7373      !                                  ! ============================ 
    74       CALL iom_open( TRIM(clnam), inum, ldwrt = .TRUE., kiolib = jprstlib ) 
     74      CALL iom_open( TRIM(clnam), inum, ldwrt = .TRUE. ) 
    7575      ! 
    7676      !                                                         ! global domain size 
     
    210210      ! 
    211211      puniq(:,:) = ztstref(:,:)                   ! default definition 
    212       CALL lbc_lnk( puniq, cdgrd, 1. )            ! apply boundary conditions 
     212      CALL lbc_lnk( 'domwri', puniq, cdgrd, 1. )            ! apply boundary conditions 
    213213      lldbl(:,:,1) = puniq(:,:) == ztstref(:,:)   ! check which values have been changed  
    214214      ! 
     
    271271         END DO 
    272272      END DO 
    273       CALL lbc_lnk( zx1, 'T', 1. ) 
     273      CALL lbc_lnk( 'domwri', zx1, 'T', 1. ) 
    274274      ! 
    275275      IF( PRESENT( px1 ) )    px1 = zx1 
     
    277277      zrxmax = MAXVAL( zx1 ) 
    278278      ! 
    279       IF( lk_mpp )   CALL mpp_max( zrxmax ) ! max over the global domain 
     279      CALL mpp_max( 'domwri', zrxmax ) ! max over the global domain 
    280280      ! 
    281281      IF(lwp) THEN 
  • NEMO/trunk/src/OCE/DOM/domzgr.F90

    r10068 r10425  
    307307      END DO 
    308308      ! converte into REAL to use lbc_lnk ; impose a min value of 1 as a zero can be set in lbclnk  
    309       zk(:,:) = REAL( miku(:,:), wp )   ;   CALL lbc_lnk( zk, 'U', 1. )   ;   miku(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
    310       zk(:,:) = REAL( mikv(:,:), wp )   ;   CALL lbc_lnk( zk, 'V', 1. )   ;   mikv(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
    311       zk(:,:) = REAL( mikf(:,:), wp )   ;   CALL lbc_lnk( zk, 'F', 1. )   ;   mikf(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
    312       ! 
    313       zk(:,:) = REAL( mbku(:,:), wp )   ;   CALL lbc_lnk( zk, 'U', 1. )   ;   mbku(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
    314       zk(:,:) = REAL( mbkv(:,:), wp )   ;   CALL lbc_lnk( zk, 'V', 1. )   ;   mbkv(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
     309      zk(:,:) = REAL( miku(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'U', 1. )   ;   miku(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
     310      zk(:,:) = REAL( mikv(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'V', 1. )   ;   mikv(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
     311      zk(:,:) = REAL( mikf(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'F', 1. )   ;   mikf(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
     312      ! 
     313      zk(:,:) = REAL( mbku(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'U', 1. )   ;   mbku(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
     314      zk(:,:) = REAL( mbkv(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'V', 1. )   ;   mbkv(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
    315315      ! 
    316316   END SUBROUTINE zgr_top_bot 
  • NEMO/trunk/src/OCE/DOM/iscplhsb.F90

    r10069 r10425  
    206206 
    207207      ! build array of total problematic point on each cpu (share to each cpu) 
    208       CALL mpp_max(inpts,jpnij)  
     208      CALL mpp_max('iscplhsb', inpts,jpnij)  
    209209 
    210210      ! size of the new variable 
     
    243243      ! build array of total problematic point on each cpu (share to each cpu) 
    244244      ! point coordinates 
    245       CALL mpp_max(zlat ,npts) 
    246       CALL mpp_max(zlon ,npts) 
    247       CALL mpp_max(izpts,npts) 
     245      CALL mpp_max('iscplhsb', zlat ,npts) 
     246      CALL mpp_max('iscplhsb', zlon ,npts) 
     247      CALL mpp_max('iscplhsb', izpts,npts) 
    248248 
    249249      ! correction values  
    250       CALL mpp_max(zcorr_vol,npts) 
    251       CALL mpp_max(zcorr_sal,npts) 
    252       CALL mpp_max(zcorr_tem,npts) 
     250      CALL mpp_max('iscplhsb', zcorr_vol,npts) 
     251      CALL mpp_max('iscplhsb', zcorr_sal,npts) 
     252      CALL mpp_max('iscplhsb', zcorr_tem,npts) 
    253253 
    254254      ! put correction term in the closest cell           
  • NEMO/trunk/src/OCE/DOM/iscplini.F90

    r10069 r10425  
    4848      ALLOCATE( htsc_iscpl(jpi,jpj,jpk,jpts) , hdiv_iscpl(jpi,jpj,jpk) , STAT=iscpl_alloc ) 
    4949         ! 
    50       IF( lk_mpp          )   CALL mpp_sum ( iscpl_alloc ) 
     50      CALL mpp_sum ( 'iscplini', iscpl_alloc ) 
    5151      IF( iscpl_alloc > 0 )   CALL ctl_warn('iscpl_alloc: allocation of arrays failed') 
    5252   END FUNCTION iscpl_alloc 
  • NEMO/trunk/src/OCE/DOM/iscplrst.F90

    r10069 r10425  
    8282         cfile='correction' 
    8383         cfile = TRIM( cfile ) 
    84          CALL iom_open  ( cfile, inum0, ldwrt = .TRUE., kiolib = jprstlib ) 
     84         CALL iom_open  ( cfile, inum0, ldwrt = .TRUE. ) 
    8585         CALL iom_rstput( 0, 0, inum0, 'vol_cor', hdiv_iscpl(:,:,:) ) 
    8686         CALL iom_rstput( 0, 0, inum0, 'tem_cor', htsc_iscpl(:,:,:,jp_tem) ) 
     
    175175            END DO 
    176176         END DO 
    177          CALL lbc_lnk_multi( sshn, 'T', 1., zsmask1, 'T', 1. ) 
     177         CALL lbc_lnk_multi( 'iscplrst', sshn, 'T', 1., zsmask1, 'T', 1. ) 
    178178         zssh0   = sshn 
    179179         zsmask0 = zsmask1 
     
    344344          END DO 
    345345           
    346           CALL lbc_lnk_multi( tsn(:,:,:,jp_tem), 'T', 1., tsn(:,:,:,jp_sal), 'T', 1., ztmask1, 'T', 1.) 
     346          CALL lbc_lnk_multi( 'iscplrst', tsn(:,:,:,jp_tem), 'T', 1., tsn(:,:,:,jp_sal), 'T', 1., ztmask1, 'T', 1.) 
    347347 
    348348          ! update 
Note: See TracChangeset for help on using the changeset viewer.