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