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 10948 – NEMO

Changeset 10948


Ignore:
Timestamp:
2019-05-08T15:01:52+02:00 (6 years ago)
Author:
andmirek
Message:

GMED 462 iceberg model

Location:
NEMO/branches/UKMO/NEMO_4.0_GO8_package_text_diagnostics/src/OCE
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0_GO8_package_text_diagnostics/src/OCE/ICB/icbclv.F90

    r10888 r10948  
    179179      CALL lbc_lnk( 'icbclv', berg_grid%stored_heat, 'T', 1._wp ) 
    180180      ! 
    181       IF( nn_verbose_level > 0 .AND. icntmax > 1 )   WRITE(numicb,*) 'icb_clv: icnt=', icnt,' on', narea 
     181      IF( nn_verbose_level > 0 .AND. icntmax > 1 .AND. numicb.NE.-1)   WRITE(numicb,*) 'icb_clv: icnt=', icnt,' on', narea 
    182182      ! 
    183183   END SUBROUTINE  icb_clv 
  • NEMO/branches/UKMO/NEMO_4.0_GO8_package_text_diagnostics/src/OCE/ICB/icbdia.F90

    r10888 r10948  
    327327               &                    'returned',calving_ret_net) 
    328328         ENDIF 
    329          IF (nn_verbose_level > 0) THEN 
     329         IF (nn_verbose_level > 0 .AND. numicb.NE.-1) THEN 
    330330            WRITE( numicb, '("calved by class = ",i6,20(",",i6))') (nbergs_calved_by_class(ik),ik=1,nclasses) 
    331331            IF( nspeeding_tickets > 0 )   WRITE( numicb, '("speeding tickets issued = ",i6)') nspeeding_tickets 
     
    442442         stored_heat_start = SUM( berg_grid%stored_heat(:,:) ) 
    443443         CALL mpp_sum( 'icbdia', stored_heat_start ) 
    444          IF (nn_verbose_level > 0) THEN 
     444         IF (nn_verbose_level > 0 .AND. numicb.NE.-1) THEN 
    445445            WRITE(numicb,'(a,es13.6,a)')   'icb_dia_income: initial stored mass=',stored_start,' kg' 
    446446            WRITE(numicb,'(a,es13.6,a)')   'icb_dia_income: initial stored heat=',stored_heat_start,' J' 
     
    521521      IF (nn_verbose_level == 0) RETURN 
    522522      IF( PRESENT(kbergs) ) THEN 
    523          WRITE(numicb,100) cd_budgetstr // ' state:',                                    & 
    524             &              cd_startstr  // ' start',  pstartval,         cd_budgetunits, & 
    525             &              cd_endstr    // ' end',    pendval,           cd_budgetunits, & 
    526             &              'Delta '     // cd_delstr, pendval-pstartval, cd_budgetunits, & 
    527             &              '# of bergs', kbergs 
     523         IF( numicb.NE.-1 ) & 
     524            WRITE(numicb,100) cd_budgetstr // ' state:',                                    & 
     525               &              cd_startstr  // ' start',  pstartval,         cd_budgetunits, & 
     526               &              cd_endstr    // ' end',    pendval,           cd_budgetunits, & 
     527               &              'Delta '     // cd_delstr, pendval-pstartval, cd_budgetunits, & 
     528               &              '# of bergs', kbergs 
    528529      ELSE 
    529          WRITE(numicb,100) cd_budgetstr // ' state:',                                   & 
    530             &              cd_startstr  // ' start', pstartval,         cd_budgetunits, & 
    531             &              cd_endstr    // ' end',   pendval,           cd_budgetunits, & 
    532             &              cd_delstr    // 'Delta',  pendval-pstartval, cd_budgetunits 
     530         IF( numicb.NE.-1 ) & 
     531            WRITE(numicb,100) cd_budgetstr // ' state:',                                   & 
     532               &              cd_startstr  // ' start', pstartval,         cd_budgetunits, & 
     533               &              cd_endstr    // ' end',   pendval,           cd_budgetunits, & 
     534               &              cd_delstr    // 'Delta',  pendval-pstartval, cd_budgetunits 
    533535      ENDIF 
    534536100   FORMAT(a19,3(a18,"=",es14.7,x,a2,:,","),a12,i8) 
     
    545547      ! 
    546548      IF (nn_verbose_level == 0) RETURN 
    547       WRITE(numicb,200) cd_budgetstr // ' check:',                 & 
    548          &              cd_startstr,    pstartval, cd_budgetunits, & 
    549          &              cd_endstr,      pendval,   cd_budgetunits, & 
    550          &              'error',        (pendval-pstartval)/((pendval+pstartval)+1e-30), 'nd' 
     549      IF(numicb.NE.-1) &  
     550         WRITE(numicb,200) cd_budgetstr // ' check:',                 & 
     551            &              cd_startstr,    pstartval, cd_budgetunits, & 
     552            &              cd_endstr,      pendval,   cd_budgetunits, & 
     553            &              'error',        (pendval-pstartval)/((pendval+pstartval)+1e-30), 'nd' 
    551554200   FORMAT(a19,10(a18,"=",es14.7,x,a2,:,",")) 
    552555      ! 
     
    568571         &   MAX( 1.e-30, MAX( ABS( pendval - pstartval ) , ABS( pinval - poutval ) ) ) 
    569572         ! 
    570       WRITE(numicb,200) cd_budgetstr // ' budget:', & 
    571          &              cd_instr     // ' in',      pinval,         cd_budgetunits, & 
    572          &              cd_outstr    // ' out',     poutval,        cd_budgetunits, & 
    573          &              'Delta '     // cd_delstr,  pinval-poutval, cd_budgetunits, & 
    574          &              'error',        zval,                       'nd' 
     573      IF(numicb.NE.-1) &  
     574         WRITE(numicb,200) cd_budgetstr // ' budget:', & 
     575            &              cd_instr     // ' in',      pinval,         cd_budgetunits, & 
     576            &              cd_outstr    // ' out',     poutval,        cd_budgetunits, & 
     577            &              'Delta '     // cd_delstr,  pinval-poutval, cd_budgetunits, & 
     578            &              'error',        zval,                       'nd' 
    575579  200 FORMAT(a19,3(a18,"=",es14.7,x,a2,:,","),a8,"=",es10.3,x,a2) 
    576580      ! 
     
    586590      ! 
    587591      IF (nn_verbose_level == 0) RETURN 
    588       WRITE(numicb,100) cd_budgetstr // ' state:',           & 
    589          &              cd_startstr  // ' start', pstartval, & 
    590          &              cd_endstr    // ' end',   pendval,   & 
    591          &              cd_delstr    // 'Delta',  pendval-pstartval 
     592      IF(numicb.NE.-1) &  
     593         WRITE(numicb,100) cd_budgetstr // ' state:',           & 
     594            &              cd_startstr  // ' start', pstartval, & 
     595            &              cd_endstr    // ' end',   pendval,   & 
     596            &              cd_delstr    // 'Delta',  pendval-pstartval 
    592597  100 FORMAT(a19,3(a18,"=",i14,x,:,",")) 
    593598      ! 
     
    604609      ! 
    605610      IF (nn_verbose_level == 0) RETURN 
    606       WRITE(numicb,200) cd_budgetstr // ' budget:', & 
    607          &              cd_instr     // ' in',      pinval, & 
    608          &              cd_outstr    // ' out',     poutval, & 
    609          &              'Delta '     // cd_delstr,  pinval-poutval, & 
    610          &              'error',                    ( ( pendval - pstartval ) - ( pinval - poutval ) ) 
     611      IF(numicb.NE.-1) &  
     612         WRITE(numicb,200) cd_budgetstr // ' budget:', & 
     613            &              cd_instr     // ' in',      pinval, & 
     614            &              cd_outstr    // ' out',     poutval, & 
     615            &              'Delta '     // cd_delstr,  pinval-poutval, & 
     616            &              'error',                    ( ( pendval - pstartval ) - ( pinval - poutval ) ) 
    611617200   FORMAT(a19,10(a18,"=",i14,x,:,",")) 
    612618      ! 
  • NEMO/branches/UKMO/NEMO_4.0_GO8_package_text_diagnostics/src/OCE/ICB/icbdyn.F90

    r10888 r10948  
    372372      !                                      ! check the speed and acceleration limits 
    373373      IF (nn_verbose_level > 0) THEN 
    374          IF( ABS( zuveln ) > pp_vel_lim   .OR. ABS( zvveln ) > pp_vel_lim   )   & 
    375             WRITE(numicb,'("pe=",i3,x,a)') narea,'Dump triggered by excessive velocity' 
    376          IF( ABS( pax    ) > pp_accel_lim .OR. ABS( pay    ) > pp_accel_lim )   & 
    377             WRITE(numicb,'("pe=",i3,x,a)') narea,'Dump triggered by excessive acceleration' 
     374          IF( ABS( zuveln ) > pp_vel_lim   .OR. ABS( zvveln ) > pp_vel_lim   ) THEN  
     375              IF(numicb.NE.-1) THEN  
     376                  WRITE(numicb,'("pe=",i3,x,a)') narea,'Dump triggered by excessive velocity'  
     377              ELSE  
     378                  WRITE(*,'("pe=",i3,x,a)') narea,'Dump triggered by excessive velocity'   
     379              ENDIF  
     380          ENDIF  
     381          IF( ABS( pax    ) > pp_accel_lim .OR. ABS( pay    ) > pp_accel_lim ) THEN  
     382              IF(numicb.NE.-1) THEN  
     383                  WRITE(numicb,'("pe=",i3,x,a)') narea,'Dump triggered by excessive acceleration'  
     384              ELSE  
     385                  WRITE(*,'("pe=",i3,x,a)') narea,'Dump triggered by excessive acceleration'  
     386              ENDIF  
     387          ENDIF 
    378388      ENDIF 
    379389      ! 
  • NEMO/branches/UKMO/NEMO_4.0_GO8_package_text_diagnostics/src/OCE/ICB/icbini.F90

    r10888 r10948  
    8989      !                          ! note that we choose to do this on all processors since we cannot 
    9090      !                          ! predict where icebergs will be ahead of time 
    91       IF( nn_verbose_level > 0) THEN 
     91      numicb=-1 
     92      IF( nn_verbose_level > 0 .AND. nprint>0) THEN 
    9293         CALL ctl_opn( numicb, 'icebergs.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
     94      ELSE  
     95         IF(lwp) CALL ctl_opn( numicb, 'icebergs.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea )  
    9396      ENDIF 
    9497 
     
    200203      ENDIF 
    201204      ! 
    202       IF( nn_verbose_level > 0) THEN 
     205      IF( nn_verbose_level > 0  .AND. numicb.NE.-1 ) THEN 
    203206         WRITE(numicb,*) 'processor ', narea 
    204207         WRITE(numicb,*) 'jpi, jpj   ', jpi, jpj 
     
    262265         CALL iom_close( inum )                                     ! close file 
    263266         ! 
    264          IF( nn_verbose_level > 0) THEN 
     267         IF( nn_verbose_level > 0  .AND. numicb.NE.-1 ) THEN 
    265268            WRITE(numicb,*) 
    266269            WRITE(numicb,*) '          calving read in a file' 
     
    359362      ibergs = icb_utl_count() 
    360363      CALL mpp_sum('icbini', ibergs) 
    361       IF( nn_verbose_level > 0) THEN 
     364      IF( nn_verbose_level > 0  .AND. numicb.NE.-1 ) THEN 
    362365         WRITE(numicb,'(a,i6,a)') 'diamonds, icb_ini_gen: ',ibergs,' were generated' 
    363366      ENDIF 
  • NEMO/branches/UKMO/NEMO_4.0_GO8_package_text_diagnostics/src/OCE/ICB/icblbc.F90

    r10888 r10948  
    194194      ENDIF 
    195195 
    196       IF( nn_verbose_level >= 2 ) THEN 
     196      IF( nn_verbose_level >= 2 .AND. numicb .NE. -1) THEN 
    197197         WRITE(numicb,*) 'processor west  : ', ipe_W 
    198198         WRITE(numicb,*) 'processor east  : ', ipe_E 
     
    237237               this => this%next 
    238238               ibergs_to_send_e = ibergs_to_send_e + 1 
    239                IF( nn_verbose_level >= 4 ) THEN 
     239               IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    240240                  WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for transfer to east' 
    241241                  CALL flush( numicb ) 
     
    250250               this => this%next 
    251251               ibergs_to_send_w = ibergs_to_send_w + 1 
    252                IF( nn_verbose_level >= 4 ) THEN 
     252               IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    253253                  WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for transfer to west' 
    254254                  CALL flush( numicb ) 
     
    264264         END DO 
    265265      ENDIF 
    266       IF( nn_verbose_level >= 3) THEN 
     266      IF( nn_verbose_level >= 3 .AND. numicb .NE. -1) THEN 
    267267         WRITE(numicb,*) 'bergstep ',nktberg,' send ew: ', ibergs_to_send_e, ibergs_to_send_w 
    268268         CALL flush(numicb) 
     
    298298         ibergs_rcvd_from_w = INT( zwebergs(2) ) 
    299299      END SELECT 
    300       IF( nn_verbose_level >= 3) THEN 
     300      IF( nn_verbose_level >= 3 .AND. numicb .NE. -1 ) THEN 
    301301         WRITE(numicb,*) 'bergstep ',nktberg,' recv ew: ', ibergs_rcvd_from_w, ibergs_rcvd_from_e 
    302302         CALL flush(numicb) 
     
    312312         IF( ibergs_to_send_e > 0 .AND. l_isend ) CALL mpi_wait( iml_req1, iml_stat, iml_err ) 
    313313         DO i = 1, ibergs_rcvd_from_e 
    314             IF( nn_verbose_level >= 4 ) THEN 
     314            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1 ) THEN 
    315315               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_e%data(16,i)),' from east' 
    316316               CALL flush( numicb ) 
     
    332332         IF( ibergs_to_send_e > 0 .AND. l_isend ) CALL mpi_wait( iml_req3, iml_stat, iml_err ) 
    333333         DO i = 1, ibergs_rcvd_from_e 
    334             IF( nn_verbose_level >= 4 ) THEN 
     334            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1 ) THEN 
    335335               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_e%data(16,i)),' from east' 
    336336               CALL flush( numicb ) 
     
    339339         END DO 
    340340         DO i = 1, ibergs_rcvd_from_w 
    341             IF( nn_verbose_level >= 4 ) THEN 
     341            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1 ) THEN 
    342342               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_w%data(16,i)),' from west' 
    343343               CALL flush( numicb ) 
     
    353353         IF( ibergs_to_send_w > 0 .AND. l_isend ) CALL mpi_wait( iml_req4, iml_stat, iml_err ) 
    354354         DO i = 1, ibergs_rcvd_from_w 
    355             IF( nn_verbose_level >= 4 ) THEN 
     355            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1 ) THEN 
    356356               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_w%data(16,i)),' from west' 
    357357               CALL flush( numicb ) 
     
    375375               this => this%next 
    376376               ibergs_to_send_n = ibergs_to_send_n + 1 
    377                IF( nn_verbose_level >= 4 ) THEN 
     377               IF( nn_verbose_level >= 4 .AND. numicb .NE. -1 ) THEN 
    378378                  WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for transfer to north' 
    379379                  CALL flush( numicb ) 
     
    385385               this => this%next 
    386386               ibergs_to_send_s = ibergs_to_send_s + 1 
    387                IF( nn_verbose_level >= 4 ) THEN 
     387               IF( nn_verbose_level >= 4 .AND. numicb .NE. -1 ) THEN 
    388388                  WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for transfer to south' 
    389389                  CALL flush( numicb ) 
     
    396396         END DO 
    397397      ENDIF 
    398       if( nn_verbose_level >= 3) then 
     398      if( nn_verbose_level >= 3 .AND. numicb .NE. -1 ) then 
    399399         write(numicb,*) 'bergstep ',nktberg,' send ns: ', ibergs_to_send_n, ibergs_to_send_s 
    400400         call flush(numicb) 
     
    429429         ibergs_rcvd_from_s = INT( zsnbergs(2) ) 
    430430      END SELECT 
    431       if( nn_verbose_level >= 3) then 
     431      if( nn_verbose_level >= 3 .AND. numicb .NE. -1) then 
    432432         write(numicb,*) 'bergstep ',nktberg,' recv ns: ', ibergs_rcvd_from_s, ibergs_rcvd_from_n 
    433433         call flush(numicb) 
     
    443443         IF( ibergs_to_send_n > 0 .AND. l_isend ) CALL mpi_wait( iml_req1, iml_stat, iml_err ) 
    444444         DO i = 1, ibergs_rcvd_from_n 
    445             IF( nn_verbose_level >= 4 ) THEN 
     445            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1 ) THEN 
    446446               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_n%data(16,i)),' from north' 
    447447               CALL flush( numicb ) 
     
    463463         IF( ibergs_to_send_n > 0 .AND. l_isend ) CALL mpi_wait( iml_req3, iml_stat, iml_err ) 
    464464         DO i = 1, ibergs_rcvd_from_n 
    465             IF( nn_verbose_level >= 4 ) THEN 
     465            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    466466               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_n%data(16,i)),' from north' 
    467467               CALL flush( numicb ) 
     
    470470         END DO 
    471471         DO i = 1, ibergs_rcvd_from_s 
    472             IF( nn_verbose_level >= 4 ) THEN 
     472            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    473473               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_s%data(16,i)),' from south' 
    474474               CALL flush( numicb ) 
     
    484484         IF( ibergs_to_send_s > 0 .AND. l_isend ) CALL mpi_wait( iml_req4, iml_stat, iml_err ) 
    485485         DO i = 1, ibergs_rcvd_from_s 
    486             IF( nn_verbose_level >= 4 ) THEN 
     486            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    487487               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_s%data(16,i)),' from south' 
    488488               CALL flush( numicb ) 
     
    497497         i = ( ibergs_rcvd_from_n + ibergs_rcvd_from_s + ibergs_rcvd_from_e + ibergs_rcvd_from_w ) - & 
    498498             ( ibergs_to_send_n + ibergs_to_send_s + ibergs_to_send_e + ibergs_to_send_w ) 
    499          IF( ibergs_end-(ibergs_start+i) .NE. 0 ) THEN 
     499         IF( ibergs_end-(ibergs_start+i) .NE. 0 .AND. numicb .NE. -1) THEN 
    500500            WRITE( numicb,*   ) 'send_bergs_to_other_pes: net change in number of icebergs' 
    501501            WRITE( numicb,1000) 'send_bergs_to_other_pes: ibergs_end=', & 
     
    532532      IF( npolj /= 0 .AND. jpni > 1 ) CALL icb_lbc_mpp_nfld( ) 
    533533 
    534       IF( nn_verbose_level > 0 ) THEN 
     534      IF( nn_verbose_level > 0 .AND. numicb .NE. -1) THEN 
    535535         i = 0 
    536536         this => first_berg 
     
    544544                ijne .GT. mjg(nicbej)) THEN 
    545545               i = i + 1 
    546                WRITE(numicb,*) 'berg lost in halo: ', this%number(:),iine,ijne 
    547                WRITE(numicb,*) '                   ', nimpp, njmpp 
    548                WRITE(numicb,*) '                   ', nicbdi, nicbei, nicbdj, nicbej 
    549                CALL flush( numicb ) 
     546               IF(numicb .NE. -1) THEN  
     547                   WRITE(numicb,*) 'berg lost in halo: ', this%number(:),iine,ijne 
     548                   WRITE(numicb,*) '                   ', nimpp, njmpp 
     549                   WRITE(numicb,*) '                   ', nicbdi, nicbei, nicbdj, nicbej 
     550                   CALL flush( numicb ) 
     551               ENDIF 
    550552            ENDIF 
    551553            this => this%next 
     
    553555         CALL mpp_sum('icblbc', i) 
    554556         IF( i .GT. 0 ) THEN 
    555             WRITE( numicb,'(a,i4)') 'send_bergs_to_other_pes: # of bergs outside computational domain = ',i 
     557            IF(numicb .NE. -1) THEN 
     558                WRITE( numicb,'(a,i4)') 'send_bergs_to_other_pes: # of bergs outside computational domain = ',i 
     559            ELSE 
     560                WRITE( *,'(a,i4)') 'send_bergs_to_other_pes: # of bergs outside computational domain = ',i 
     561            ENDIF 
    556562            CALL ctl_stop('send_bergs_to_other_pes:  there are bergs still in halos!') 
    557563         ENDIF ! root_pe 
     
    656662             IF( nicbfldproc(jjn) .eq. INT(znbergs(1)) ) EXIT 
    657663            END DO 
    658             IF( jjn .GT. jpni .AND. nn_verbose_level > 0 ) write(numicb,*) 'ICB ERROR' 
     664            IF( jjn .GT. jpni .AND. nn_verbose_level > 0 .AND. numicb .NE. -1 ) write(numicb,*) 'ICB ERROR' 
    659665            nicbfldexpect(jjn) = INT( znbergs(2) ) 
    660666            !IF ( nicbfldexpect(jjn) .GT. 0 .AND. nn_verbose_level > 0 ) write(numicb,*) 'ICB expecting ',nicbfldexpect(jjn),' from ', nicbfldproc(jjn) 
     
    711717                           tmpberg => this 
    712718                           ibergs_to_send = ibergs_to_send + 1 
    713                            IF( nn_verbose_level >= 4 ) THEN 
     719                           IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    714720                              WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for north fold' 
    715721                              CALL flush( numicb ) 
     
    724730               END DO 
    725731            ENDIF 
    726             if( nn_verbose_level >= 3) then 
     732            if( nn_verbose_level >= 3 .AND. numicb .NE. -1) then 
    727733               write(numicb,*) 'bergstep ',nktberg,' send nfld: ', ibergs_to_send 
    728734               call flush(numicb) 
     
    755761            ! 
    756762            DO jk = 1, ibergs_to_rcv 
    757                IF( nn_verbose_level >= 4 ) THEN 
     763               IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    758764                  WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_f%data(16,jk)),' from north fold' 
    759765                  CALL flush( numicb ) 
  • NEMO/branches/UKMO/NEMO_4.0_GO8_package_text_diagnostics/src/OCE/ICB/icbrst.F90

    r10897 r10948  
    138138      ! Sanity checks 
    139139      jn = icb_utl_count() 
    140       IF ( lwp .AND. nn_verbose_level >= 0 )   & 
     140      IF ( lwp .AND. nprint > 0 )   & 
    141141         WRITE(numout,'(2(a,i5))') 'icebergs, read_restart_bergs: # bergs =',jn,' on PE',narea-1 
    142142      IF( lk_mpp ) THEN 
     
    145145         CALL mpp_sum('icbrst', jn) 
    146146      ENDIF 
    147       IF( lwp )   WRITE(numout,'(a,i5,a,i5,a)') 'icebergs, icb_rst_read: there were',ibergs_in_file,   & 
    148          &                                    ' bergs in the restart file and', jn,' bergs have been read' 
     147      IF( lwp .AND. nprint > 0 )   & 
     148          WRITE(numout,'(a,i5,a,i5,a)') 'icebergs, icb_rst_read: there were',ibergs_in_file,   & 
     149         &                              ' bergs in the restart file and', jn,' bergs have been read' 
    149150      ! 
    150151      ! Confirm that all areas have a suitable base for assigning new iceberg 
     
    177178      ENDIF 
    178179      ! 
    179       IF( lwp .AND. nn_verbose_level >= 0 )  WRITE(numout,'(a)') 'icebergs, icb_rst_read: completed' 
     180      IF( lwp .AND. nprint >= 0 )  WRITE(numout,'(a)') 'icebergs, icb_rst_read: completed' 
    180181      ! 
    181182   END SUBROUTINE icb_rst_read 
     
    226227            WRITE(cl_filename,'(A,"_icebergs_",A,"_restart.nc")') TRIM(cexper), TRIM(ADJUSTL(clkt)) 
    227228         ENDIF 
    228          IF ( lwp .AND. nn_verbose_level >= 0) WRITE(numout,'(2a)') 'icebergs, write_restart: creating ',  & 
     229         IF ( lwp .AND. nprint > 0) WRITE(numout,'(2a)') 'icebergs, write_restart: creating ',  & 
    229230           &                                                         TRIM(cl_path)//TRIM(cl_filename) 
    230231    
     
    361362            ENDIF 
    362363         ENDDO 
    363          IF( lwp ) WRITE(numout,*) 'file: ',TRIM(cl_path)//TRIM(cl_filename),' var: stored_ice  written' 
     364         IF( lwp .AND. nprint > 1 ) WRITE(numout,*) 'file: ',TRIM(cl_path)//TRIM(cl_filename),' var: stored_ice  written' 
    364365    
    365366         nret = NF90_PUT_VAR( ncid, nkountid, num_bergs(:) ) 
     
    368369         nret = NF90_PUT_VAR( ncid, nsheatid, berg_grid%stored_heat(:,:) ) 
    369370         IF (nret .ne. NF90_NOERR) CALL ctl_stop('icebergs, write_restart: nf_put_var stored_heat failed') 
    370          IF( lwp ) WRITE(numout,*) 'file: ',TRIM(cl_path)//TRIM(cl_filename),' var: stored_heat written' 
     371         IF( lwp .AND. nprint > 1 ) WRITE(numout,*) 'file: ',TRIM(cl_path)//TRIM(cl_filename),' var: stored_heat written' 
    371372    
    372373         nret = NF90_PUT_VAR( ncid, ncalvid , src_calving(:,:) ) 
     
    374375         nret = NF90_PUT_VAR( ncid, ncalvhid, src_calving_hflx(:,:) ) 
    375376         IF (nret .ne. NF90_NOERR) CALL ctl_stop('icebergs, write_restart: nf_put_var calving_hflx failed') 
    376          IF( lwp ) WRITE(numout,*) 'file: ',TRIM(cl_path)//TRIM(cl_filename),' var: calving written' 
     377         IF( lwp .AND. nprint > 1 ) WRITE(numout,*) 'file: ',TRIM(cl_path)//TRIM(cl_filename),' var: calving written' 
    377378    
    378379         IF ( ASSOCIATED(first_berg) ) THEN 
     
    416417         ! Sanity check 
    417418         jn = icb_utl_count() 
    418          IF ( lwp .AND. nn_verbose_level >= 0)   & 
     419         IF ( lwp .AND. nprint > 0)   & 
    419420            WRITE(numout,'(2(a,i5))') 'icebergs, icb_rst_write: # bergs =',jn,' on PE',narea-1 
    420421         IF( lk_mpp ) THEN 
    421422            CALL mpp_sum('icbrst', jn) 
    422423         ENDIF 
    423          IF(lwp)   WRITE(numout,'(a,i5,a,i5,a)') 'icebergs, icb_rst_write: ', jn,   & 
     424         IF(lwp .AND. nprint >= 0 )   WRITE(numout,'(a,i5,a,i5,a)') 'icebergs, icb_rst_write: ', jn,   & 
    424425            &                                    ' bergs in total have been written at timestep ', kt 
    425426         ! 
  • NEMO/branches/UKMO/NEMO_4.0_GO8_package_text_diagnostics/src/OCE/ICB/icbstp.F90

    r10888 r10948  
    8686      !                                   !* write out time 
    8787      ll_verbose = .FALSE. 
    88       IF( nn_verbose_write > 0 .AND. MOD( kt-1 , nn_verbose_write ) == 0 )   ll_verbose = ( nn_verbose_level >= 0 ) 
     88      IF( nn_verbose_write > 0 .AND. MOD( kt-1 , nn_verbose_write ) == 0 ) & 
     89         ll_verbose = ( nn_verbose_level >= 0 ) .AND. (numicb /= -1) 
    8990      ! 
    9091      IF( ll_verbose )   WRITE(numicb,9100) nktberg, ndastp, nsec_day 
     
    163164      IF(lwp) WRITE(numout,'(a,i6)') 'icebergs: icb_end complete', narea 
    164165      ! 
    165       IF( nn_verbose_level > 0 ) THEN 
     166      IF( nn_verbose_level > 0 .AND. numicb.NE.-1 ) THEN 
    166167         CALL flush( numicb ) 
    167168         CLOSE( numicb ) 
  • NEMO/branches/UKMO/NEMO_4.0_GO8_package_text_diagnostics/src/OCE/ICB/icbtrj.F90

    r10888 r10948  
    8585         &                        TRIM(ADJUSTL(cldate_ini)), TRIM(ADJUSTL(cldate_end)) 
    8686      ENDIF 
    87       IF( lwp .AND. nn_verbose_level >= 0 )   WRITE(numout,'(2a)') 'icebergs, icb_trj_init: creating ',TRIM(cl_filename) 
     87      IF( lwp .AND. nprint > 2 )   WRITE(numout,'(2a)') 'icebergs, icb_trj_init: creating ',TRIM(cl_filename) 
    8888 
    8989      iret = NF90_CREATE( TRIM(cl_filename), NF90_CLOBBER, ntrajid ) 
     
    248248         this => this%next 
    249249      END DO 
    250       IF( lwp .AND. nn_verbose_level > 0 )   WRITE(numout,*) 'trajectory write to frame ', jn 
     250      IF( lwp .AND. nprint > 0 )   WRITE(numout,*) 'trajectory write to frame ', jn 
    251251      num_traj = jn 
    252252      ! 
  • NEMO/branches/UKMO/NEMO_4.0_GO8_package_text_diagnostics/src/OCE/ICB/icbutl.F90

    r10888 r10948  
    648648      IF (nn_verbose_level == 0) RETURN 
    649649      pt => berg%current_point 
    650       WRITE(numicb, 9200) kt, berg%number(1), & 
     650      IF(numicb.NE.-1) THEN 
     651          WRITE(numicb, 9200) kt, berg%number(1), & 
    651652                   pt%xi, pt%yj, pt%lon, pt%lat, pt%uvel, pt%vvel,  & 
    652653                   pt%uo, pt%vo, pt%ua, pt%va, pt%ui, pt%vi 
    653       CALL flush( numicb ) 
     654          CALL flush( numicb ) 
     655      ENDIF 
    654656 9200 FORMAT(5x,i5,2x,i10,6(2x,2f10.4)) 
    655657      ! 
     
    673675      IF (nn_verbose_level == 0) RETURN 
    674676      this => first_berg 
    675       IF( ASSOCIATED(this) ) THEN 
     677      IF( ASSOCIATED(this) .AND. numicb.NE.-1 ) THEN 
    676678         WRITE(numicb,'(a," pe=(",i3,")")' ) cd_label, narea 
    677679         WRITE(numicb,'(a8,4x,a6,12x,a5,15x,a7,19x,a3,17x,a5,17x,a5,17x,a5)' )   & 
     
    685687      inbergs = ibergs 
    686688      CALL mpp_sum('icbutl', inbergs) 
    687       IF( ibergs > 0 )   WRITE(numicb,'(a," there are",i5," bergs out of",i6," on PE ",i4)')   & 
     689      IF( ibergs > 0 .AND. numicb.NE.-1 )   WRITE(numicb,'(a," there are",i5," bergs out of",i6," on PE ",i4)')   & 
    688690         &                                  cd_label, ibergs, inbergs, narea 
    689691      ! 
  • NEMO/branches/UKMO/NEMO_4.0_GO8_package_text_diagnostics/src/OCE/nemogcm.F90

    r10888 r10948  
    295295         CALL usr_def_nam( cltxt2, clnam, cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 
    296296      ENDIF 
     297      nprint    = nn_print          ! convert DOCTOR namelist names into OLD names 
    297298      ! 
    298299      ! 
     
    538539      ENDIF 
    539540      ! 
    540       nprint    = nn_print          ! convert DOCTOR namelist names into OLD names 
    541541      nictls    = nn_ictls 
    542542      nictle    = nn_ictle 
Note: See TracChangeset for help on using the changeset viewer.