Index: branches/UKMO/dev_r5518_GO6_under_ice_relax_dr_hook/NEMOGCM/NEMO/OPA_SRC/TRD/trdtra.F90
===================================================================
--- branches/UKMO/dev_r5518_GO6_under_ice_relax_dr_hook/NEMOGCM/NEMO/OPA_SRC/TRD/trdtra.F90	(revision 11643)
+++ branches/UKMO/dev_r5518_GO6_under_ice_relax_dr_hook/NEMOGCM/NEMO/OPA_SRC/TRD/trdtra.F90	(revision 11738)
@@ -34,4 +34,7 @@
    USE wrk_nemo       ! Memory allocation
 
+   USE yomhook, ONLY: lhook, dr_hook
+   USE parkind1, ONLY: jprb, jpim
+
    IMPLICIT NONE
    PRIVATE
@@ -56,4 +59,12 @@
 
    INTEGER FUNCTION trd_tra_alloc()
+   INTEGER(KIND=jpim), PARAMETER :: zhook_in = 0
+   INTEGER(KIND=jpim), PARAMETER :: zhook_out = 1
+   REAL(KIND=jprb)               :: zhook_handle
+
+   CHARACTER(LEN=*), PARAMETER :: RoutineName='TRD_TRA_ALLOC'
+
+   IF (lhook) CALL dr_hook(RoutineName,zhook_in,zhook_handle)
+
       !!---------------------------------------------------------------------
       !!                  ***  FUNCTION trd_tra_alloc  ***
@@ -63,4 +74,5 @@
       IF( lk_mpp             )   CALL mpp_sum ( trd_tra_alloc )
       IF( trd_tra_alloc /= 0 )   CALL ctl_warn('trd_tra_alloc: failed to allocate arrays')
+   IF (lhook) CALL dr_hook(RoutineName,zhook_out,zhook_handle)
    END FUNCTION trd_tra_alloc
 
@@ -89,4 +101,12 @@
       INTEGER  ::   jk   ! loop indices
       REAL(wp), POINTER, DIMENSION(:,:,:)  ::   zwt, zws, ztrdt, ztrds   ! 3D workspace
+      INTEGER(KIND=jpim), PARAMETER :: zhook_in = 0
+      INTEGER(KIND=jpim), PARAMETER :: zhook_out = 1
+      REAL(KIND=jprb)               :: zhook_handle
+
+      CHARACTER(LEN=*), PARAMETER :: RoutineName='TRD_TRA'
+
+      IF (lhook) CALL dr_hook(RoutineName,zhook_in,zhook_handle)
+
       !!----------------------------------------------------------------------
       !
@@ -202,4 +222,5 @@
       CALL wrk_dealloc( jpi, jpj, jpk, ztrds )
       !
+      IF (lhook) CALL dr_hook(RoutineName,zhook_out,zhook_handle)
    END SUBROUTINE trd_tra
 
@@ -225,4 +246,12 @@
       INTEGER  ::   ji, jj, jk   ! dummy loop indices
       INTEGER  ::   ii, ij, ik   ! index shift as function of the direction
+      INTEGER(KIND=jpim), PARAMETER :: zhook_in = 0
+      INTEGER(KIND=jpim), PARAMETER :: zhook_out = 1
+      REAL(KIND=jprb)               :: zhook_handle
+
+      CHARACTER(LEN=*), PARAMETER :: RoutineName='TRD_TRA_ADV'
+
+      IF (lhook) CALL dr_hook(RoutineName,zhook_in,zhook_handle)
+
       !!----------------------------------------------------------------------
       !
@@ -248,4 +277,5 @@
       END DO
       !
+      IF (lhook) CALL dr_hook(RoutineName,zhook_out,zhook_handle)
    END SUBROUTINE trd_tra_adv
 
@@ -263,4 +293,12 @@
       INTEGER                   , INTENT(in   ) ::   ktrd    ! tracer trend index
       INTEGER                   , INTENT(in   ) ::   kt      ! time step
+      INTEGER(KIND=jpim), PARAMETER :: zhook_in = 0
+      INTEGER(KIND=jpim), PARAMETER :: zhook_out = 1
+      REAL(KIND=jprb)               :: zhook_handle
+
+      CHARACTER(LEN=*), PARAMETER :: RoutineName='TRD_TRA_MNG'
+
+      IF (lhook) CALL dr_hook(RoutineName,zhook_in,zhook_handle)
+
       !!----------------------------------------------------------------------
 
@@ -314,4 +352,5 @@
       ENDIF
       !
+      IF (lhook) CALL dr_hook(RoutineName,zhook_out,zhook_handle)
    END SUBROUTINE trd_tra_mng
 
@@ -331,4 +370,12 @@
      INTEGER ::   ikbu, ikbv   ! local integers
      REAL(wp), POINTER, DIMENSION(:,:)   ::   z2dx, z2dy   ! 2D workspace 
+     INTEGER(KIND=jpim), PARAMETER :: zhook_in = 0
+     INTEGER(KIND=jpim), PARAMETER :: zhook_out = 1
+     REAL(KIND=jprb)               :: zhook_handle
+
+     CHARACTER(LEN=*), PARAMETER :: RoutineName='TRD_TRA_IOM'
+
+     IF (lhook) CALL dr_hook(RoutineName,zhook_in,zhook_handle)
+
      !!----------------------------------------------------------------------
      !
@@ -389,4 +436,5 @@
      END IF
      !
+     IF (lhook) CALL dr_hook(RoutineName,zhook_out,zhook_handle)
    END SUBROUTINE trd_tra_iom
 
