My Project
 All Classes Files Functions Variables Macros
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