diff --git a/src/LIB/SURCOUCHE/src/mode_msg.f90 b/src/LIB/SURCOUCHE/src/mode_msg.f90 index ed9314bf2154133d27ca0dc95e7a1caaa67a9fa1..b2c50945cf3e5ff1808acb6b6679f0f8edcbddb9 100644 --- a/src/LIB/SURCOUCHE/src/mode_msg.f90 +++ b/src/LIB/SURCOUCHE/src/mode_msg.f90 @@ -82,6 +82,7 @@ CHARACTER(LEN=*), dimension(:), INTENT(IN) :: HMSG !Message ! character(len=2) :: ysz CHARACTER(LEN=2) :: YPRC +character(len=8) :: yprcnb CHARACTER(LEN=9) :: YPRE CHARACTER(LEN=30) :: YSUBR character(len=:), allocatable :: yformat @@ -182,22 +183,22 @@ if ( lverb_allprc ) then if ( gwrite_stdout ) then if ( ilines == 1 ) then yformat = '(' // yprc // ','': '',a9,a30,a)' - Write( unit = output_unit, fmt = yformat ) ip, ypre, ysubr, hmsg + Write( unit = output_unit, fmt = yformat ) ip - 1, ypre, ysubr, hmsg else yformat = '(' // yprc // ','': '',a9,a30,' // ysz // ',''/'',' // ysz // ','': '',a)' do ji = 1, ilines - Write( unit = output_unit, fmt = yformat ) ip, ypre, ysubr, ji, ilines, Trim( hmsg(ji) ) + Write( unit = output_unit, fmt = yformat ) ip - 1, ypre, ysubr, ji, ilines, Trim( hmsg(ji) ) end do end if end if if ( gwrite_outlst ) then if ( ilines == 1 ) then yformat = '(' // yprc // ','': '',a9,a30,a)' - Write( unit = ilu, fmt = yformat) ip, ypre, ysubr, hmsg + Write( unit = ilu, fmt = yformat) ip - 1, ypre, ysubr, hmsg else yformat = '(' // yprc // ','': '',a9,a30,' // ysz // ',''/'',' // ysz // ','': '',a)' do ji = 1, ilines - Write( unit = ilu, fmt = yformat) ip, ypre, ysubr, ji, ilines, Trim( hmsg(ji) ) + Write( unit = ilu, fmt = yformat) ip - 1, ypre, ysubr, ji, ilines, Trim( hmsg(ji) ) end do end if end if @@ -225,11 +226,13 @@ else end if ! IF (KVERB<=IABORTLEVEL) THEN + Write( yprcnb, '( i8 )' ) ip - 1 + IF (GWRITE_STDOUT) WRITE(UNIT=OUTPUT_UNIT,FMT=*) 'ABORT asked by application '//TRIM(CPROGRAM) IF (GWRITE_OUTLST) WRITE(UNIT=ILU, FMT=*) 'ABORT asked by application '//TRIM(CPROGRAM) !Every process write on the error unit. This is necessary if the abort is done by an other process than 0. - WRITE(UNIT=ERROR_UNIT,FMT="(A8,': ',A9,A30,A)") ADJUSTL(YPRC),YPRE,YSUBR,HMSG - WRITE(UNIT=ERROR_UNIT,FMT="(A8,': ',A)") ADJUSTL(YPRC),'ABORT asked by application '//TRIM(CPROGRAM) + WRITE(UNIT=ERROR_UNIT,FMT="(A8,': ',A9,A30,A)") ADJUSTL(yprcnb),YPRE,YSUBR,HMSG + WRITE(UNIT=ERROR_UNIT,FMT="(A8,': ',A)") ADJUSTL(yprcnb),'ABORT asked by application '//TRIM(CPROGRAM) #if 0 !Problem: loop dependency between MODE_MSG and MODE_FM (IO_FILE_CLOSE_ll call PRINT_MSG) NIO_VERB = 0 !To not get further messages (ABORT should be the last for readability)