29 #include "dimensions.h" 
   57         stop 
'start_timer :: timer is already running or suspended' 
   75         stop 
'suspend_timer :: timer is not running' 
   92         stop 
'resume_timer :: timer is not suspended' 
  112         stop 
'stop_timer :: timer is not running' 
  145     real, 
allocatable,
dimension(:,:) :: tmp_table
 
  158       call mpi_allgather(tmp_table(1,1),data_size,mpi_real_lmdz,
timer_table(1,1,0),data_size,mpi_real_lmdz,comm_lmdz,ierr)
 
  162       call mpi_allgather(tmp_table(1,1),data_size,mpi_real_lmdz,
timer_table_sqr(1,1,0),data_size,mpi_real_lmdz,comm_lmdz,ierr)
 
  164       deallocate(tmp_table)
 
  180     real, 
allocatable,
dimension(:,:),
target :: tmp_table
 
  181     integer, 
allocatable,
dimension(:,:),
target :: tmp_iter
 
  195       call mpi_allgather(tmp_table(1,1),data_size,mpi_real_lmdz,
timer_average(1,1,0),data_size,mpi_real_lmdz,comm_lmdz,ierr)
 
  199       call mpi_allgather(tmp_table(1,1),data_size,mpi_real_lmdz,
timer_delta(1,1,0),data_size,mpi_real_lmdz,comm_lmdz,ierr)
 
  203       call mpi_allgather(tmp_iter(1,1),data_size,mpi_integer,
timer_iteration(1,1,0),data_size,mpi_integer,comm_lmdz,ierr)
 
  205       deallocate(tmp_table)
 
  214     integer :: count,count_rate,count_max
 
  218       call system_clock(count,count_rate,count_max)
 
  226     double precision :: DiffTime
 
  227     integer :: count,count_rate,count_max
 
  229     call system_clock(count,count_rate,count_max)
 
  233       difftime=(1.*(count-
last_count+count_max))/count_rate
 
real, dimension(:), allocatable last_time
 
integer, parameter timer_physic
 
integer, parameter suspended
 
subroutine stop_timer(no_timer)
 
real, dimension(:), allocatable timer_running
 
double precision function difftime()
 
real, dimension(:,:,:), allocatable timer_average
 
integer, save, private last_count
 
integer, parameter timer_caldyn
 
subroutine resume_timer(no_timer)
 
subroutine allgather_timer_average
 
real, dimension(:,:,:), allocatable timer_table
 
integer, dimension(:,:,:), allocatable timer_iteration
 
integer, parameter timer_dissip
 
logical, save, private alltimer_isactive
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
 
real, dimension(:,:,:), allocatable timer_delta
 
integer, parameter stopped
 
integer, parameter running
 
real, dimension(:,:,:), allocatable timer_table_sqr
 
real function diffcputime()
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
 
subroutine allgather_timer
 
real, save, private last_cpucount
 
subroutine suspend_timer(no_timer)
 
subroutine start_timer(no_timer)
 
integer, dimension(:), allocatable timer_state
 
integer, parameter nb_timer
 
integer, parameter timer_vanleer