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/ICB – 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/ICB
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/ICB/icb_oce.F90

    r10068 r10425  
    190190      icb_alloc = icb_alloc + ill 
    191191 
    192       IF( lk_mpp        )   CALL mpp_sum ( icb_alloc ) 
     192      CALL mpp_sum ( 'icb_oce', icb_alloc ) 
    193193      IF( icb_alloc > 0 )   CALL ctl_warn('icb_alloc: allocation of arrays failed') 
    194194      ! 
  • NEMO/trunk/src/OCE/ICB/icbclv.F90

    r10068 r10425  
    174174      ! 
    175175      DO jn = 1, nclasses 
    176          CALL lbc_lnk( berg_grid%stored_ice(:,:,jn), 'T', 1._wp ) 
     176         CALL lbc_lnk( 'icbclv', berg_grid%stored_ice(:,:,jn), 'T', 1._wp ) 
    177177      END DO 
    178       CALL lbc_lnk( berg_grid%stored_heat, 'T', 1._wp ) 
     178      CALL lbc_lnk( 'icbclv', berg_grid%stored_heat, 'T', 1._wp ) 
    179179      ! 
    180180      IF( nn_verbose_level > 0 .AND. icntmax > 1 )   WRITE(numicb,*) 'icb_clv: icnt=', icnt,' on', narea 
  • NEMO/trunk/src/OCE/ICB/icbdia.F90

    r10068 r10425  
    161161         rsumbuf(2) = bergs_mass_start 
    162162         rsumbuf(3) = bits_mass_start 
    163          CALL mpp_sum( rsumbuf(1:3), 3 ) 
     163         CALL mpp_sum( 'icbdia', rsumbuf(1:3), 3 ) 
    164164         floating_mass_start = rsumbuf(1) 
    165165         bergs_mass_start = rsumbuf(2) 
     
    236236            rsumbuf(23) = zgrdd_bits_mass 
    237237            ! 
    238             CALL mpp_sum( rsumbuf(1:23), 23) 
     238            CALL mpp_sum( 'icbdia', rsumbuf(1:23), 23) 
    239239            ! 
    240240            stored_end                = rsumbuf( 1) 
     
    269269               nsumbuf(4+ik) = nbergs_calved_by_class(ik) 
    270270            END DO 
    271             CALL mpp_sum( nsumbuf(1:nclasses+4), nclasses+4 ) 
     271            CALL mpp_sum( 'icbdia', nsumbuf(1:nclasses+4), nclasses+4 ) 
    272272            ! 
    273273            nbergs_end        = nsumbuf(1) 
     
    436436      IF( kt == nit000 ) THEN 
    437437         stored_start = SUM( berg_grid%stored_ice(:,:,:) ) 
    438          IF( lk_mpp ) CALL mpp_sum( stored_start ) 
     438         CALL mpp_sum( 'icbdia', stored_start ) 
    439439         WRITE(numicb,'(a,es13.6,a)')   'icb_dia_income: initial stored mass=',stored_start,' kg' 
    440440         ! 
    441441         stored_heat_start = SUM( berg_grid%stored_heat(:,:) ) 
    442          IF( lk_mpp ) CALL mpp_sum( stored_heat_start ) 
     442         CALL mpp_sum( 'icbdia', stored_heat_start ) 
    443443         WRITE(numicb,'(a,es13.6,a)')    'icb_dia_income: initial stored heat=',stored_heat_start,' J' 
    444444      ENDIF 
  • NEMO/trunk/src/OCE/ICB/icbini.F90

    r10068 r10425  
    114114         END DO 
    115115      END DO 
    116       CALL lbc_lnk( src_calving_hflx, 'T', 1._wp ) 
    117       CALL lbc_lnk( src_calving     , 'T', 1._wp ) 
     116      CALL lbc_lnk( 'icbini', src_calving_hflx, 'T', 1._wp ) 
     117      CALL lbc_lnk( 'icbini', src_calving     , 'T', 1._wp ) 
    118118 
    119119      ! work out interior of processor from exchange array 
     
    335335      ! 
    336336      ibergs = icb_utl_count() 
    337       IF( lk_mpp ) CALL mpp_sum(ibergs) 
     337      CALL mpp_sum('icbini', ibergs) 
    338338      WRITE(numicb,'(a,i6,a)') 'diamonds, icb_ini_gen: ',ibergs,' were generated' 
    339339      ! 
  • NEMO/trunk/src/OCE/ICB/icblbc.F90

    r10068 r10425  
    551551            this => this%next 
    552552         ENDDO ! WHILE 
    553          CALL mpp_sum(i) 
     553         CALL mpp_sum('icblbc', i) 
    554554         IF( i .GT. 0 ) THEN 
    555555            WRITE( numicb,'(a,i4)') 'send_bergs_to_other_pes: # of bergs outside computational domain = ',i 
  • NEMO/trunk/src/OCE/ICB/icbrst.F90

    r10068 r10425  
    141141      IF( lk_mpp ) THEN 
    142142         ! Only mpp_sum ibergs_in_file if we are reading from multiple restart files.  
    143          IF( INDEX(iom_file(ncid)%name,'icebergs.nc' ) .EQ. 0 ) CALL mpp_sum(ibergs_in_file) 
    144          CALL mpp_sum(jn) 
     143         IF( INDEX(iom_file(ncid)%name,'icebergs.nc' ) .EQ. 0 ) CALL mpp_sum('icbrst', ibergs_in_file) 
     144         CALL mpp_sum('icbrst', jn) 
    145145      ENDIF 
    146146      IF( lwp )   WRITE(numout,'(a,i5,a,i5,a)') 'icebergs, icb_rst_read: there were',ibergs_in_file,   & 
     
    164164      ENDIF 
    165165      IF( lk_mpp ) THEN 
    166          CALL mpp_sum(ibase_err) 
     166         CALL mpp_sum('icbrst', ibase_err) 
    167167      ENDIF 
    168168      IF( ibase_err > 0 ) THEN 
     
    171171         ! all future icebergs numbers will be greater than the current global maximum 
    172172         IF( lk_mpp ) THEN 
    173             CALL mpp_max(imax_icb) 
     173            CALL mpp_max('icbrst', imax_icb) 
    174174         ENDIF 
    175175         num_bergs(1) = imax_icb - jpnij + narea 
     
    404404            WRITE(numout,'(2(a,i5))') 'icebergs, icb_rst_write: # bergs =',jn,' on PE',narea-1 
    405405         IF( lk_mpp ) THEN 
    406             CALL mpp_sum(jn) 
     406            CALL mpp_sum('icbrst', jn) 
    407407         ENDIF 
    408408         IF(lwp)   WRITE(numout,'(a,i5,a,i5,a)') 'icebergs, icb_rst_write: ', jn,   & 
  • NEMO/trunk/src/OCE/ICB/icbutl.F90

    r10332 r10425  
    7878      va_e(:,:) = 0._wp   ;   va_e(1:jpi,1:jpj) = vtau (:,:) * vmask(:,:,1) ! maybe mask useless because mask applied in sbcblk 
    7979      ! 
    80       CALL lbc_lnk_icb( uo_e, 'U', -1._wp, 1, 1 ) 
    81       CALL lbc_lnk_icb( vo_e, 'V', -1._wp, 1, 1 ) 
    82       CALL lbc_lnk_icb( ff_e, 'F', +1._wp, 1, 1 ) 
    83       CALL lbc_lnk_icb( ua_e, 'U', -1._wp, 1, 1 ) 
    84       CALL lbc_lnk_icb( va_e, 'V', -1._wp, 1, 1 ) 
    85       CALL lbc_lnk_icb( fr_e, 'T', +1._wp, 1, 1 ) 
    86       CALL lbc_lnk_icb( tt_e, 'T', +1._wp, 1, 1 ) 
     80      CALL lbc_lnk_icb( 'icbutl', uo_e, 'U', -1._wp, 1, 1 ) 
     81      CALL lbc_lnk_icb( 'icbutl', vo_e, 'V', -1._wp, 1, 1 ) 
     82      CALL lbc_lnk_icb( 'icbutl', ff_e, 'F', +1._wp, 1, 1 ) 
     83      CALL lbc_lnk_icb( 'icbutl', ua_e, 'U', -1._wp, 1, 1 ) 
     84      CALL lbc_lnk_icb( 'icbutl', va_e, 'V', -1._wp, 1, 1 ) 
     85      CALL lbc_lnk_icb( 'icbutl', fr_e, 'T', +1._wp, 1, 1 ) 
     86      CALL lbc_lnk_icb( 'icbutl', tt_e, 'T', +1._wp, 1, 1 ) 
    8787#if defined key_si3 
    8888      hicth(:,:) = 0._wp ;  hicth(1:jpi,1:jpj) = hm_i (:,:)   
     
    9494      ssh_e(:,:) = 0._wp ;  ssh_e(1:jpi, 1:jpj) = zssh_lead_m(:,:) * tmask(:,:,1) 
    9595      ! 
    96       CALL lbc_lnk_icb( hicth, 'T', +1._wp, 1, 1 ) 
    97       CALL lbc_lnk_icb( ui_e , 'U', -1._wp, 1, 1 ) 
    98       CALL lbc_lnk_icb( vi_e , 'V', -1._wp, 1, 1 ) 
     96      CALL lbc_lnk_icb( 'icbutl', hicth, 'T', +1._wp, 1, 1 ) 
     97      CALL lbc_lnk_icb( 'icbutl', ui_e , 'U', -1._wp, 1, 1 ) 
     98      CALL lbc_lnk_icb( 'icbutl', vi_e , 'V', -1._wp, 1, 1 ) 
    9999#else 
    100100      ssh_e(:,:) = 0._wp ;  ssh_e(1:jpi, 1:jpj) = ssh_m(:,:) * tmask(:,:,1) 
     
    111111      ssh_e(0,jpj+1)     = ssh_e(1,jpj) 
    112112      ssh_e(jpi+1,jpj+1) = ssh_e(jpi,jpj) 
    113       CALL lbc_lnk_icb( ssh_e, 'T', +1._wp, 1, 1 ) 
     113      CALL lbc_lnk_icb( 'icbutl', ssh_e, 'T', +1._wp, 1, 1 ) 
    114114      ! 
    115115   END SUBROUTINE icb_utl_copy 
     
    661661      ibergs = icb_utl_count() 
    662662      inbergs = ibergs 
    663       IF( lk_mpp )   CALL mpp_sum(inbergs) 
     663      CALL mpp_sum('icbutl', inbergs) 
    664664      IF( ibergs > 0 )   WRITE(numicb,'(a," there are",i5," bergs out of",i6," on PE ",i4)')   & 
    665665         &                                  cd_label, ibergs, inbergs, narea 
Note: See TracChangeset for help on using the changeset viewer.