GCC Code Coverage Report


Directory: ./
File: phy_common/print_control_mod.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 5 15 33.3%
Branches: 0 8 0.0%

Line Branch Exec Source
1 ! $Id: $
2 MODULE print_control_mod
3
4 INTEGER,SAVE :: lunout ! default output file identifier (6==screen)
5 INTEGER,SAVE :: prt_level ! debug output level
6 LOGICAL,SAVE :: debug ! flag to specify if in "debug mode"
7 LOGICAL,SAVE :: alert_first_call = .TRUE. ! for printing alerts on first call to routine only
8 LOGICAL,SAVE :: call_alert ! (combination of is_master and alert_first_call for easier use
9 !$OMP THREADPRIVATE(lunout,prt_level,debug, alert_first_call, call_alert)
10
11 ! NB: Module variable Initializations done by set_print_control
12 ! routine from init_print_control_mod to avoid circular
13 ! module dependencies
14
15 CONTAINS
16
17 1 SUBROUTINE set_print_control(lunout_,prt_level_,debug_)
18 IMPLICIT NONE
19 INTEGER, INTENT(IN) :: lunout_
20 INTEGER, INTENT(IN) :: prt_level_
21 LOGICAL, INTENT(IN) :: debug_
22
23 1 lunout = lunout_
24 1 prt_level = prt_level_
25 1 debug = debug_
26
27 1 END SUBROUTINE set_print_control
28
29 SUBROUTINE prt_alerte(message, modname, niv_alerte)
30 ! Function to print different values of alarms when first encountered
31 ! Meant for informative purposee
32 IMPLICIT NONE
33 ! Arguments:
34 ! message: message to print out
35 ! modname: module/routine name
36 ! niv_alerte: alert level (0/1/2)
37 CHARACTER(LEN=*), INTENT(IN) :: modname
38 CHARACTER(LEN=*) :: message
39 INTEGER :: niv_alerte
40 ! local variables
41 CHARACTER(LEN=7), DIMENSION(0:2) :: alarm_color = (/ 'VERTE ','ORANGE ','ROUGE ' /)
42 CHARACTER(LEN=7) :: alarm_couleur
43 INTEGER :: alarm_file=15 ! in case we want/need to print out the special alarms in a separate file
44
45 IF ( alert_first_call) then
46 IF ( alarm_file .ne. lunout ) THEN
47 OPEN(unit = alarm_file, file = "ALERTES.txt")
48 ENDIF
49 ENDIF
50
51 alarm_couleur = alarm_color(niv_alerte)
52 IF (niv_alerte < 0 .OR. niv_alerte > 3) then
53 message = 'NIVEAU ALERTE INVALIDE '//message
54 alarm_couleur='NOIRE '
55 ENDIF
56
57 WRITE(alarm_file, *)' ALERTE ',alarm_couleur, trim(modname), trim(message)
58
59 END SUBROUTINE prt_alerte
60
61
62 END MODULE print_control_mod
63