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 12555 for branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ICB/icblbc.F90 – NEMO

Ignore:
Timestamp:
2020-03-13T17:33:02+01:00 (4 years ago)
Author:
charris
Message:

Changes from GO6 package branch (GMED ticket 450):

svn merge -r 11035:11101 svn+ssh://charris@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/branches/UKMO/dev_r5518_GO6_package

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ICB/icblbc.F90

    r6486 r12555  
    197197      ENDIF 
    198198 
    199       IF( nn_verbose_level >= 2 ) THEN 
     199      IF( nn_verbose_level >= 2 .AND. numicb .NE. -1) THEN 
    200200         WRITE(numicb,*) 'processor west  : ', ipe_W 
    201201         WRITE(numicb,*) 'processor east  : ', ipe_E 
     
    240240               this => this%next 
    241241               ibergs_to_send_e = ibergs_to_send_e + 1 
    242                IF( nn_verbose_level >= 4 ) THEN 
     242               IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    243243                  WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for transfer to east' 
    244244                  CALL flush( numicb ) 
     
    253253               this => this%next 
    254254               ibergs_to_send_w = ibergs_to_send_w + 1 
    255                IF( nn_verbose_level >= 4 ) THEN 
     255               IF( nn_verbose_level >= 4 .AND. numicb.NE.-1) THEN 
    256256                  WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for transfer to west' 
    257257                  CALL flush( numicb ) 
     
    267267         END DO 
    268268      ENDIF 
    269       IF( nn_verbose_level >= 3) THEN 
     269      IF( nn_verbose_level >= 3 .AND. numicb .NE. -1) THEN 
    270270         WRITE(numicb,*) 'bergstep ',nktberg,' send ew: ', ibergs_to_send_e, ibergs_to_send_w 
    271271         CALL flush(numicb) 
     
    301301         ibergs_rcvd_from_w = INT( zwebergs(2) ) 
    302302      END SELECT 
    303       IF( nn_verbose_level >= 3) THEN 
     303      IF( nn_verbose_level >= 3 .AND. numicb .NE. -1) THEN 
    304304         WRITE(numicb,*) 'bergstep ',nktberg,' recv ew: ', ibergs_rcvd_from_w, ibergs_rcvd_from_e 
    305305         CALL flush(numicb) 
     
    315315         IF( ibergs_to_send_e > 0 .AND. l_isend ) CALL mpi_wait( iml_req1, iml_stat, iml_err ) 
    316316         DO i = 1, ibergs_rcvd_from_e 
    317             IF( nn_verbose_level >= 4 ) THEN 
     317            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    318318               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_e%data(16,i)),' from east' 
    319319               CALL flush( numicb ) 
     
    335335         IF( ibergs_to_send_e > 0 .AND. l_isend ) CALL mpi_wait( iml_req3, iml_stat, iml_err ) 
    336336         DO i = 1, ibergs_rcvd_from_e 
    337             IF( nn_verbose_level >= 4 ) THEN 
     337            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    338338               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_e%data(16,i)),' from east' 
    339339               CALL flush( numicb ) 
     
    342342         END DO 
    343343         DO i = 1, ibergs_rcvd_from_w 
    344             IF( nn_verbose_level >= 4 ) THEN 
     344            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    345345               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_w%data(16,i)),' from west' 
    346346               CALL flush( numicb ) 
     
    356356         IF( ibergs_to_send_w > 0 .AND. l_isend ) CALL mpi_wait( iml_req4, iml_stat, iml_err ) 
    357357         DO i = 1, ibergs_rcvd_from_w 
    358             IF( nn_verbose_level >= 4 ) THEN 
     358            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    359359               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_w%data(16,i)),' from west' 
    360360               CALL flush( numicb ) 
     
    378378               this => this%next 
    379379               ibergs_to_send_n = ibergs_to_send_n + 1 
    380                IF( nn_verbose_level >= 4 ) THEN 
     380               IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    381381                  WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for transfer to north' 
    382382                  CALL flush( numicb ) 
     
    388388               this => this%next 
    389389               ibergs_to_send_s = ibergs_to_send_s + 1 
    390                IF( nn_verbose_level >= 4 ) THEN 
     390               IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    391391                  WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for transfer to south' 
    392392                  CALL flush( numicb ) 
     
    399399         END DO 
    400400      ENDIF 
    401       if( nn_verbose_level >= 3) then 
     401      if( nn_verbose_level >= 3 .AND. numicb .NE. -1) then 
    402402         write(numicb,*) 'bergstep ',nktberg,' send ns: ', ibergs_to_send_n, ibergs_to_send_s 
    403403         call flush(numicb) 
     
    432432         ibergs_rcvd_from_s = INT( zsnbergs(2) ) 
    433433      END SELECT 
    434       if( nn_verbose_level >= 3) then 
     434      if( nn_verbose_level >= 3 .AND. numicb .NE. -1) then 
    435435         write(numicb,*) 'bergstep ',nktberg,' recv ns: ', ibergs_rcvd_from_s, ibergs_rcvd_from_n 
    436436         call flush(numicb) 
     
    446446         IF( ibergs_to_send_n > 0 .AND. l_isend ) CALL mpi_wait( iml_req1, iml_stat, iml_err ) 
    447447         DO i = 1, ibergs_rcvd_from_n 
    448             IF( nn_verbose_level >= 4 ) THEN 
     448            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    449449               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_n%data(16,i)),' from north' 
    450450               CALL flush( numicb ) 
     
    466466         IF( ibergs_to_send_n > 0 .AND. l_isend ) CALL mpi_wait( iml_req3, iml_stat, iml_err ) 
    467467         DO i = 1, ibergs_rcvd_from_n 
    468             IF( nn_verbose_level >= 4 ) THEN 
     468            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    469469               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_n%data(16,i)),' from north' 
    470470               CALL flush( numicb ) 
     
    473473         END DO 
    474474         DO i = 1, ibergs_rcvd_from_s 
    475             IF( nn_verbose_level >= 4 ) THEN 
     475            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    476476               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_s%data(16,i)),' from south' 
    477477               CALL flush( numicb ) 
     
    487487         IF( ibergs_to_send_s > 0 .AND. l_isend ) CALL mpi_wait( iml_req4, iml_stat, iml_err ) 
    488488         DO i = 1, ibergs_rcvd_from_s 
    489             IF( nn_verbose_level >= 4 ) THEN 
     489            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    490490               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_s%data(16,i)),' from south' 
    491491               CALL flush( numicb ) 
     
    495495      END SELECT 
    496496 
    497       IF( nn_verbose_level > 0 ) THEN 
     497      IF( nn_verbose_level > 0 .AND. numicb .NE. -1) THEN 
    498498         ! compare the number of icebergs on this processor from the start to the end 
    499499         ibergs_end = icb_utl_count() 
     
    535535      IF( npolj /= 0 .AND. jpni > 1 ) CALL icb_lbc_mpp_nfld( ) 
    536536 
    537       IF( nn_verbose_level > 0 ) THEN 
     537      IF( nn_verbose_level > 0) THEN 
    538538         i = 0 
    539539         this => first_berg 
     
    547547                ijne .GT. mjg(nicbej)) THEN 
    548548               i = i + 1 
    549                WRITE(numicb,*) 'berg lost in halo: ', this%number(:),iine,ijne 
    550                WRITE(numicb,*) '                   ', nimpp, njmpp 
    551                WRITE(numicb,*) '                   ', nicbdi, nicbei, nicbdj, nicbej 
    552                CALL flush( numicb ) 
     549               IF(numicb .NE. -1) THEN 
     550                   WRITE(numicb,*) 'berg lost in halo: ', this%number(:),iine,ijne 
     551                   WRITE(numicb,*) '                   ', nimpp, njmpp 
     552                   WRITE(numicb,*) '                   ', nicbdi, nicbei, nicbdj, nicbej 
     553                   CALL flush( numicb ) 
     554               ENDIF 
    553555            ENDIF 
    554556            this => this%next 
     
    659661             IF( nicbfldproc(jjn) .eq. INT(znbergs(1)) ) EXIT 
    660662            END DO 
    661             IF( jjn .GT. jpni ) write(numicb,*) 'ICB ERROR' 
     663            IF( jjn .GT. jpni ) write(*,*) 'ICB ERROR' 
    662664            nicbfldexpect(jjn) = INT( znbergs(2) ) 
    663665            !IF ( nicbfldexpect(jjn) .GT. 0) write(numicb,*) 'ICB expecting ',nicbfldexpect(jjn),' from ', nicbfldproc(jjn) 
     
    714716                           tmpberg => this 
    715717                           ibergs_to_send = ibergs_to_send + 1 
    716                            IF( nn_verbose_level >= 4 ) THEN 
     718                           IF( nn_verbose_level >= 4 .AND. numicb.NE.-1) THEN 
    717719                              WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for north fold' 
    718720                              CALL flush( numicb ) 
     
    727729               END DO 
    728730            ENDIF 
    729             if( nn_verbose_level >= 3) then 
     731            if( nn_verbose_level >= 3 .AND. numicb.NE.-1) then 
    730732               write(numicb,*) 'bergstep ',nktberg,' send nfld: ', ibergs_to_send 
    731733               call flush(numicb) 
     
    758760            ! 
    759761            DO jk = 1, ibergs_to_rcv 
    760                IF( nn_verbose_level >= 4 ) THEN 
     762               IF( nn_verbose_level >= 4 .AND. numicb.NE.-1) THEN 
    761763                  WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_f%data(16,jk)),' from north fold' 
    762764                  CALL flush( numicb ) 
Note: See TracChangeset for help on using the changeset viewer.