Ignore:
Timestamp:
2018-06-20T15:41:08+02:00 (3 years ago)
Author:
smasson
Message:

dev_r9759_HPC09_ESIWACE: get more informations

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LBC/mpp_lnk_generic.h90

    r9772 r9814  
    4646 
    4747#if defined MULTI 
    48    SUBROUTINE ROUTINE_LNK( ptab, cd_nat, psgn, kfld, cd_mpp, pval ) 
     48   SUBROUTINE ROUTINE_LNK( rname, ptab, cd_nat, psgn, kfld, cd_mpp, pval ) 
    4949      INTEGER                     , INTENT(in   ) ::   kfld        ! number of pt3d arrays 
    5050#else 
    51    SUBROUTINE ROUTINE_LNK( ptab, cd_nat, psgn      , cd_mpp, pval ) 
     51   SUBROUTINE ROUTINE_LNK( rname, ptab, cd_nat, psgn      , cd_mpp, pval ) 
    5252#endif 
    5353      ARRAY_TYPE(:,:,:,:,:)                                        ! array or pointer of arrays on which the boundary condition is applied 
     
    5656      CHARACTER(len=3), OPTIONAL  , INTENT(in   ) ::   cd_mpp      ! fill the overlap area only 
    5757      REAL(wp)        , OPTIONAL  , INTENT(in   ) ::   pval        ! background value (used at closed boundaries) 
     58      CHARACTER(len=*),             INTENT(in   ) ::   rname       ! name of the calling subroutine 
    5859      ! 
    5960      INTEGER  ::    ji,  jj,  jk,  jl, jh, jf   ! dummy loop indices 
     
    155156         icomm_sequence(n_sequence,2) = ipf 
    156157         ! write(6,'(A,6I4)') 'size comm ', nn_hls, jpi, jpj, ipk, ipl, ipf 
    157       ELSE IF ( mpprank == 0 .AND. ncom_stp == (nit000+1) .AND. l_print_comm_report ) THEN 
    158          write(6,*) 'Communication pattern report : ' 
    159          write(6,*) ' ' 
    160          write(6,'(A,I3)') ' Exchanged halos : ', n_sequence 
    161          jj = 0; jk = 0; jf = 0; jh = 0 
    162          DO ji = 1, n_sequence 
    163            IF ( icomm_sequence(ji,1) .gt. 1 ) jk = jk + 1 
    164            IF ( icomm_sequence(ji,2) .gt. 1 ) jf = jf + 1 
    165            IF ( icomm_sequence(ji,1) .gt. 1 .AND. icomm_sequence(ji,2) .gt. 1 ) jj = jj + 1 
    166            jh = MAX (jh, icomm_sequence(ji,1)*icomm_sequence(ji,2)) 
    167          END DO 
    168          write(6,'(A,I3)') ' 3D Exchanged halos : ', jk 
    169          write(6,'(A,I3)') ' Multi arrays exchanged halos : ', jf 
    170          write(6,'(A,I3)') '   from which 3D : ', jj 
    171          write(6,'(A,I10)') ' array max size : ', jh*jpi*jpj 
    172          l_print_comm_report = .FALSE. 
     158      ELSE IF ( mpprank == 0 .AND. ncom_stp == (nit000+1) ) THEN 
     159         IF ( l_print_comm_report ) THEN 
     160            write(6,*) 'Communication pattern report : ' 
     161            write(6,*) ' ' 
     162            write(6,'(A,I3)') ' Exchanged halos : ', n_sequence 
     163            jj = 0; jk = 0; jf = 0; jh = 0 
     164            DO ji = 1, n_sequence 
     165              IF ( icomm_sequence(ji,1) .gt. 1 ) jk = jk + 1 
     166              IF ( icomm_sequence(ji,2) .gt. 1 ) jf = jf + 1 
     167              IF ( icomm_sequence(ji,1) .gt. 1 .AND. icomm_sequence(ji,2) .gt. 1 ) jj = jj + 1 
     168              jh = MAX (jh, icomm_sequence(ji,1)*icomm_sequence(ji,2)) 
     169            END DO 
     170            write(6,'(A,I3)') ' 3D Exchanged halos : ', jk 
     171            write(6,'(A,I3)') ' Multi arrays exchanged halos : ', jf 
     172            write(6,'(A,I3)') '   from which 3D : ', jj 
     173            write(6,'(A,I10)') ' array max size : ', jh*jpi*jpj 
     174            write(6,*) ' ' 
     175            l_print_comm_report = .FALSE. 
     176         END IF 
     177         write(6,'(A19,A)') 'calling subroutine ', TRIM(rname) 
    173178      END IF 
    174179      ! 
     
    177182         CALL tic_tac(.TRUE.) 
    178183         ! 
     184         IF ( TRIM(rname) == "simulated_lbc_lnk" ) THEN 
     185            zt3we = zt3we + 1. ; zt3ew = zt3ew + 1. 
     186         ENDIF 
    179187         SELECT CASE ( nbondi ) 
    180188         CASE ( -1 ) 
     
    255263      ! 
    256264      IF (ncom_stp <= ( nit000 + 1 ) .or. mod(ncom_stp,nn_comm_mod) == 0 ) THEN 
     265         IF ( TRIM(rname) == "simulated_lbc_lnk" ) THEN 
     266            zt3sn = zt3sn + 1. ; zt3ns = zt3ns + 1. 
     267         ENDIF 
    257268  
    258269         SELECT CASE ( nbondj ) 
Note: See TracChangeset for help on using the changeset viewer.