diff --git a/src/MNH/condensation.f90 b/src/MNH/condensation.f90
index f47a1c3cd5a2324e57d234ac6a90af48fb50b034..ec60d40671691d994a02f4b1f4981f4cc70c06aa 100644
--- a/src/MNH/condensation.f90
+++ b/src/MNH/condensation.f90
@@ -135,10 +135,12 @@ END MODULE MODI_CONDENSATION
 USE MODD_CST
 USE MODD_PARAMETERS
 USE MODD_RAIN_ICE_PARAM, ONLY : XCRIAUTC, XCRIAUTI, XACRIAUTI, XBCRIAUTI
-USE MODI_COMPUTE_FRAC_ICE
 !
 use mode_msg
 !
+USE MODI_COMPUTE_FRAC_ICE
+!
+!
 IMPLICIT NONE
 !
 !*       0.1   Declarations of dummy arguments :
@@ -501,9 +503,9 @@ DO JK=IKTB,IKTE
           PSIGRC(JI,JJ,JK) = PSIGRC(JI,JJ,JK)* MIN( 3. , MAX(1.,1.-ZQ1) )
       ELSEIF(HLAMBDA3=='NONE') THEN
       ELSE
-        call Print_msg( NVERB_FATAL, 'GEN', 'CONDENSATION', 'INVALID VALUE FOR HLAMBDA3' )        
+        call Print_msg( NVERB_FATAL, 'GEN', 'CONDENSATION', 'invalid value for HLAMBDA3: ' // TRIM( HLAMBDA3 ) )
       ENDIF
-      
+
     END DO
   END DO
 END DO
diff --git a/src/MNH/eol_alm.f90 b/src/MNH/eol_alm.f90
index a6c2868d664f6b8889f6ab4da7e71a7d8127d1d9..6dc910246b490c4ad23ad58b3233bb75e4fe07f9 100644
--- a/src/MNH/eol_alm.f90
+++ b/src/MNH/eol_alm.f90
@@ -280,7 +280,6 @@ IF (.NOT.LTIMESPLIT) THEN
 ! If time step too high : abort
  IF (PTSTEP > ZMAXTSTEP) THEN
   CALL EOL_WTCFL_ERROR(ZMAXTSTEP)
-  STOP
 ! If time step ok, continue
  ELSE
   INBSUBCOUNT = 1
diff --git a/src/MNH/eol_error.f90 b/src/MNH/eol_error.f90
index 26e1232b2e5636d6dc0cb74e3479d267a5a65ed5..c6c221f9f4a5ba6818a6a8242084a253b3ba518d 100644
--- a/src/MNH/eol_error.f90
+++ b/src/MNH/eol_error.f90
@@ -68,17 +68,11 @@ USE MODD_LUNIT_n, ONLY: TLUOUT
 USE MODE_IO_FILE, ONLY: IO_File_close
 USE MODE_MSG
 !
-CHARACTER(LEN=*),  INTENT(IN)    :: HFILE    ! file read   
-!
-WRITE(TLUOUT%NLU,*) ''
-WRITE(TLUOUT%NLU,'(A)')                                                &
- ' EOL Initialization error. Program aborted.'
-WRITE(TLUOUT%NLU,'(A,A,A)')                                            &
- ' File "', TRIM(HFILE), '" not found in directory.'
-WRITE(TLUOUT%NLU,*) ''
+CHARACTER(LEN=*),  INTENT(IN)    :: HFILE    ! file read
 !
-CALL IO_File_close(TLUOUT)
-CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'EOL_CSVNOTFOUND_ERROR', 'CSV file for wind turbine missing' )
+CMNHMSG(1) = 'EOL Initialization error: CSV file for wind turbine missing'
+CMNHMSG(2) = 'File: ' // TRIM( HFILE ) // ' not found'
+CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'EOL_CSVNOTFOUND_ERROR' )
 !
 END SUBROUTINE EOL_CSVNOTFOUND_ERROR
 !#########################################################
@@ -94,17 +88,14 @@ USE MODE_MSG
 CHARACTER(LEN=*),  INTENT(IN)    :: HFILE    ! file read   
 INTEGER,           INTENT(IN)    :: KNBLINE  ! number of lines
 !
-WRITE(TLUOUT%NLU,*) ''
-WRITE(TLUOUT%NLU,'(A)')                                                &
- ' EOL Initialization error. Program aborted.'
-WRITE(TLUOUT%NLU,'(I2,A,A,A)')                                         &
- KNBLINE, ' line have been read in file: ', TRIM(HFILE), '.'
-WRITE(TLUOUT%NLU,'(A)')                                                &
- ' At least 2 should be there: header + data.'
-WRITE(TLUOUT%NLU,*) ''
+CHARACTER(LEN=8) :: YLINES
 !
-CALL IO_File_close(TLUOUT)
-CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'EOL_CSVEMPTY_ERROR', 'CSV file for wind turbine missing data' )
+WRITE( YLINES, '( I8 )' ) KNBLINE
+!
+CMNHMSG(1) = 'EOL Initialization error: missing data in CSV file for wind turbine'
+CMNHMSG(2) = TRIM( YLINES ) // ' line(s) have been read in file ' // TRIM( HFILE )
+CMNHMSG(3) = 'At least 2 should be there: header + data'
+CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'EOL_CSVEMPTY_ERROR' )
 !
 END SUBROUTINE EOL_CSVEMPTY_ERROR
 !#########################################################
@@ -119,17 +110,10 @@ USE MODE_MSG
 CHARACTER(LEN=*),  INTENT(IN)    :: HFILE    ! file read   
 CHARACTER(LEN=*),  INTENT(IN)    :: HVAR     ! missing data
 !
-WRITE(TLUOUT%NLU,*) ''
-WRITE(TLUOUT%NLU,'(A)')                                      &
- ' EOL Initialization error. Program aborted.'
-WRITE(TLUOUT%NLU,'(A,A,A)')                                  &
- ' I am looking for the characteristics of ', TRIM(HVAR), '.'
-WRITE(TLUOUT%NLU,'(A,A)')                                    &
- ' But I cannot find them in file: ', TRIM(HFILE)
-WRITE(TLUOUT%NLU,*) ''
-!
-CALL IO_File_close(TLUOUT)
-CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'EOL_AIRFOILNOTFOUND_ERROR', 'File for Airfol missing' )
+CMNHMSG(1) = 'EOL Initialization error: missing data for airfoil'
+CMNHMSG(2) = 'Characteristics for ' // TRIM( HVAR )
+CMNHMSG(3) = 'not found in file ' // TRIM( HFILE )
+CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'EOL_AIRFOILNOTFOUND_ERROR' )
 !
 END SUBROUTINE EOL_AIRFOILNOTFOUND_ERROR
 !#########################################################
@@ -141,23 +125,17 @@ USE MODD_LUNIT_n, ONLY: TLUOUT
 USE MODE_IO_FILE, ONLY: IO_File_close
 USE MODE_MSG
 !
-REAL,    INTENT(IN) :: PMAXTSTEP    ! maximum acceptable time-step 
+REAL,    INTENT(IN) :: PMAXTSTEP    ! maximum acceptable time-step
+!
+CHARACTER(LEN=10) :: YMAXTSTEP
 ! 
-WRITE(TLUOUT%NLU,*) ''
-WRITE(TLUOUT%NLU,'(A)')                                            &
- 'Sorry but I had to stop the simulation. '
-WRITE(TLUOUT%NLU,'(A)')                                            &
- 'The time step XTSTEP is too large: '
-WRITE(TLUOUT%NLU,'(A)')                                            &
- 'the blades can jump over one or several cells. '
-WRITE(TLUOUT%NLU,'(A)')                                            &
- 'Please, turn on the time-splitting method (LTIMESPLIT=.TRUE.), '
-WRITE(TLUOUT%NLU,'(A,F10.8,A)')                                    &
- 'or decrease XTSTEP to a value lower than ', PMAXTSTEP, ' sec.'
-WRITE(TLUOUT%NLU,*) ''
-!
-CALL IO_File_close(TLUOUT)
-CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'EOL_WTCFL_ERROR', 'WRONG TIME-STEP with wind turbine' )
+WRITE( YMAXTSTEP, '( F10.8 )' ) PMAXTSTEP
+!
+CMNHMSG(1) = 'EOL Initialization error: wrong time-step with wind turbine'
+CMNHMSG(2) = 'Time-step XTSTEP too large: blades can jump over one or several cells'
+CMNHMSG(3) = 'Turn on the time-splitting method (LTIMESPLIT=.TRUE.)'
+CMNHMSG(4) = 'or decrease XTSTEP to a value lower than ' // TRIM(YMAXTSTEP) // ' s'
+CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'EOL_WTCFL_ERROR' )
 !
 END SUBROUTINE EOL_WTCFL_ERROR
 !#########################################################
@@ -172,21 +150,16 @@ USE MODD_EOL_SHARED_IO, ONLY: CBLADE_CSVDATA
 !
 REAL,    INTENT(IN) :: PDELTARAD    ! hals section width 
 ! 
-WRITE(TLUOUT%NLU,*) ''
-WRITE(TLUOUT%NLU,'(A)')                                            &
- ' EOL Initialization error. Program aborted.'
-WRITE(TLUOUT%NLU,'(A,F4.2,A)')                                     &
- 'A blade element center position is set to ', PDELTARAD, '.'
-WRITE(TLUOUT%NLU,'(A)')                                            &
- 'As a blade element center, it has to be set in ]0%;100%[. '
-WRITE(TLUOUT%NLU,'(A,A,A)')                                        &
- 'Please, check your blade data in ', TRIM(CBLADE_CSVDATA), ','
-WRITE(TLUOUT%NLU,'(A)')                                            &
-'and make sure it is element centers (not nodes) along the blade.'
-WRITE(TLUOUT%NLU,*) ''
-!
-CALL IO_File_close(TLUOUT)
-CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'EOL_BLADEDATA_ERROR', 'ERROR IN BLADE DATA' )
+CHARACTER(LEN=4) :: YDELTARAD
+!
+WRITE( YDELTARAD, '( F4.2 )' ) PDELTARAD
+!
+CMNHMSG(1) = 'EOL Initialization error: error in blade data'
+CMNHMSG(2) = 'A blade element center position is set to ' // TRIM( YDELTARAD )
+CMNHMSG(3) = 'As a blade element center, it has to be set in ]0%;100%['
+CMNHMSG(4) = 'Please, check your blade data in ' // TRIM(CBLADE_CSVDATA)
+CMNHMSG(5) = 'and make sure it is element centers (not nodes) along the blade'
+CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'EOL_BLADEDATA_ERROR' )
 !
 END SUBROUTINE EOL_BLADEDATA_ERROR
 !#########################################################
diff --git a/src/MNH/eol_reader.f90 b/src/MNH/eol_reader.f90
index 829a1db633a6270ce4ae40b472d44d8d42f9f1c3..8d5ecc6cfea05ea462138d0f8472d23083e0d7ce 100644
--- a/src/MNH/eol_reader.f90
+++ b/src/MNH/eol_reader.f90
@@ -612,6 +612,8 @@ FUNCTION GET_AIRFOIL_ID(TPTURBINE,TPBLADE,TPAIRFOIL,PRADIUS)
 !
 USE MODD_EOL_ALM, ONLY : TURBINE, BLADE, AIRFOIL
 !
+USE MODE_MSG
+!
 IMPLICIT NONE
 !
 TYPE(TURBINE),                INTENT(IN)  :: TPTURBINE    ! stored turbine data
@@ -620,6 +622,8 @@ TYPE(AIRFOIL), DIMENSION(:),  INTENT(IN)  :: TPAIRFOIL    ! stored arifoil data
 REAL,                         INTENT(IN)  :: PRADIUS      ! Radius position studied
 INTEGER                                   :: GET_AIRFOIL_ID
 !
+CHARACTER(LEN=:), ALLOCATABLE             :: YMSG
+CHARACTER(LEN=10)                         :: YRADIUS, YRMIN, YRMAX
 INTEGER                                   :: INB_BDATA    ! Total number of blade data
 INTEGER                                   :: JBDATA       ! Index over blade's data
 INTEGER                                   :: JA           ! Index over diffetents airfoils
@@ -627,9 +631,11 @@ REAL, DIMENSION(SIZE(TPBLADE%XRAD))       :: ZDELTARAD    ! 2*ZDELTARAD = sectio
 !
 ! Checking data
 IF ((PRADIUS < TPTURBINE%XR_MIN) .OR. (PRADIUS > TPTURBINE%XR_MAX)) THEN
- PRINT*, 'The studied radius R = ', PRADIUS, ' is out of blade range : [', &
-          TPTURBINE%XR_MIN, ';', TPTURBINE%XR_MAX, ']'
- RETURN
+  WRITE( YRADIUS, '( F10.2 )' ) PRADIUS
+  WRITE( YRMIN,   '( F10.2 )' ) TPTURBINE%XR_MIN
+  WRITE( YRMAX,   '( F10.2 )' ) TPTURBINE%XR_MAX
+  YMSG = 'The studied radius R=' // TRIM( YRADIUS ) // ' is out of blade range : [' // TRIM( YRMIN ) // ';' // TRIM( YRMAX ) // ']'
+  CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'GET_AIRFOIL_ID', YMSG )
 END IF
 !
 ! Preliminaires
diff --git a/src/MNH/ice4_compute_pdf.f90 b/src/MNH/ice4_compute_pdf.f90
index b2647c91faf73c73436cfec93331f4ecc2753679..9243fd65e65f5ecf784644620862f2f632cf7d7a 100644
--- a/src/MNH/ice4_compute_pdf.f90
+++ b/src/MNH/ice4_compute_pdf.f90
@@ -316,8 +316,7 @@ ELSEIF(HSUBG_AUCV_RI=='ADJU') THEN
   ENDWHERE
 ELSE
   !wrong HSUBG_AUCV_RI case
-  CALL ABORT
-  STOP 'wrong HSUBG_AUCV_RI case'
+  CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'ICE4_COMPUTE_PDF', 'wrong HSUBG_AUCV_RI case' )
 ENDIF
 !
 PRF=MAX(PHLC_HCF,PHLI_HCF)
diff --git a/src/MNH/recycling.f90 b/src/MNH/recycling.f90
index 0cbc26c488396235b4978bdc6b409df9c3ba391b..9734eebc00e2f5bc16e8e923bfdc04cba2f120e7 100644
--- a/src/MNH/recycling.f90
+++ b/src/MNH/recycling.f90
@@ -141,16 +141,9 @@ ILUOUT = TLUOUT%NLU
 !
 !Moving averaged parameter verification
 IF (PTCOUNT==1 .AND. INT(XTMOY)/INT(XTMOYCOUNT) /= INT(XNUMBELT)) THEN
-    WRITE(ILUOUT,FMT=*)
-    WRITE(ILUOUT,FMT=*) ' ERROR : XTMOY/XTMOYCOUNT must be equal to XNUMBELT'
-    WRITE(ILUOUT,FMT=*) ' Please change the above parameters accordingly in NAM_RECYCL_PARAMn'
-    WRITE(ILUOUT,FMT=*)
-    WRITE(ILUOUT,FMT=*) '###############'
-    WRITE(ILUOUT,FMT=*) ' MESONH STOP'
-    WRITE(ILUOUT,FMT=*) '###############'
-    WRITE(ILUOUT,FMT=*)
-!callabortstop
-    CALL PRINT_MSG(NVERB_FATAL,'GEN','RECYCLING','XTMOY/XTMOYCOUNT must be equal to XNUMBELT')    
+    CMNHMSG(1) = 'XTMOY/XTMOYCOUNT must be equal to XNUMBELT'
+    CMNHMSG(2) = 'Please change the above parameters accordingly in NAM_RECYCL_PARAMn'
+    CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'RECYCLING' )
 END IF
 
 IF(CCONF == "RESTA" .AND. PTCOUNT == 1 ) THEN