SURFEX v8.1
General documentation of Surfex
dr_hook_util_multi.F90
Go to the documentation of this file.
1 SUBROUTINE dr_hook_util_multi(LDHOOK,CDNAME,KCASE,PKEY,KPKEY,CDFILENAME,KSIZEINFO)
2 USE parkind1 ,ONLY : jpim ,jprb
4 IMPLICIT NONE
5 LOGICAL,INTENT(INOUT) :: LDHOOK
6 CHARACTER(LEN=*),INTENT(IN) :: CDNAME,CDFILENAME
7 INTEGER(KIND=JPIM),INTENT(IN) :: KPKEY, KCASE,KSIZEINFO
8 REAL(KIND=JPRB),INTENT(INOUT) :: PKEY(kpkey)
9 
10 LOGICAL,SAVE :: LL_FIRST_TIME = .true.
11 REAL(KIND=JPRB) :: ZDUMMY
12 INTEGER(KIND=JPIM) :: IMYTID
13 
14 #include "dr_hook_util.h"
15 
16 ! -----------------------------------------------------------------
17 
18 IF (.NOT.ldhook) RETURN
19 IF (ll_first_time) THEN
20  ll_first_time = .false.
21  CALL dr_hook_util(ldhook,'',-1,zdummy,'',-1_jpim)
22 ENDIF
23 
24 !$OMP PARALLEL DO SCHEDULE(STATIC,1)&
25 !$OMP&PRIVATE(IMYTID)
26 DO imytid=1,kpkey
27  IF (kcase == 0) THEN
28  CALL c_drhook_start(cdname, imytid, pkey(imytid), cdfilename, ksizeinfo)
29  ELSE IF (kcase == 1) THEN
30  CALL c_drhook_end (cdname, imytid, pkey(imytid), cdfilename, ksizeinfo)
31  ENDIF
32 ENDDO ! IMYTID=1,KPKEY
33 !$OMP END PARALLEL DO
34 
35 END SUBROUTINE dr_hook_util_multi
integer, parameter jpim
Definition: parkind1.F90:13
integer, parameter jprb
Definition: parkind1.F90:32
integer(kind=jpim) function, public oml_my_thread()
Definition: oml_mod.F90:249
subroutine dr_hook_util_multi(LDHOOK, CDNAME, KCASE, PKEY, KPKEY, CDFILENAME, KSIZEINFO)
subroutine dr_hook_util(LDHOOK, CDNAME, KCASE, PKEY, CDFILENAME, KSIZEINFO)
Definition: dr_hook_util.F90:2
integer(kind=jpim) function, public oml_max_threads()
Definition: oml_mod.F90:256