LMDZ
vampir.F90
Go to the documentation of this file.
1 module vampir
2 
3  INTEGER,parameter :: vtcaldyn=1
4  INTEGER,parameter :: vtintegre=2
5  INTEGER,parameter :: vtadvection=3
6  INTEGER,parameter :: vtdissipation=4
7  INTEGER,parameter :: vthallo=5
8  INTEGER,parameter :: vtphysiq=6
9  INTEGER,parameter :: vtinca=7
10 
11  INTEGER,parameter :: nb_inst=7
12  INTEGER :: mpe_begin(nb_inst)
13  INTEGER :: mpe_end(nb_inst)
14 
15 contains
16 
17  subroutine initvampir
18  implicit none
19 
20 #ifdef USE_VT
21  include 'VT.inc'
22  integer :: ierr
23 
24  call vtsymdef(vtcaldyn,"caldyn","caldyn",ierr)
25  call vtsymdef(vtintegre,"integre","integre",ierr)
26  call vtsymdef(vtadvection,"advection","advection",ierr)
27  call vtsymdef(vtdissipation,"dissipation","dissipation",ierr)
28  call vtsymdef(vthallo,"hallo","hallo",ierr)
29  call vtsymdef(vtphysiq,"physiq","physiq",ierr)
30  call vtsymdef(vtinca,"inca","inca",ierr)
31 #endif
32 
33 #ifdef USE_MPE
34  include 'mpe_logf.h'
35  integer :: ierr,i
36 
37  DO i=1,nb_inst
38  ierr = mpe_log_get_state_eventids( mpe_begin(i), mpe_end(i) )
39  ENDDO
40 
41  ierr = mpe_describe_state( mpe_begin(vtcaldyn), mpe_end(vtcaldyn),"caldyn", "yellow" )
42  ierr = mpe_describe_state( mpe_begin(vtintegre), mpe_end(vtintegre),"integre", "blue" )
43  ierr = mpe_describe_state( mpe_begin(vtadvection), mpe_end(vtadvection),"advection", "green" )
44  ierr = mpe_describe_state( mpe_begin(vtdissipation), mpe_end(vtdissipation),"dissipation", "ivory" )
45  ierr = mpe_describe_state( mpe_begin(vthallo), mpe_end(vthallo),"hallo", "orange" )
46  ierr = mpe_describe_state( mpe_begin(vtphysiq), mpe_end(vtphysiq),"physiq", "purple" )
47  ierr = mpe_describe_state( mpe_begin(vtinca), mpe_end(vtinca),"inca", "LightBlue" )
48 #endif
49  end subroutine initvampir
50 
51  subroutine vtb(number)
52  implicit none
53  INTEGER :: number
54 #ifdef USE_VT
55  include 'VT.inc'
56  integer :: ierr
57 
58  call vtbegin(number,ierr)
59 #endif
60 #ifdef USE_MPE
61  include 'mpe_logf.h'
62  integer :: ierr,i
63  ierr = mpe_log_event( mpe_begin(number), 0, '' )
64 #endif
65 
66  end subroutine vtb
67 
68  subroutine vte(number)
69  implicit none
70  INTEGER :: Number
71 #ifdef USE_VT
72  include 'VT.inc'
73  integer :: ierr
74 
75  call vtend(number,ierr)
76 #endif
77 
78 #ifdef USE_MPE
79  include 'mpe_logf.h'
80  integer :: ierr,i
81  ierr = mpe_log_event( mpe_end(number), 0, '' )
82 #endif
83 
84  end subroutine vte
85 
86 end module vampir
Definition: vampir.F90:1
integer, parameter nb_inst
Definition: vampir.F90:11
subroutine vtb(number)
Definition: vampir.F90:52
integer, parameter vtinca
Definition: vampir.F90:9
integer, parameter vtintegre
Definition: vampir.F90:4
integer, dimension(nb_inst) mpe_begin
Definition: vampir.F90:12
integer, parameter vtcaldyn
Definition: vampir.F90:3
integer, parameter vthallo
Definition: vampir.F90:7
subroutine vte(number)
Definition: vampir.F90:69
integer, parameter vtadvection
Definition: vampir.F90:5
integer, dimension(nb_inst) mpe_end
Definition: vampir.F90:13
subroutine initvampir
Definition: vampir.F90:18
integer, parameter vtdissipation
Definition: vampir.F90:6
integer, parameter vtphysiq
Definition: vampir.F90:8