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 for NEMO/branches/UKMO/NEMO_4.0_GO8_package_text_diagnostics/src/OCE/ICB/icbdia.F90 – NEMO

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

GMED 462 iceberg model

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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      ! 
Note: See TracChangeset for help on using the changeset viewer.