- Timestamp:
- 2020-06-09T17:00:38+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/r4.0-HEAD_ticket2425/src/OCE/LBC/lib_mpp.F90
r12518 r13077 1084 1084 CHARACTER(len=*), INTENT(in ), OPTIONAL :: cd2, cd3, cd4, cd5 1085 1085 CHARACTER(len=*), INTENT(in ), OPTIONAL :: cd6, cd7, cd8, cd9, cd10 1086 ! 1087 INTEGER :: inum 1086 1088 !!---------------------------------------------------------------------- 1087 1089 ! 1088 1090 nstop = nstop + 1 1089 1091 ! 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 1092 1101 ! 1093 1102 WRITE(numout,*) … … 1117 1126 WRITE(numout,*) 'huge E-R-R-O-R : immediate stop' 1118 1127 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... 1119 1130 CALL mppstop( ld_abort = .true. ) 1120 1131 ENDIF … … 1179 1190 ! 1180 1191 CHARACTER(len=80) :: clfile 1192 CHARACTER(LEN=10) :: clfmt ! writing format 1181 1193 INTEGER :: iost 1194 INTEGER :: idg ! number of digits 1182 1195 !!---------------------------------------------------------------------- 1183 1196 ! … … 1186 1199 clfile = TRIM(cdfile) 1187 1200 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 1189 1207 ENDIF 1190 1208 #if defined key_agrif … … 1206 1224 & OPEN(UNIT=knum,FILE='NUL', FORM=cdform, ACCESS=cdacce, STATUS=cdstat , ERR=100, IOSTAT=iost ) 1207 1225 IF( iost == 0 ) THEN 1208 IF(ldwp ) THEN1226 IF(ldwp .AND. kout > 0) THEN 1209 1227 WRITE(kout,*) ' file : ', TRIM(clfile),' open ok' 1210 1228 WRITE(kout,*) ' unit = ', knum
Note: See TracChangeset
for help on using the changeset viewer.