1 |
MODULE errioipsl |
2 |
|
3 |
! From errioipsl.f90, v 2.0 2004/04/05 14:47:47 adm Exp $ |
4 |
|
5 |
CONTAINS |
6 |
|
7 |
SUBROUTINE histerr(plev, pcname, pstr1, pstr2, pstr3) |
8 |
|
9 |
!- INPUT |
10 |
!- plev : Category of message to be reported to the user |
11 |
!- 1 = Note to the user |
12 |
!- 2 = Warning to the user |
13 |
!- 3 = Fatal error |
14 |
!- pcname : Name of subroutine which has called histerr |
15 |
!- pstr1 |
16 |
!- pstr2 : String containing the explanations to the user |
17 |
!- pstr3 |
18 |
|
19 |
IMPLICIT NONE |
20 |
|
21 |
INTEGER :: plev |
22 |
CHARACTER(LEN=*), intent(in):: pcname, pstr1, pstr2, pstr3 |
23 |
|
24 |
CHARACTER(LEN=30), DIMENSION(3) :: pemsg = & |
25 |
(/ "NOTE TO THE USER FROM ROUTINE ", & |
26 |
"WARNING FROM ROUTINE ", & |
27 |
"FATAL ERROR FROM ROUTINE " /) |
28 |
|
29 |
!--------------------------------------------------------------------- |
30 |
|
31 |
IF ((plev >= 1).AND.(plev <= 3)) THEN |
32 |
WRITE(*, '(" ")') |
33 |
WRITE(*, '(A, " ", A)') TRIM(pemsg(plev)), TRIM(pcname) |
34 |
WRITE(*, '(" --> ", a)') pstr1 |
35 |
WRITE(*, '(" --> ", a)') pstr2 |
36 |
WRITE(*, '(" --> ", a)') pstr3 |
37 |
ENDIF |
38 |
IF (plev == 3) THEN |
39 |
print *, 'Fatal error from IOIPSL' |
40 |
STOP 1 |
41 |
ENDIF |
42 |
|
43 |
END SUBROUTINE histerr |
44 |
|
45 |
END MODULE errioipsl |