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 13077 for NEMO/branches/2020/r4.0-HEAD_ticket2425/src/OCE/LBC/lib_mpp.F90 – NEMO

Ignore:
Timestamp:
2020-06-09T17:00:38+02:00 (4 years ago)
Author:
davestorkey
Message:

branches/2020/r4.0-HEAD_ticket2425: update to r13076 of r4.0-HEAD

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/r4.0-HEAD_ticket2425/src/OCE/LBC/lib_mpp.F90

    r12518 r13077  
    10841084      CHARACTER(len=*), INTENT(in   ), OPTIONAL ::        cd2, cd3, cd4, cd5 
    10851085      CHARACTER(len=*), INTENT(in   ), OPTIONAL ::   cd6, cd7, cd8, cd9, cd10 
     1086      ! 
     1087      INTEGER ::   inum 
    10861088      !!---------------------------------------------------------------------- 
    10871089      ! 
    10881090      nstop = nstop + 1 
    10891091      ! 
    1090       ! force to open ocean.output file if not already opened 
    1091       IF( numout == 6 ) CALL ctl_opn( numout, 'ocean.output', 'APPEND', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 
     1092      IF( cd1 == 'STOP' .AND. narea /= 1 ) THEN    ! Immediate stop: add an arror message in 'ocean.output' file 
     1093         CALL ctl_opn( inum, 'ocean.output', 'APPEND', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 
     1094         WRITE(inum,*) 
     1095         WRITE(inum,*) ' ==>>>   Look for "E R R O R" messages in all existing *ocean.output* files' 
     1096         CLOSE(inum) 
     1097      ENDIF 
     1098      IF( numout == 6 ) THEN                       ! force to open ocean.output file if not already opened 
     1099         CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE., narea ) 
     1100      ENDIF 
    10921101      ! 
    10931102                            WRITE(numout,*) 
     
    11171126         WRITE(numout,*)  'huge E-R-R-O-R : immediate stop' 
    11181127         WRITE(numout,*)   
     1128         CALL FLUSH(numout) 
     1129         CALL SLEEP(60)   ! make sure that all output and abort files are written by all cores. 60s should be enough... 
    11191130         CALL mppstop( ld_abort = .true. ) 
    11201131      ENDIF 
     
    11791190      ! 
    11801191      CHARACTER(len=80) ::   clfile 
     1192      CHARACTER(LEN=10) ::   clfmt            ! writing format 
    11811193      INTEGER           ::   iost 
     1194      INTEGER           ::   idg              ! number of digits 
    11821195      !!---------------------------------------------------------------------- 
    11831196      ! 
     
    11861199      clfile = TRIM(cdfile) 
    11871200      IF( PRESENT( karea ) ) THEN 
    1188          IF( karea > 1 )   WRITE(clfile, "(a,'_',i4.4)") TRIM(clfile), karea-1 
     1201         IF( karea > 1 ) THEN 
     1202            ! Warning: jpnij is maybe not already defined when calling ctl_opn -> use mppsize instead of jpnij 
     1203            idg = MAX( INT(LOG10(REAL(MAX(1,mppsize-1),wp))) + 1, 4 )      ! how many digits to we need to write? min=4, max=9 
     1204            WRITE(clfmt, "('(a,a,i', i1, '.', i1, ')')") idg, idg          ! '(a,a,ix.x)' 
     1205            WRITE(clfile, clfmt) TRIM(clfile), '_', karea-1 
     1206         ENDIF 
    11891207      ENDIF 
    11901208#if defined key_agrif 
     
    12061224         &  OPEN(UNIT=knum,FILE='NUL', FORM=cdform, ACCESS=cdacce, STATUS=cdstat                      , ERR=100, IOSTAT=iost )    
    12071225      IF( iost == 0 ) THEN 
    1208          IF(ldwp) THEN 
     1226         IF(ldwp .AND. kout > 0) THEN 
    12091227            WRITE(kout,*) '     file   : ', TRIM(clfile),' open ok' 
    12101228            WRITE(kout,*) '     unit   = ', knum 
Note: See TracChangeset for help on using the changeset viewer.